我已经能够使用静态 ips 为多个客户端设置一个 OpenVPN 服务器,静态 ip 是通过ifconfig-push 192.168.254.6 192.168.255.1
为每个客户端在 ccd 中添加一行来设置的。我可以从服务器 ping 或 ssh 到这些客户端中的每一个。在我的服务器配置中,我有以下几行(以及其他配置):
server 192.168.255.0 255.255.255.0
和
route 192.168.254.0 255.255.255.0
现在我正在尝试做的是能够从一个客户端通过 ssh 或 curl 连接到另一个客户端,因此在阅读文档后我将这一行添加client-to-client
到配置中。我注意到在重新启动服务器并重新连接客户端时,它ip route
向我的客户端添加了以下行:
192.168.255.0/24 via 192.168.255.1 dev tun0
我似乎理解它是在指示客户端,每个地址192.168.255.X
都会转到 VPN 服务器。事实上,我试图通过运行traceroute 192.168.255.30
和获取来验证:
traceroute to 192.168.255.30 (192.168.255.30), 30 hops max, 60 byte packets
1 192.168.255.1 (192.168.255.1) 11.454 ms 14.491 ms 14.493 ms
但是,我想连接的其他客户端有这样的地址,192.168.254.X
所以我想我遗漏了一些东西,但我实际上并不知道是什么。我试过手动添加这条路线:
ip route add 192.168.254.0/24 via 192.168.255.1 dev tun0
对我来说这意味着像 192.168.254.X 这样的地址也正在通过 VPN 服务器。但是,如果我这样做traceroute 192.168.254.30
,结果会有所不同:
traceroute 192.168.254.30
traceroute to 192.168.254.30 (192.168.254.30), 30 hops max, 60 byte packets
我也可以从客户端机器上ping 192.168.255.1
ping 254 范围内的其他客户端,例如ping 192.168.254.30
.
我的网络知识非常有限,能够让一个客户端192.168.254.30
访问另一个客户端上的服务所缺少的192.168.254.32
更新:我已经将一个新客户端连接到 vpn,这次在 ccd 文件中分配了一个 192.168.255.X 范围内的 ip,然后我尝试从我正在测试的客户端运行 traceroute。我也无法连接到 255 范围内的此客户端,此外,如果我运行 traceroute,则会发生以下情况。
这个新客户有192.168.255.22
,如果在我的测试客户中traceroute 192.168.255.3
我得到:
traceroute to 192.168.255.3 (192.168.255.3), 30 hops max, 60 byte packets
1 192.168.255.1 (192.168.255.1) 11.481 ms 21.192 ms 21.472 ms
对于没有客户端的 ips 4、5、6 也会发生同样的情况,直到我到达22
新客户端的 ip,在这种情况下,当traceroute 192.168.255.22
我得到:
traceroute to 192.168.255.22 (192.168.255.22), 30 hops max, 60 byte packets
为什么会这样?