启用 ping VPN 服务器的路由

启用 ping VPN 服务器的路由

我希望能够通过 tun0 上已建立的 VPN 连接从客户端访问服务器网络。我有以下设置:

  • 客户端(tun0 上的 10.8.0.6 和 wlan 上的 172.28.220.95)
  • VPN 服务器(tun0 上的 10.8.0.1 和 eth 上的 192.168.178.32)
  • 服务器端网络(192.168.178.0/24)

客户端路由:

client$ ip route show
10.8.0.0/24 dev tun0  scope link  src 10.8.0.6

client$ ip route show table local
local 10.8.0.6 dev tun0  proto kernel  scope host  src 10.8.0.6
local 172.28.220.95 dev wlp2s0  proto kernel  scope host  src 172.28.220.95 

在服务器端:

server$ ip route show
default via 192.168.178.1 dev eth0 
10.8.0.0/24 dev tun0  scope link 
192.168.178.0/24 dev eth0  proto kernel  scope link  src 192.168.178.32

server$ ip route show table local
local 10.8.0.1 dev tun0  proto kernel  scope host  src 10.8.0.1
local 192.168.178.32 dev eth0  proto kernel  scope host  src 192.168.178.32 

为了清楚起见,不相关的路线和广播路线被省略。

服务器可以在 10.8.0.1 上 ping 自己。客户端可以在 10.8.0.6 上 ping 自己。但是,当我尝试从服务器 ping 客户端或反之亦然时,我没有得到任何响应(但也没有错误,除了 100% 的数据包丢失)。

知道这里出了什么问题吗?我也不太明白 ip addr 的对等地址的含义。

# server
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/none 
inet 10.8.0.1 peer 10.8.0.2/32 scope global tun0

# client
8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/none 
inet 10.8.0.6 peer 10.8.0.5/32 brd 10.8.0.6 scope global tun0

答案1

两个 tun0 上显然存在 IP 地址不匹配的情况。这是点对点连接。无需广播和进行第 2 层地址解析。离开此接口的所有内容都会到达其目标。只涉及两个地址。在两个系统上,一个必须是本地 tun0 地址,另一个必须是对等方的地址。

如果地址不匹配,则很难建立 VPN 连接。因此,如果服务器输出正确,则客户端输出必须正确

# client
8: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 100
link/none
inet 10.8.0.2 peer 10.8.0.1/32 brd 10.8.0.6 scope global tun0

可能是某个配置文件有错误。

相关内容