我尝试按照此链接在互联网上的两个网络之间设置 VPNhttps://openvpn.net/community-resources/how-to/
在我的服务器上
- openvpn 运行
- 端口 1194 已转移
- 接口;inet 10.9.8.1 对等 10.9.8.2/32 范围全局 tun0
在我的客户
- 接口:inet 10.9.8.10 对等 10.9.8.9/32 范围全局 tun0
- 路线 (ip r)
default via 10.9.8.9 dev tun0 10.0.3.0/24 dev lxcbr0 proto kernel scope link src 10.0.3.1 linkdown 10.9.8.0/24 via 10.9.8.9 dev tun0 10.9.8.9 dev tun0 proto kernel scope link src 10.9.8.10 <my.server.wan.ip> via 192.168.1.254 dev wlp3s0 proto static 169.254.0.0/16 dev tun0 scope link metric 1000 192.168.1.0/24 dev wlp3s0 proto kernel scope link src 192.168.1.156 metric 600
从我的客户端,我可以从我的 tun0 接口访问我的服务器(ssh 10.9.8.1 → 我的服务器)
但我无法从我的客户端访问互联网(ping 8.8.8.8 不起作用)
我错过了 st,但不知道是什么。谢谢您的帮助。
答案1
tcpdump在这里会非常有用。在两个节点上运行它并访问您知道的 IP 地址,最好是具有静态 IP 的站点。然后您可以运行
tcpdump -nni any host (the IP)
对 8.8.8.8 进行 icmp ping 的示例输出:
#tcpdump -nni any host 8.8.8.8
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on any, link-type LINUX_SLL2 (Linux cooked v2), snapshot length 262144 bytes
13:28:08.141937 enp2s0 Out IP 192.168.200.200 > 8.8.8.8: ICMP echo request, id 47151, seq 1, length 64
13:28:08.150955 enp2s0 In IP 8.8.8.8 > 192.168.200.200: ICMP echo reply, id 47151, seq 1, length 64
它可以告诉您流量从哪个接口离开(Out)以及接收(In)。
- 在客户端,它应该进入隧道(“接口名称”出去)。
- 在服务器上,您应该看到流量到达(“接口名称”在)。
如果您的服务器接收到发往 Internet 的流量,则您的服务器可能未进行路由,即未根据某些规则(例如 iptables)转发数据包。由于我没有在您给出的链接中看到明确提及,请查看此示例是否有帮助(外部链接至 tecadmin)将服务器设置为路由器。