Объединил два офиса посредством OpenVPN. Информацию по настройке в основном брал на этом ресурсе.
Вроде, всё заработало, но периодически случаются проблемы. Выглядит это так:
Соединение между клиентом и сервером как бы есть (по крайней мере OpenVPN-Control) показывает его наличие), но пакеты между сетями ходить перестают. Ни сервер, ни какие другие ресурсы со стороны клиента не пингуются. Если в этот момент посмотреть лог на клиенте, то там видно следующее:
Код: Выделить всё
Tue Jul 2 13:26:32 2013 [UNDEF] Inactivity timeout (--ping-restart), restarting
Tue Jul 2 13:26:32 2013 TCP/UDP: Closing socket
Tue Jul 2 13:26:32 2013 SIGUSR1[soft,ping-restart] received, process restarting
Tue Jul 2 13:26:32 2013 Restart pause, 2 second(s)
Tue Jul 2 13:26:34 2013 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Tue Jul 2 13:26:34 2013 Re-using SSL/TLS context
Tue Jul 2 13:26:34 2013 LZO compression initialized
Tue Jul 2 13:26:34 2013 Control Channel MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
Tue Jul 2 13:26:34 2013 Socket Buffers: R=[163840->131072] S=[163840->131072]
Tue Jul 2 13:26:34 2013 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Tue Jul 2 13:26:34 2013 Local Options hash (VER=V4): '504e774e'
Tue Jul 2 13:26:34 2013 Expected Remote Options hash (VER=V4): '14168603'
Tue Jul 2 13:26:34 2013 UDPv4 link local (bound): [undef]
Tue Jul 2 13:26:34 2013 UDPv4 link remote: [AF_INET]123.123.123.123:1194
Tue Jul 2 13:26:34 2013 TLS Error: local/remote TLS keys are out of sync: [AF_INET]123.123.123.123:1194 [0]
Tue Jul 2 13:26:34 2013 TLS Error: Unroutable control packet received from [AF_INET]123.123.123.123:1194 (si=3 op=P_ACK_V1)
Tue Jul 2 13:26:35 2013 TLS Error: local/remote TLS keys are out of sync: [AF_INET]123.123.123.123:1194 [0]
Tue Jul 2 13:26:36 2013 TLS Error: local/remote TLS keys are out of sync: [AF_INET]123.123.123.123:1194 [0]
Tue Jul 2 13:26:36 2013 TLS Error: Unroutable control packet received from [AF_INET]123.123.123.123:1194 (si=3 op=P_ACK_V1)
Tue Jul 2 13:26:37 2013 TLS Error: local/remote TLS keys are out of sync: [AF_INET]123.123.123.123:1194 [0]
Tue Jul 2 13:26:39 2013 TLS Error: local/remote TLS keys are out of sync: [AF_INET]123.123.123.123:1194 [0]
Tue Jul 2 13:26:39 2013 [UNDEF] Inactivity timeout (--ping-restart), restarting
Код: Выделить всё
Tue Jul 2 13:26:53 2013 [vpnsrv] Inactivity timeout (--ping-restart), restarting
Tue Jul 2 13:26:53 2013 TCP/UDP: Closing socket
Tue Jul 2 13:26:53 2013 SIGUSR1[soft,ping-restart] received, process restarting
Tue Jul 2 13:26:53 2013 Restart pause, 2 second(s)
Tue Jul 2 13:26:55 2013 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
Tue Jul 2 13:26:55 2013 Re-using SSL/TLS context
Tue Jul 2 13:26:55 2013 LZO compression initialized
Tue Jul 2 13:26:55 2013 Control Channel MTU parms [ L:1542 D:166 EF:66 EB:0 ET:0 EL:0 ]
Tue Jul 2 13:26:55 2013 Socket Buffers: R=[163840->131072] S=[163840->131072]
Tue Jul 2 13:26:55 2013 Data Channel MTU parms [ L:1542 D:1450 EF:42 EB:135 ET:0 EL:0 AF:3/1 ]
Tue Jul 2 13:26:55 2013 Local Options hash (VER=V4): '504e774e'
Tue Jul 2 13:26:55 2013 Expected Remote Options hash (VER=V4): '14168603'
Tue Jul 2 13:26:55 2013 UDPv4 link local (bound): [undef]
Tue Jul 2 13:26:55 2013 UDPv4 link remote: [AF_INET]123.123.123.123:1194
Tue Jul 2 13:26:55 2013 TLS Error: local/remote TLS keys are out of sync: [AF_INET]123.123.123.123:1194 [0]
Tue Jul 2 13:26:55 2013 TLS: Initial packet from [AF_INET]123.123.123.123:1194, sid=26a24dd3 c75415a2
Tue Jul 2 13:26:55 2013 VERIFY OK: depth=1, /C=RU/ST=MSK/L=Moscow/O=EGA/OU=IT/CN=vpnsrv/name=vpnsrv/emailAddress=postmaster
Tue Jul 2 13:26:55 2013 VERIFY OK: nsCertType=SERVER
Tue Jul 2 13:26:55 2013 VERIFY OK: depth=0, /C=RU/ST=MSK/L=Moscow/O=EGA/OU=IT/CN=vpnsrv/name=vpnsrv/emailAddress=postmaster
Tue Jul 2 13:26:55 2013 Data Channel Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Tue Jul 2 13:26:55 2013 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Jul 2 13:26:55 2013 Data Channel Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Tue Jul 2 13:26:55 2013 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Jul 2 13:26:55 2013 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA, 2048 bit RSA
Tue Jul 2 13:26:55 2013 [vpnsrv] Peer Connection Initiated with [AF_INET]123.123.123.123:1194
Tue Jul 2 13:26:56 2013 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jul 2 13:26:57 2013 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jul 2 13:26:57 2013 SENT CONTROL [vpnsrv]: 'PUSH_REQUEST' (status=1)
Tue Jul 2 13:26:57 2013 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jul 2 13:26:59 2013 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jul 2 13:26:59 2013 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jul 2 13:26:59 2013 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jul 2 13:27:00 2013 Authenticate/Decrypt packet error: packet HMAC authentication failed
Tue Jul 2 13:27:01 2013 Authenticate/Decrypt packet error: packet HMAC authentication failed
Конфиг сервера:
Код: Выделить всё
mode server
local 123.123.123.123
port 1194
proto udp
dev tun1
management 192.168.0.2 8330
ca /usr/local/etc/openvpn/keys/ca.crt
cert /usr/local/etc/openvpn/keys/server.crt
key /usr/local/etc/openvpn/keys/server.key
dh /usr/local/etc/openvpn/keys/dh2048.pem
server 10.1.1.0 255.255.255.0
topology subnet
ifconfig-pool-persist /usr/local/etc/openvpn/ipp1.txt 3600
push "dhcp-option DNS 192.168.1.250"
push "dhcp-option DOMAIN company.ru"
client-config-dir ccd
route 192.168.10.0 255.255.255.0 10.1.1.1
tls-server
tls-auth keys/ta.key 0
tls-timeout 120
auth SHA1
cipher BF-CBC
keepalive 1 5
comp-lzo
max-clients 100
user nobody
group nobody
persist-key
persist-tun
persist-local-ip
persist-remote-ip
push "persist-key"
push "persist-tun"
plugin /usr/local/lib/openvpn/plugins/openvpn-plugin-auth-pam.so openvpn
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3
mute 20
Код: Выделить всё
dev tun0
proto udp
remote 123.123.123.123
port 1194
client
auth-user-pass /etc/openvpn/passwd
resolv-retry infinite
pkcs12 /etc/openvpn/vpnsrv/sklad.p12
tls-client
tls-auth /etc/openvpn/vpnsrv/ta.key 1
auth SHA1
cipher BF-CBC
ns-cert-type server
comp-lzo
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log /var/log/openvpn/openvpn.log
verb 3
Посмотрите пожалуйста свежим взглядом, может что-то не так в настройках. Есть у меня подозрение, что дело в каких-то таймаутах или чём-то подобном.
И второй момент. Пока я боролся с этой проблемой, решил, как временное решение написать скрипт, который по отсутствию пинга нужного адреса будет останавливать, а потом снова запускать сервис openvpn.
Скрипт выглядит так:
Код: Выделить всё
#!/bin/bash
testip="192.168.1.250"
kol=$(/bin/ping -c 4 $testip | grep "received" | awk '{print $4}')
if [ $kol == 0 ]
then
echo "No ping to dc02. Waiting for 30 seconds..." | logger -t OPENVPNTEST
sleep 30
kol=$(/bin/ping -c 4 $testip | grep "received" | awk '{print $4}')
if [ $kol == 0 ]
then
echo "Restarting OpenVPN... " | logger -t OPENVPNTEST
echo "Stop OpenVPN service. " | logger -t OPENVPNTEST
/etc/init.d/openvpn stop | logger -t OPENVPNTEST
sleep 30
echo "Start OpenVPN service. " | logger -t OPENVPNTEST
/etc/init.d/openvpn start | logger -t OPENVPNTEST
sleep 5
/etc/init.d/openvpn status | logger -t OPENVPNTEST
exit 0
fi
fi
Система ubuntu server 12.04. Скрипт запускаю из под рута. В чём тут может быть засада?