LINUX.ORG.RU

Сообщения Sanekk

 

Парсинг и обработка файлов конфигов средствами BASH

Имеются файлы конфигов OpenVpn, содержащие в себе такие строки:

  • <connection>
  • remote 192.168.255.1 1191
  • proto tcp
  • socks-proxy-retry
  • socks-proxy 127.0.0.1 1080
  • </connection>
  • <connection>
  • remote 192.168.254.1 1191
  • proto tcp
  • socks-proxy-retry
  • socks-proxy 127.0.0.1 1080
  • </connection>
  • <connection>
  • remote 192.168.245.1 1191
  • proto tcp
  • socks-proxy-retry
  • socks-proxy 127.0.0.1 1080
  • </connection>

Стоит задача автоматически добавить или удалить блок <connection> ... </connection> с заданным адресом. Добавление блока реализовал без проблем, но застопорился на удалении блока... С помощью sed -n «/connection/,/\/connection/p» /etc/openvpn/client/clientsconfig/$client_name я могу выделить все блоки - подскажите, как отфильтровать нужный блок (допустим, содержащий адрес 192.168.254.1) из выше приведенного списка ну и удалить его?

 , ,

Sanekk
()

Разруливание сети через SoftEther VPN

Подскажите, уважаемые гуру, есть-ли возможность при старте сервера, при подключении-отключении клиентов запускать пользовательские скрипты, как реализовано в OpenVpn?

Поясню для чего мне это надо (а может и другим поможет):
стартанул сервер - прописываю в маршруты сеть 10.0.0.0/16: серверу присваивается адрес 10.0.0.1/16, а клиентам 10.0.0.XXX/24, т.к. у каждого клиента есть своя собственная подсеть, адресация которой в зависимости от присвоенного адреса. Допустим клиенту присвоился адрес 10.0.0.6/24, значит его подсеть будет 10.0.6.0/24
При коннекте клиента (на компе с клиентом) средствами самого ВПНа дергается скрипт, который на основании полученного адреса на «раздающем» интерфейсе ставит 10.0.6.1/24 и соответственно настраивает и запускает DHCP-сервер со всеми правилами фаервола и маршрутизации. А так-же на сервере прописывается маршрут для подсети клиента.
При дисконнекте клиента, на сервере удаляется маршрут для подсети клиента
На сервере подключения и отключения клиентов, а так-же их адреса заносятся в БД

За это отвечают (если кто не знал) на сервере параметры конфига up (старт); down (стоп); client-connect (клиент подключился); client-disconnect (клиент отключился). На клиенте использую up (старт); down (стоп)… И как-бы эта система прекрасно работает уже не один год и обслуживает не одну сотню клиентов, но в последнее время многие провайдеры интернета режут ВПН, по этому приходится извращаться и заворачивать туннель во всяческие SOCKS-ы с вытекающими ограничениями и потерями скорости и качества коннектов.

Вот смотрю в сторону SoftEther VPN, но уперся в малоизученные его возможности - может кто подскажет, возможно-ли на SoftEther реализовать что-то подобное?

 ,

Sanekk
()

RSS подписка на новые темы