OpenVPN удаление маршрутов при падении туннеля
-
Есть pfsense который поднимает openvpn туннель
когда туннель поднят прописываются маршруты, но когда происходит обрыв связи и пока идет реконнект маршруты не удаляются.
Маршруты удаляются если перезапустить сервис OpenVPN
Как сделать штатными средствами, чтобы происходило удаление маршрутов от туннеля при его падении ?я так понимаю в сенсе воткнута опция
–persist-tun
Don't close and reopen TUN/TAP device or run up/down scripts across SIGUSR1 or --ping-restart restarts.как её удалить ? Или что добавить, чтобы происходил полный рестарт openVPN
-
но когда происходит обрыв связи и пока идет реконнект маршруты не удаляются.
Можно листинг маршрутов ДО и ПОСЛЕ падения туннеля ?
-
дык нет там изменений в маршрутах.
сейчас не могу ибо как раз лежит вторая точка. но в пн. выложу.
вот как пример поведение openvpn на винде
запустил туннель,
запустил пинг,
сделал route print -4 >>norm.txt=========================================================================== Список интерфейсов 47...00 ff 40 a4 72 57 ......TAP-Windows Adapter V9 19...d8 50 e6 4c a9 c6 ......Realtek PCIe GBE Family Controller #2 50...08 00 27 00 5c 01 ......VirtualBox Host-Only Ethernet Adapter 1...........................Software Loopback Interface 1 3...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP 29...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP #3 43...00 00 00 00 00 00 00 e0 Адаптер Microsoft ISATAP #4 =========================================================================== IPv4 таблица маршрута =========================================================================== Активные маршруты: Сетевой адрес Маска сети Адрес шлюза Интерфейс Метрика 0.0.0.0 0.0.0.0 192.168.5.1 192.168.5.200 266 10.0.9.1 255.255.255.255 10.0.9.5 10.0.9.6 31 10.0.9.4 255.255.255.252 On-link 10.0.9.6 286 10.0.9.6 255.255.255.255 On-link 10.0.9.6 286 10.0.9.7 255.255.255.255 On-link 10.0.9.6 286 127.0.0.0 255.0.0.0 On-link 127.0.0.1 306 127.0.0.1 255.255.255.255 On-link 127.0.0.1 306 127.255.255.255 255.255.255.255 On-link 127.0.0.1 306 192.168.1.0 255.255.255.0 10.0.9.5 10.0.9.6 31 192.168.5.0 255.255.255.0 On-link 192.168.5.200 266 192.168.5.200 255.255.255.255 On-link 192.168.5.200 266 192.168.5.255 255.255.255.255 On-link 192.168.5.200 266 192.168.6.0 255.255.255.0 10.0.9.5 10.0.9.6 31 192.168.56.0 255.255.255.0 On-link 192.168.56.1 276 192.168.56.1 255.255.255.255 On-link 192.168.56.1 276 192.168.56.255 255.255.255.255 On-link 192.168.56.1 276 224.0.0.0 240.0.0.0 On-link 127.0.0.1 306 224.0.0.0 240.0.0.0 On-link 192.168.56.1 276 224.0.0.0 240.0.0.0 On-link 192.168.5.200 266 224.0.0.0 240.0.0.0 On-link 10.0.9.6 286 255.255.255.255 255.255.255.255 On-link 127.0.0.1 306 255.255.255.255 255.255.255.255 On-link 192.168.56.1 276 255.255.255.255 255.255.255.255 On-link 192.168.5.200 266 255.255.255.255 255.255.255.255 On-link 10.0.9.6 286 =========================================================================== Постоянные маршруты: Сетевой адрес Маска Адрес шлюза Метрика 0.0.0.0 0.0.0.0 192.168.5.1 По умолчанию ===========================================================================
заблокировал на pfsense, убедился что пинг идти перестал, а openvpn стал передергивать туннель
Sun Aug 24 13:39:27 2014 [UNDEF] Inactivity timeout (--ping-restart), restarting Sun Aug 24 13:39:27 2014 SIGUSR1[soft,ping-restart] received, process restarting Sun Aug 24 13:39:27 2014 MANAGEMENT: >STATE:1408858767,RECONNECTING,ping-restart,
сделал route print -4 >>fail.txt
делаем fc fail.txt norm.txt
получаем
Сравнение файлов fail.txt и NORM.TXT
FC: различия не найдены -
Листинги конфигов pfsense OpenVPN-сервера и OpenVPN-клиента можно глянуть ?
-
вот листинг конфига с сервера ovpn поднятого на pfsense. Все настройки делались через GUI
dev ovpns1 dev-type tun tun-ipv6 dev-node /dev/tun1 writepid /var/run/openvpn_server1.pid #user nobody #group nobody script-security 3 daemon keepalive 10 60 ping-timer-rem persist-tun persist-key proto udp cipher BF-CBC up /usr/local/sbin/ovpn-linkup down /usr/local/sbin/ovpn-linkdown local 5.8.6.9 engine cryptodev tls-server server 10.0.13.0 255.255.255.0 client-config-dir /var/etc/openvpn-csc tls-verify /var/etc/openvpn/server1.tls-verify.php lport 1194 management /var/etc/openvpn/server1.sock unix push "route 10.0.5.0 255.255.255.0" push "redirect-gateway def1" ca /var/etc/openvpn/server1.ca cert /var/etc/openvpn/server1.cert key /var/etc/openvpn/server1.key dh /etc/dh-parameters.1024
ну клиент сильно похож
вот так с клиента (pfsense) выглядитdev ovpnc1 dev-type tun tun-ipv6 dev-node /dev/tun1 writepid /var/run/openvpn_client1.pid #user nobody #group nobody script-security 3 daemon keepalive 10 60 ping-timer-rem persist-tun persist-key proto udp cipher BF-CBC up /usr/local/sbin/ovpn-linkup down /usr/local/sbin/ovpn-linkdown local 192.168.1.249 tls-client client lport 0 management /var/etc/openvpn/client1.sock unix remote 5.8.6.9 1194 ifconfig 10.0.13.2 10.0.13.1 ca /var/etc/openvpn/client1.ca cert /var/etc/openvpn/client1.cert key /var/etc/openvpn/client1.key
-
1. У вас он в режиме p2p работает. Попробуйте сменить на клиент-серверный вариант.
2.push "redirect-gateway def1"
Эта директива заворачивает ВЕСЬ трафик в туннель. Вам именно такой вариант необходим ?
-
да там аналогично всё выглядит. Всё упирается в опцию "persist-tun" как я понял по https://forums.openvpn.net/topic8539.html
вот пример с клиент-серверного вариантаdev ovpns1 dev-type tun tun-ipv6 dev-node /dev/tun1 writepid /var/run/openvpn_server1.pid #user nobody #group nobody script-security 3 daemon keepalive 10 60 ping-timer-rem persist-tun persist-key proto udp cipher BF-CBC up /usr/local/sbin/ovpn-linkup down /usr/local/sbin/ovpn-linkdown local 9.9.2.2 tls-server server 10.0.9.0 255.255.255.0 client-config-dir /var/etc/openvpn-csc tls-verify /var/etc/openvpn/server1.tls-verify.php lport 1194 management /var/etc/openvpn/server1.sock unix push "route 192.168.6.0 255.255.255.0" push "dhcp-option DNS 192.168.1.251" ca /var/etc/openvpn/server1.ca cert /var/etc/openvpn/server1.cert key /var/etc/openvpn/server1.key dh /etc/dh-parameters.1024 crl-verify /var/etc/openvpn/server1.crl-verify comp-lzo push "route 192.168.1.0 255.255.255.0"
2. а как мне по другому завернуть трафик от сквида на этом сенсе в туннель ?