我遇到了一个奇怪的情况,我的 LAN (192.168.1.0/24) 上有 2 个 OpenVPN 服务器,均通过 TUN。服务器 A (位于 192.168.1.100) 为客户端提供 172.16.0.0/24 子网上的地址,服务器 B (192.168.1.1) 为客户端提供 172.16.10/24 子网上的地址。
2 个 OpenVPN 服务器上的客户端需要相互通信。我已将以下配置应用于服务器 A:
推“路由 172.16.1.0 255.255.255.0 192.168.1.1 1”
服务器 A 上的客户端的路由表条目结果为:
172.16.1/24 192.168.1.1 UGSc 0 2 en0
在服务器 B 上,我应用了配置:
推“路由 172.16.0.0 255.255.255.0 192.168.1.100 1”
在两台服务器上,我都确保允许访问 LAN 和其他 OpenVPN 网络。但是,尝试在连接到服务器 A 的客户端上 ping 172.16.1.1 时,结果显示“网络无法访问”。服务器 B 上的客户端也出现了类似情况。
如果有任何其他用途,服务器 B 驻留在 Pfsense 上。服务器 A 是虚拟化的 OpenVPN 访问服务器。
答案1
从第一个网络中的客户端到另一个网络中的客户端进行跟踪路由。然后,您将看到 IP 包到达了多远。这就是您必须调查的地方。此外,您还需要确保 Pfsense(或任何其他防火墙规则)在测试时不会丢弃 ICPM 包、ping 和跟踪路由。
客户端是否有指向各自下一跳(分别是服务器 A 和服务器 B)的默认路由?
答案2
- 两台服务器必须具有相同的隧道网络才能连接。一方是服务器,另一方是客户端。此隧道地址不应在网络中的任何其他位置使用。如果可以,那么
- 在 open vpn 服务器端,您能看到 openvpn 隧道已连接吗?在 Status > Open VPN 中,查看连接是否已连接。如果已连接,则
- 尝试 ping 隧道的另一端,即另一个开放的 vpn 服务器端。如果成功,则
- 检查防火墙规则>打开 vpn 选项卡,查看是否已配置规则以允许两端打开 vpn 流量。
希望这能有所帮助。如果它不起作用,那么请分享您的配置快照。