我已经设置了 OpenVPN 2.7,并且可以正常连接到 VPN。
当我尝试通过 VPN ping 或 SSH 到私有网络上的另一台服务器时,连接超时。但是,VPN 主机上的 tcpdump 显示请求确实通过 VPN 路由。也就是说,10.0.3.228 上的 traceroute 没有显示任何跳数。
客户端:
PING 10.0.3.228 (10.0.3.228): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
Request timeout for icmp_seq 3
Request timeout for icmp_seq 4
Request timeout for icmp_seq 5
VPN 主机端(tcpdump):
19:57:04.428931 IP 10.134.0.86 > 10.0.3.228: ICMP echo request, id 10780, seq 0, length 64
19:57:05.427092 IP 10.134.0.86 > 10.0.3.228: ICMP echo request, id 10780, seq 1, length 64
19:57:06.426985 IP 10.134.0.86 > 10.0.3.228: ICMP echo request, id 10780, seq 2, length 64
19:57:07.430971 IP 10.134.0.86 > 10.0.3.228: ICMP echo request, id 10780, seq 3, length 64
19:57:08.431029 IP 10.134.0.86 > 10.0.3.228: ICMP echo request, id 10780, seq 4, length 64
19:57:09.431041 IP 10.134.0.86 > 10.0.3.228: ICMP echo request, id 10780, seq 5, length 64
路线转储显示:
10/16 10.134.0.85 UGSc 0 34 utun2
10.134/16 10.134.0.85 UGSc 0 0 utun2
10.134.0.85 10.134.0.86 UH 3 11 utun2
知道我遗漏了什么吗?VPN 主机可以 ping 通 10.0.3.228,也可以通过 SSH 连接到 10.0.3.228。
答案1
经过进一步调查后我终于明白了。
我忘记在内核中启用转发。
sudo sysctl -w net.ipv4.conf.all.forwarding=1