我已经按照以下说明设置了 OpenVPN 服务器这DigitalOcean 的指南。但不幸的是我无法让它工作。
似乎 OpenVPN 只是没有收到网络数据包。我还尝试了内部连接(其中服务器是客户端,OpenVPN 是服务器),这确实有效。
为了测试 OpenVPN 是否接收到数据包,我进行了以下操作:
- 我在命令行上以详细程度 11 启动了 openVPN
- 我启动 TCPdump 监听 1194 端口
当我尝试连接 OpenVPN 时,TCPdump 显示请求:
knarf@harambe:~$ sudo tcpdump -i ens3 port 1194 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens3, link-type EN10MB (Ethernet), capture size 262144 bytes
18:27:41.944116 IP [home-ip].52173 > [server-ip].1194: UDP, length 54
18:27:43.114364 IP [home-ip].52173 > [server-ip].1194: UDP, length 54
18:27:47.775198 IP [home-ip].52173 > [server-ip].1194: UDP, length 54
同时 OpenVPS 仅显示以下内容:(每 10 秒)
Sun Dec 17 18:27:46 2017 us=75680 event_wait returned 0
Sun Dec 17 18:27:46 2017 us=75728 I/O WAIT status=0x0020
Sun Dec 17 18:27:46 2017 us=75739 MULTI: REAP range 240 -> 256
Sun Dec 17 18:27:46 2017 us=75749 SCHEDULE: schedule_find_least NULL
Sun Dec 17 18:27:46 2017 us=75765 PO_CTL rwflags=0x0001 ev=5 arg=0x56369edf31a0
Sun Dec 17 18:27:46 2017 us=75773 PO_CTL rwflags=0x0001 ev=6 arg=0x56369edf3068
Sun Dec 17 18:27:46 2017 us=75784 I/O WAIT TR|Tw|SR|Sw [10/0]
60 秒后,客户端出现以下错误:
TLS handshake failed. TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
怀疑防火墙配置不正确,我也禁用了 UFW,但这并不能解决问题。
我目前不知道是什么原因导致了这个问题。我有以下 OpenVPN 配置:
knarf@harambe:/etc/openvpn$ cat /etc/openvpn/server.conf | grep -vE "\#|;|^$"
port 1194
proto udp
dev tun
ca ca.crt
cert server-harambe.crt
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
tls-auth ta.key 0
key-direction 0
auth SHA256
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3
和客户:
knarf@knarf-XPS13:~$ cat ~/vpn/xps-13.ovpn | grep -vE "\#|;|^$"
client
dev tun
proto udp
remote [server-ip] 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb 3
cipher AES-128-CBC
auth SHA256
key-direction 1
script-security 2
up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf
我希望有人能发现当前设置有什么问题。
答案1
您的服务器配置中缺少 tls 部分,例如:
tls-auth ta.key 0 # This file is secret
key-direction 0