원격 VPN 서버에 대한 openvpn 연결이 필요한 raspbian 클라이언트가 있습니다. 연결이 성공적으로 설정되었지만 하루 정도 지나면 연결이 끊어집니다. 즉, 클라이언트는 더 이상 서버에 ping을 수행할 수 없으며 그 반대의 경우도 마찬가지입니다. ip addr
생산하다:
6: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
link/none
inet 10.8.0.2/24 brd 10.8.0.255 scope global tun0
valid_lft forever preferred_lft forever
inet6 fe80::36f2:617b:b304:fd0c/64 scope link flags 800
valid_lft forever preferred_lft forever
그리고 service openvpn@Thomas status
다음을 생산합니다:
[email protected] - OpenVPN connection to Thomas
Loaded: loaded (/lib/systemd/system/[email protected]; enabled)
Active: active (running) since Fr 2017-08-18 21:48:29 CEST; 2 days ago
Process: 731 ExecStart=/usr/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --config /etc/openvpn/%i.ovpn (code=exited, status=0/SUCCESS)
Main PID: 739 (openvpn)
CGroup: /system.slice/system-openvpn.slice/[email protected]
└─739 /usr/sbin/openvpn --daemon ovpn-Thomas --status /run/openvpn/Thomas.status 10 --cd /etc/openvpn --config /etc/openvpn/Thomas.ovpn
Aug 21 12:23:48 raspberrypi ovpn-Thomas[739]: Socket Buffers: R=[163840->163840] S=[163840->163840]
Aug 21 12:23:48 raspberrypi ovpn-Thomas[739]: UDPv4 link local: [undef]
Aug 21 12:23:48 raspberrypi ovpn-Thomas[739]: UDPv4 link remote: [AF_INET]91.250.77.10:1194
Aug 21 12:24:48 raspberrypi ovpn-Thomas[739]: TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Aug 21 12:24:48 raspberrypi ovpn-Thomas[739]: TLS Error: TLS handshake failed
Aug 21 12:24:48 raspberrypi ovpn-Thomas[739]: SIGUSR1[soft,tls-error] received, process restarting
Aug 21 12:24:48 raspberrypi ovpn-Thomas[739]: Restart pause, 2 second(s)
Aug 21 12:24:50 raspberrypi ovpn-Thomas[739]: Socket Buffers: R=[163840->163840] S=[163840->163840]
Aug 21 12:24:50 raspberrypi ovpn-Thomas[739]: UDPv4 link local: [undef]
Aug 21 12:24:50 raspberrypi ovpn-Thomas[739]: UDPv4 link remote: [AF_INET]91.250.77.10:1194
openvpn 서비스를 다시 시작할 때마다 문제 없이 연결이 다시 설정됩니다. 연결이 끊어지는 이유는 무엇입니까? 아니면 openvpn 데몬이 서버에 자동으로 다시 연결할 수 없는 이유는 무엇입니까?
답변1
연결이 끊어지면 openvpn을 자동으로 다시 시작하도록 간단한 bash 스크립트를 cron 작업에 추가할 수 있습니다. 스크립트는 다음과 같습니다.
#!/bin/bash
# Makes sure that openvpn service is running all times.
# Add this to a cronjob that will run every minute
set -o pipefail
if $(/sbin/ip add | grep tun | grep inet)
then
echo "OpenVPN service is already running"
else
systemctl restart [email protected]
echo "Restarted OpenVPN service"
fi