两个 OpenVPN 隧道之间的路由失败

两个 OpenVPN 隧道之间的路由失败

我们有三个站点 A、B 和 C。从 A 到 B 和从 A 到 C 都有一个 OpenVPN 链接。A 是这两个站点的客户端。

Bnet Cnet
|    |
B    C
 \   /
  \ /
   V
   A
   |
   Anet

Anet 可以与 Bnet 和 Cnet 正常通信。Bnet 和 Cnet 都可以与 Anet 通信。问题是 Bnet 无法与 Cnet 通信。

B 和 C 上的路由都是从 openvpn.conf 配置的:

route 192.168.108.0 255.255.255.0
route 10.9.0.0 255.255.0.0

结果在“route -n”中可见。它适用于 192.168.108.x (Anet),但不适用于其他。

当我从 B ping C 时,在 B 和 A 上执行“tcpdump -i tun0 proto ICMP”时,我可以看到请求进入隧道但没有出来:

17:34:16.216271 IP 10.8.0.1 > 10.9.0.1: ICMP echo request, id 40798, seq 1, length 64

根本没有防火墙规则,所有策略都被接受。

有什么阻止数据包从一个客户端隧道到达另一个客户端隧道吗?

答案1

上面的“路由”命令还不够,还有一个

client-config-dir client-configs

进入子配置文件的条目:

iroute 192.168.208.0 255.255.255.0

我添加了这个:

iroute 10.9.0.0 255.255.0.0

现在它可以在 VPN 之间正确路由!

相关内容