LINUX.ORG.RU

openvpn обрыв канала связи

 


1

1

ОС: debian. OpenVpn клиент. Не поднимает соединение после разрыва сети. config:

client
dev tun
proto udp
remote serkruale.hldns.ru 1194
resolv-retry infinite
;connect-retry 10
;float
nobind
persist-key
persist-tun
auth SHA1
cipher BF-CBC
comp-lzo adaptive
ping-restart 60
log /var/log/openvpn-client.log
status /var/log/openvpn-status.log
nice 0
verb 5
mute 10

ping-restart не помогает. connect-retry жалуется на proto udp. Что еще прописать в конфиге, чтобы переподключал соединение после обрыва канала связи ?



Последнее исправление: serkruale (всего исправлений: 1)

Для помещения конфигов и выводов команд используй тег [code][/code]
Пример:

echo Hello Wold!
Ссылка на разметку указана внизу формы помещения сообщения на форум, чуть выше кнопок «поместить» и «предпросмотр», открой и почитай, после чего отредактируй сообщение.

kostik87 ★★★★★
()

Может попробовать proto tcp?

IPR ★★★★★
()

Можно ведь набросать простенький скрипт. Что-то вроде такого.

#!/bin/bash

HOST=ya.ru
ms=$[`ping -c 3 -b $HOST | grep rtt | cut -d"/" -f5 | cut -d"." -f1 `]
L=3000

test="$(curl -Is $HOST | grep "Location"  | cut -d ' ' -f2 | awk '{print length}' )"     # находим длину строки с помощью awk
valid=15          #       https://ya.ru/      - это 15 символов, включая пробел


if [ "$ms" -lt "$L" ] && [ "$ms" -ne 0 ] && [[ "$test" -eq "$valid" ]];
  then 
    echo -e " «Connected»   HOST       ms "     >> /tmp/zaborona.log
    echo -e "               "$HOST"      "$ms"  "  >> /tmp/zaborona.log
 else
     echo 'nameserver 127.0.0.1' > /etc/resolv.conf
                 service dnsmasq restart >/dev/null 2>/dev/null

    while [ "$(pidof dnscrypt-proxy > /dev/null; echo $?)" -eq 0 ]; do kill `pidof dnscrypt-proxy` >/dev/null 2>/dev/null; done
     echo -e "                                  «Restart dnscrypt-proxy» `date '+%d-%B-%Y  %H-%M'` " >> /tmp/zaborona.log
       dnscrypt-proxy -d -R cs-ch -a 127.0.0.1:5353 >/dev/null 2>/dev/null

    while [ "$(pidof openvpn > /dev/null; echo $?)" -eq 0 ]; do kill `pidof openvpn` >/dev/null 2>/dev/null; done
     echo -e "                                  «Restart OpenVPN» `date '+%d-%B-%Y  %H-%M'` " >> /tmp/zaborona.log
       screen -dmS zaborona /usr/sbin/openvpn --config /home/user/zaborona/zaborona-help.ovpn 
fi

Только исправь под свои потребности.

sin-ok
()
Ответ на: комментарий от kostik87

connect-retry сработал, но соединение после обрыва не поднимает

serkruale
() автор топика
Ответ на: комментарий от sin-ok

Смотрю в сторону написания подобного скрипта. Но здесь есть тоже грабли: если сетевое соединение упало, то openvpn блокирует весь трафик в инет, чтобы он не ушел по незащищенному каналу. Если только вообще гасить openvpn, пинговать яндекс, и при удаче запускать снова.

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

имеет ли openvpn какие-нибудь встроенные стредства подъема соединения после обрыва и возобновления канала ?

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

Какие именно соединения? Ты хочешь чтобы например ssh прицепленный к серверу внутри виртуальной сети после восстановления впн продолжал работать как будто впн не падал? Переключи впн на tcp.

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

Допустим openvpn соединился. Потом оборвался канал связи (wifi например пропал) потом wifi подключился, а vpn сам не поднимается. Только service openvpn restart помогает. Но хотелось бы не руками его поднимать

serkruale
() автор топика

И да, попробуй воспроизвести на tcp, есть вероятность, что это происходит из-за ната между тобой и впн-сервером.

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

У 2.4.0 (как раз случай дебиана) непофикшеный баг, из-за которого openvpn@udp может не переподняться.

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

keepalive, ping, ping-restart не помогают. openvpn клиент перезагружается, но прицепиться к серверу уже не может. Только если вручную его рестартнуть

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

Options error: --connect-retry doesn't make sense unless also used with --proto tcp-client or tcp6-client

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

Запусти в интерактивном режиме с обеих сторон, порви коннект и посмотри выхлоп, ну и нам покажи - а то не видно, в чем проблема.

pekmop1024 ★★★★★
()
Ответ на: комментарий от pekmop1024
pi@raspberrypi:~ $ sudo openvpn --config /etc/openvpn/client.conf
Sun Sep 17 23:37:13 2017 us=142518 Current Parameter Settings:
Sun Sep 17 23:37:13 2017 us=142910   config = '/etc/openvpn/client.conf'
Sun Sep 17 23:37:13 2017 us=143024   mode = 0
Sun Sep 17 23:37:13 2017 us=143179   persist_config = DISABLED
Sun Sep 17 23:37:13 2017 us=143299   persist_mode = 1
Sun Sep 17 23:37:13 2017 us=143415   show_ciphers = DISABLED
Sun Sep 17 23:37:13 2017 us=143530   show_digests = DISABLED
Sun Sep 17 23:37:13 2017 us=143648   show_engines = DISABLED
Sun Sep 17 23:37:13 2017 us=143763   genkey = DISABLED
Sun Sep 17 23:37:13 2017 us=143867   key_pass_file = '[UNDEF]'
Sun Sep 17 23:37:13 2017 us=143971 NOTE: --mute triggered...
Sun Sep 17 23:37:13 2017 us=144159 265 variation(s) on previous 10 message(s) suppressed by --mute
Sun Sep 17 23:37:13 2017 us=144272 OpenVPN 2.3.4 arm-unknown-linux-gnueabihf [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jun 27 2017
Sun Sep 17 23:37:13 2017 us=144414 library versions: OpenSSL 1.0.1t  3 May 2016, LZO 2.08
Sun Sep 17 23:37:13 2017 us=145008 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Sun Sep 17 23:37:13 2017 us=148203 LZO compression initialized
Sun Sep 17 23:37:13 2017 us=148681 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Sun Sep 17 23:37:13 2017 us=148967 Socket Buffers: R=[163840->131072] S=[163840->131072]
Sun Sep 17 23:37:13 2017 us=149194 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Sun Sep 17 23:37:13 2017 us=149363 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'
Sun Sep 17 23:37:13 2017 us=149470 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'
Sun Sep 17 23:37:13 2017 us=149653 Local Options hash (VER=V4): '41690919'
Sun Sep 17 23:37:13 2017 us=149803 Expected Remote Options hash (VER=V4): '530fdded'
Sun Sep 17 23:37:13 2017 us=149950 UDPv4 link local: [undef]
Sun Sep 17 23:37:13 2017 us=150094 UDPv4 link remote: [AF_INET]192.168.1.1:1194
Sun Sep 17 23:37:13 2017 us=157285 TLS: Initial packet from [AF_INET]192.168.1.1:1194, sid=8c3b6442 57464541
Sun Sep 17 23:37:13 2017 us=299715 VERIFY OK: depth=1, CN=OpenVPN CA
Sun Sep 17 23:37:13 2017 us=301325 VERIFY OK: depth=0, CN=OpenVPN Server
Sun Sep 17 23:37:13 2017 us=536073 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sun Sep 17 23:37:13 2017 us=536218 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sun Sep 17 23:37:13 2017 us=536387 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Sun Sep 17 23:37:13 2017 us=536450 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Sun Sep 17 23:37:13 2017 us=536645 Control Channel: TLSv1, cipher TLSv1/SSLv3 ECDHE-RSA-AES256-SHA, 1024 bit RSA
Sun Sep 17 23:37:13 2017 us=536741 [OpenVPN Server] Peer Connection Initiated with [AF_INET]192.168.1.1:1194
Sun Sep 17 23:37:15 2017 us=727357 SENT CONTROL [OpenVPN Server]: 'PUSH_REQUEST' (status=1)
Sun Sep 17 23:37:15 2017 us=735047 PUSH: Received control message: 'PUSH_REPLY,route 192.168.1.0 255.255.255.0,comp-lzo adaptive,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 192.168.1.1,route-gateway 10.8.0.1,topology subnet,ping 10,ping-restart 60,ifconfig 10.8.0.2 255.255.255.0'
Sun Sep 17 23:37:15 2017 us=735477 OPTIONS IMPORT: timers and/or timeouts modified
Sun Sep 17 23:37:15 2017 us=735593 OPTIONS IMPORT: LZO parms modified
Sun Sep 17 23:37:15 2017 us=735693 OPTIONS IMPORT: --ifconfig/up options modified
Sun Sep 17 23:37:15 2017 us=735804 OPTIONS IMPORT: route options modified
Sun Sep 17 23:37:15 2017 us=735899 OPTIONS IMPORT: route-related options modified
Sun Sep 17 23:37:15 2017 us=736011 OPTIONS IMPORT: --ip-win32 and/or --dhcp-option options modified
Sun Sep 17 23:37:15 2017 us=736709 ROUTE_GATEWAY 192.168.1.1/255.255.255.0 IFACE=wlan0 HWADDR=b8:27:eb:3e:96:49
Sun Sep 17 23:37:15 2017 us=740438 TUN/TAP device tun0 opened
Sun Sep 17 23:37:15 2017 us=740695 TUN/TAP TX queue length set to 100
Sun Sep 17 23:37:15 2017 us=740914 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Sun Sep 17 23:37:15 2017 us=741134 /sbin/ip link set dev tun0 up mtu 1500
Sun Sep 17 23:37:15 2017 us=748696 /sbin/ip addr add dev tun0 10.8.0.2/24 broadcast 10.8.0.255
Sun Sep 17 23:37:15 2017 us=757418 /sbin/ip route add 192.168.1.1/32 via 192.168.1.1
Sun Sep 17 23:37:15 2017 us=763602 /sbin/ip route add 0.0.0.0/1 via 10.8.0.1
Sun Sep 17 23:37:15 2017 us=773010 /sbin/ip route add 128.0.0.0/1 via 10.8.0.1
Sun Sep 17 23:37:15 2017 us=780260 /sbin/ip route add 192.168.1.0/24 via 10.8.0.1
Sun Sep 17 23:37:15 2017 us=79918
4 Initialization Sequence Completed

соединился

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

после обрыва и возобновления сети

Sun Sep 17 23:39:05 2017 us=51 [OpenVPN Server] Inactivity timeout (--ping-restart), restarting
Sun Sep 17 23:39:05 2017 us=628 TCP/UDP: Closing socket
Sun Sep 17 23:39:05 2017 us=766 SIGUSR1[soft,ping-restart] received, process restarting
Sun Sep 17 23:39:05 2017 us=819 Restart pause, 2 second(s)
Sun Sep 17 23:39:07 2017 us=970 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Sun Sep 17 23:39:07 2017 us=1522 Re-using SSL/TLS context
Sun Sep 17 23:39:07 2017 us=1931 LZO compression initialized
Sun Sep 17 23:39:07 2017 us=2512 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Sun Sep 17 23:39:07 2017 us=2942 Socket Buffers: R=[163840->131072] S=[163840->131072]
Sun Sep 17 23:39:07 2017 us=3314 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Sun Sep 17 23:39:07 2017 us=3714 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'
Sun Sep 17 23:39:07 2017 us=4051 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'
Sun Sep 17 23:39:07 2017 us=4534 Local Options hash (VER=V4): '41690919'
Sun Sep 17 23:39:07 2017 us=4917 Expected Remote Options hash (VER=V4): '530fdded'
Sun Sep 17 23:39:07 2017 us=5265 UDPv4 link local: [undef]
Sun Sep 17 23:39:07 2017 us=5403 UDPv4 link remote: [AF_INET]192.168.1.1:1194
Sun Sep 17 23:40:07 2017 us=491753 [UNDEF] Inactivity timeout (--ping-restart), restarting
Sun Sep 17 23:40:07 2017 us=492101 TCP/UDP: Closing socket
Sun Sep 17 23:40:07 2017 us=492237 SIGUSR1[soft,ping-restart] received, process restarting
Sun Sep 17 23:40:07 2017 us=492320 Restart pause, 2 second(s)
Sun Sep 17 23:40:09 2017 us=492508 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Sun Sep 17 23:40:09 2017 us=492724 Re-using SSL/TLS context
Sun Sep 17 23:40:09 2017 us=492806 LZO compression initialized
Sun Sep 17 23:40:09 2017 us=493091 Control Channel MTU parms [ L:1542 D:138 EF:38 EB:0 ET:0 EL:0 ]
Sun Sep 17 23:40:09 2017 us=493235 Socket Buffers: R=[163840->131072] S=[163840->131072]
Sun Sep 17 23:40:09 2017 us=493336 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Sun Sep 17 23:40:09 2017 us=493462 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'
Sun Sep 17 23:40:09 2017 us=493530 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'
Sun Sep 17 23:40:09 2017 us=493655 Local Options hash (VER=V4): '41690919'
Sun Sep 17 23:40:09 2017 us=493762 Expected Remote Options hash (VER=V4): '530fdded'
Sun Sep 17 23:40:09 2017 us=493837 UDPv4 link local: [undef]
Sun Sep 17 23:40:09 2017 us=493916 UDPv4 link remote: [AF_INET]192.168.1.1:1194

и погнал перезапускаться по кругу без соединения

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

После запуска openvpn наглухо блокируются все сетевые подключению вне vpn сети. Может быть он при реконнекте сам и блокирует связь с сервером, который вне vpn сети ???

Sun Sep 17 23:40:09 2017 us=493916 UDPv4 link remote: [AF_INET]192.168.1.1:1194

Ошибка где-то здесь. Пробовал расширить логи: verb 10. Гоняет такой цикл

Mon Sep 18 20:50:47 2017 us=967760 34 variation(s) on previous 20 message(s) suppressed by --mute
Mon Sep 18 20:50:47 2017 us=968058 UDPv4 WRITE [14] to [AF_INET]192.168.1.1:1194: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 sid=4af07a2f e4f3c8ae [ ] pid=0 DATA 
Mon Sep 18 20:50:47 2017 us=968242 UDPv4 write returned 14
Mon Sep 18 20:50:47 2017 us=968376 TLS: tls_multi_process: i=0 state=S_PRE_START, mysid=4af07a2f e4f3c8ae, stored-sid=00000000 00000000, stored-ip=[AF_INET]192.168.1.1:1194
Mon Sep 18 20:50:47 2017 us=968455 TLS: tls_process: chg=0 ks=S_PRE_START lame=S_UNDEF to_link->len=0 wakeup=604800
Mon Sep 18 20:50:47 2017 us=968531 ACK reliable_can_send active=1 current=0 : [1] 0
Mon Sep 18 20:50:47 2017 us=968673 ACK reliable_send_timeout 8 [1] 0
Mon Sep 18 20:50:47 2017 us=968744 TLS: tls_process: timeout set to 8
Mon Sep 18 20:50:47 2017 us=968850 TLS: tls_multi_process: i=1 state=S_INITIAL, mysid=49ab7eb9 4a4fb73a, stored-sid=00000000 00000000, stored-ip=[undef]
Mon Sep 18 20:50:47 2017 us=968954 TLS: tls_multi_process: i=2 state=S_UNDEF, mysid=00000000 00000000, stored-sid=00000000 00000000, stored-ip=[undef]
Mon Sep 18 20:50:47 2017 us=969035 PO_CTL rwflags=0x0001 ev=4 arg=0x54b510cc
Mon Sep 18 20:50:47 2017 us=969105 PO_CTL rwflags=0x0001 ev=5 arg=0x54b51050
Mon Sep 18 20:50:47 2017 us=969192 I/O WAIT TR|Tw|SR|Sw [1/127476]
Mon Sep 18 20:50:47 2017 us=969276 PO_WAIT[1,0] fd=5 rev=0x00000001 rwflags=0x0001 arg=0x54b51050 
Mon Sep 18 20:50:47 2017 us=969344  event_wait returned 1
Mon Sep 18 20:50:47 2017 us=969412 I/O WAIT status=0x0004
Mon Sep 18 20:50:47 2017 us=969492  read from TUN/TAP returned 42
Mon Sep 18 20:50:47 2017 us=969558 TUN READ [42]
Mon Sep 18 20:50:47 2017 us=969689 TLS Warning: no data channel send key available:  [key#0 state=S_PRE_START id=0 sid=00000000 00000000] [key#1 state=S_UNDEF id=0 sid=00000000 00000000] [key#2 state=S_UNDEF id=0 sid=00000000 00000000]
Mon Sep 18 20:50:47 2017 us=969808 TLS: tls_multi_process: i=0 state=S_PRE_START, mysid=4af07a2f e4f3c8ae, stored-sid=00000000 00000000, stored-ip=[AF_INET]192.168.1.1:1194
Mon Sep 18 20:50:47 2017 us=969883 TLS: tls_process: chg=0 ks=S_PRE_START lame=S_UNDEF to_link->len=0 wakeup=604800
Mon Sep 18 20:50:47 2017 us=969956 ACK reliable_can_send active=1 current=0 : [1] 0
Mon Sep 18 20:50:47 2017 us=970052 ACK reliable_send_timeout 8 [1] 0
Mon Sep 18 20:50:47 2017 us=970122 TLS: tls_process: timeout set to 8
Mon Sep 18 20:50:47 2017 us=970225 TLS: tls_multi_process: i=1 state=S_INITIAL, mysid=49ab7eb9 4a4fb73a, stored-sid=00000000 00000000, stored-ip=[undef]
Mon Sep 18 20:50:47 2017 us=970328 TLS: tls_multi_process: i=2 state=S_UNDEF, mysid=00000000 00000000, stored-sid=00000000 00000000, stored-ip=[undef]
Mon Sep 18 20:50:47 2017 us=970407 PO_CTL rwflags=0x0001 ev=4 arg=0x54b510cc
Mon Sep 18 20:50:47 2017 us=970475 PO_CTL rwflags=0x0001 ev=5 arg=0x54b51050
Mon Sep 18 20:50:47 2017 us=970557 I/O WAIT TR|Tw|SR|Sw [1/127476]
serkruale
() автор топика
Ответ на: комментарий от serkruale

Всем спасибо за помощь. Решение оказалось совсем простое и логичное: убрал из конфига

 persist-tun 
и все заработало )))

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