LINUX.ORG.RU
решено ФорумAdmin

openvpn. Действие в случае разрыва

 ,


0

1

Добрый день. Ситуация следующая:

Имеется удаленный vpn сервер и клиент, который через интернет к этому серверу подцепляется. Работает все исправно, но проблема (для меня) возникает при коротком разрыве связи. например, если впн сервер уходит в ребут или еще по какой причине отказывает в соединении клиенту. В эти короткие промежутки останова впн сервера, клиент исправно продолжает пытаться подключиться к впн, но пока он не подключился, он возвращает настройки маршрутизации на изначальные. В итоге, пока впн не доступен, весь трафик идет напрямую через провайдера (кошмар!:))

выглядит это так:

connection reset #впн ушел в ребут
/sbin/route del -net 172.16.0.0 # убираем роутинг с впн
/sbin/route add -net 0.0.0.0 gw 192.168.1.1 # Возвращаем маршрутизацию на шлюз, к провайдеру.
TCP: connect #пытаемся подключится
conection established #подключились
/sbin/route del -net 0.0.0.0 # убрали настройки маршрутизации к провайдеру
/sbin/route add -net 0.0.0.0 172.16.0.0 # вернули маршрутизацию через впн.
Ну это утрировано, конечно, но как то так... Как мне заставить клиента не трогать route, если связь оборвалась? Я полагаю, можно просто в конфиге не указывать настройки маршрутизации, тогда он вообще не будет ее менять и мне нужно будет при каждом подключении делать ее в ручную. Но это надо делать при каждом подключении... Я же хочу, чтобы при подключении он все делал сам (как и есть), а в случае отключения от впн - не прикасался к маршрутизации.

Может, есть у впн какой post-down или еще чего... в мане не нашел ничего интересного. Надеюсь, понятно объяснил суть задачи :)

конфиг клиента

remote 568.412.698.999 65538
client
dev tun
ping 10
comp-lzo
proto tcp
tls-client
ns-cert-type server
push "dhcp-option DNS 8.8.8.8"
route 172.16.0.0 255.255.255.0
verb 3
pull


--down cmd
    Shell command to run after TUN/TAP device close (post --user UID change and/or --chroot ). Called with the same parameters and environmental variables as the --up option above. 

но не уверен, что поможет в твоем случае

xtraeft ★★☆☆
()
Ответ на: комментарий от xtraeft

Да, я этот вариант пробовал... но он все равно, сначала роутинг восстановит, потом через 0.5 сек выполняет мою команду... так что все равно остается шанс, что парочка байтов успеют завернуть туда, куда я не хочу их посылать :)

lirvux
() автор топика
Ответ на: комментарий от lirvux

можешь сделать такой костыль - удали дефолтный роут на клиенте и оставь только до опенвпн-сервера

xtraeft ★★☆☆
()

а в андроиде есть галочка, «Block internet while VPN is paused or reconnecting»

Seamless Tunnel называется.

ukr_unix_user ★★★★
()
Ответ на: комментарий от sergej

да, похоже persist-run - то что надо. большое спасибо

lirvux
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.