当 VPN 客户端启用从 10.8.0.0 网段访问时,不可能

当 VPN 客户端启用从 10.8.0.0 网段访问时,不可能

我有一台服务器,安装了 OpenVPN 客户端,并且通过隧道连接到互联网,一切正常。我还可以通过 LAN 接口 (192.168.1.x) 访问服务器。但是,当我尝试从 LAN 中的另一个 IP 范围 10.8.0.x 访问同一服务器时,它不起作用。当我关闭 VPNClient 时,它再次工作正常。

如果服务器上没有运行 VPN 客户端,10.8.0.x 范围内的客户端就可以访问服务器

root@server:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use 
Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 
enp0s31f6
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 
enp0s31f6
192.168.0.0     0.0.0.0         255.255.0.0     U     100    0        0 
enp0s31f6

当 VPN 客户端在服务器上运行时,10.8.0.x 范围内的客户端无法访问服务器

root@server:~# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         10.23.10.5      128.0.0.0       UG    0      0        0 tun0
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enp0s31f6
10.23.10.1      10.23.10.5      255.255.255.255 UGH   0      0        0 tun0
10.23.10.5      0.0.0.0         255.255.255.255 UH    0      0        0 tun0
46.166.188.211  192.168.1.1     255.255.255.255 UGH   0      0        0 enp0s31f6
128.0.0.0       10.23.10.5      128.0.0.0       UG    0      0        0 tun0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enp0s31f6
192.168.0.0     0.0.0.0         255.255.0.0     U     100    0        0 enp0s31f6

我还尝试添加一条提交路由,以明确告诉网络通过 enp0s31f6 接口路由 10.8.0.0 流量。

root@server:~# route add -net 10.8.0.0 netmask 255.255.0.0 dev enp0s31f6

然而没有运气。

有人知道这是为什么吗?

答案1

您不必为与 VPNtun接口关联的子网手动添加任何路由。客户应该为您进行设置。此外,tun由于 openvpn 路由数据包的方式,在以太网接口上为该接口添加路由将不起作用。

看来你应该client-to-client在你的服务器配置中启用并确保你有一个iptables规则:

iptables -A INPUT -i tun0 -s 10.8.0.0/24 -d 10.8.0.0/24 -j ACCEPT

相关内容