LINUX.ORG.RU
ФорумAdmin

Как отловить падение PPPoE ?


0

0

Доброго времени суток господа!

Есть у меня сеть, состоящая из филиалов c ADSL по верх которого брошен OpenVPN

Основная беда, в том, что при кратковременном падении ppp - ОпенВПН остаётся висеть, но при этом перестаёт пропускать через себя траффик.

Это длиться до ребута, или рестарта OpenVPN. После чего всё заного начинает бегать и радоваться.

чтоб OpenVPN заводился поверх ppp я сделал простой скрипт.

/etc/ppp/ip-up.d/routing

#! /bin/sh
#Определяем выданный шлюз по умолчанию у меня он всегда разный но в сети 222.х.х.х
gw1=`ip route show | grep 222 | awk '{print $1}'`
# Удаляем 0.0.0.0 0.0.0.0
route del default
# Добавляем маршрут с верным шлюзом
route add -net default gw ${gw1} dev ppp0
Делаем его исполняемым
chmod ug+x /etc/ppp/ip-up.d/routing

Пытался, в этот скрипт добавить

/etc/init.d/openvpn restart

Но по результату поднимаются 2 ОпенВПНа tun0 и tun1 и нифига вообще не работает.

Попробуй не демонизированным ppp воспользоваться (ключ -nodetach). После такой команды можешь вставить обработчик падения ppp.

Quasar ★★★★★
()

Keepalive покрути прежде чем костыли приделывать.

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

Я так, кстати, автореконнект к интернету делал у себя.

Quasar ★★★★★
()

Посмотри опции ping и ping-restart у openvpn, по идее туннель должен будет сам перезапуститься если пинги долго не будут идти.

Но по результату поднимаются 2 ОпенВПНа tun0 и tun1 и нифига вообще не работает.

Попробуй прописать dev tun0 в конфиг openvpn.
Кстати посмотри, убивается ли после рестарта openvpn старый процесс или их две штуки висит?

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

Дело в том, что если ОпенВПН работает без заруливания, то всё хорошо обрыв отлавливается самим опенВПНом, но вот режиме....

Вот конфиг сервера.

port 1194 #Порт
proto udp #Протокол
dev tun #Название виртуального устройства
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key # This file should be kept secret
dh /etc/openvpn/dh1024.pem
server 10.10.10.0 255.255.255.0 # vpn subnet
ifconfig-pool-persist ipp.txt # Тут будут храниться ip адреса клиентов
push "route 192.168.5.0 255.255.255.0" # home
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log-append openvpn.log
verb 4
mute 20
client-to-client
client-config-dir /etc/openvpn/ccd # Тут будут настройки для каждого филиала
route 192.168.0.0 255.255.255.0 # Маршрут от сервера до филиала 1
route 192.168.1.0 255.255.255.0 # Маршрут от сервера до филиала 2

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

всячески пытаюсь тестировать. делаю обрыв ppp он сам поднимается, ОпенВПН подставы не успел заметить.

пинги не ходят канал поднят.

иду в лог Вижу бесчисленные попытки рестарта.

 
Aug  6 15:50:00 hostname ovpn-client[4431]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity) 
Aug  6 15:50:00 hostname ovpn-client[4431]: TLS Error: TLS handshake failed 
Aug  6 15:50:00 hostname ovpn-client[4431]: TCP/UDP: Closing socket 
Aug  6 15:50:00 hostname ovpn-client[4431]: SIGUSR1[soft,tls-error] received, process restarting 
Aug  6 15:50:00 hostname ovpn-client[4431]: Restart pause, 2 second(s) 
Aug  6 15:50:02 hostname ovpn-client[4431]: WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info. 
Aug  6 15:50:02 hostname ovpn-client[4431]: Re-using SSL/TLS context 
Aug  6 15:50:02 hostname ovpn-client[4431]: LZO compression initialized 
Aug  6 15:50:02 hostname ovpn-client[4431]: Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ] 
Aug  6 15:50:02 hostname ovpn-client[4431]: Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ] 
Aug  6 15:50:02 hostname ovpn-client[4431]: Local Options String: 'V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-client' 
Aug  6 15:50:02 hostname ovpn-client[4431]: Expected Remote Options String: 'V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-server' 
Aug  6 15:50:02 hostname ovpn-client[4431]: Local Options hash (VER=V4): '41690919' 
Aug  6 15:50:02 hostname ovpn-client[4431]: Expected Remote Options hash (VER=V4): '530fdded' 
Aug  6 15:50:02 hostname ovpn-client[4431]: Socket Buffers: R=[111616->131072] S=[111616->131072] 
Aug  6 15:50:02 hostname ovpn-client[4431]: UDPv4 link local: [undef] 
Aug  6 15:50:02 hostname ovpn-client[4431]: UDPv4 link remote: 111.111.111.99:1194 
Aug  6 15:50:12 hostname squid[4256]: TCP connection to 111.111.111.99/3128 failed 
Aug  6 15:50:44 hostname last message repeated 2 times 
Aug  6 15:51:02 hostname ovpn-client[4431]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity) 
Aug  6 15:51:02 hostname ovpn-client[4431]: TLS Error: TLS handshake failed 
Aug  6 15:51:02 hostname ovpn-client[4431]: TCP/UDP: Closing socket 
Aug  6 15:51:02 hostname ovpn-client[4431]: SIGUSR1[soft,tls-error] received, process restarting 
Aug  6 15:51:02 hostname ovpn-client[4431]: Restart pause, 2 second(s) 
Aug  6 15:51:04 hostname ovpn-client[4431]: WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info. 
Aug  6 15:51:04 hostname ovpn-client[4431]: Re-using SSL/TLS context 
Aug  6 15:51:04 hostname ovpn-client[4431]: LZO compression initialized 
Aug  6 15:51:04 hostname ovpn-client[4431]: Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ] 
Aug  6 15:51:04 hostname ovpn-client[4431]: Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ] 
Aug  6 15:51:04 hostname ovpn-client[4431]: Local Options String: 'V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-client' 
Aug  6 15:51:04 hostname ovpn-client[4431]: Expected Remote Options String: 'V4,dev-type tun,link-mtu 1542,tun-mtu 1500,proto UDPv4,comp-lzo,cipher BF-CBC,auth SHA1,keysize 128,key-method 2,tls-server' 
Aug  6 15:51:04 hostname ovpn-client[4431]: Local Options hash (VER=V4): '41690919' 
Aug  6 15:51:04 hostname ovpn-client[4431]: Expected Remote Options hash (VER=V4): '530fdded' 
Aug  6 15:51:04 hostname ovpn-client[4431]: Socket Buffers: R=[111616->131072] S=[111616->131072] 
Aug  6 15:51:04 hostname ovpn-client[4431]: UDPv4 link local: [undef] 
Aug  6 15:51:04 hostname ovpn-client[4431]: UDPv4 link remote: 111.111.111.99:1194 

И не работает пока в консоли напишу сервису рестарт.

Почему так?

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

Наврятли, похоже надо скрипт писать, котоырй будет пинговать инет, и как тот не ответит - перезапускать опенвпн.

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