我在同一个网络中有两台 openstack 服务器:
- OpenStack 服务器 1 的 IP 为:192.168.25.9
- OpenStack 服务器 2 的 IP 为:192.168.25.13
我在每个 OpenStack 服务器中都有一个租户,我正在尝试连接这些租户,以便租户 1 (10.0.6.0/24) 中的虚拟机可以 ping 租户 2 (10.1.5.0/24) 中的虚拟机。但是我只能使用两个浮动 IP。
因此,我为每个租户创建 GW1 和 GW2,并为每个 GW 分配一个浮动 IP,然后在这些网关之间创建一个 OpenVPN 隧道 (10.7.0.0/24)。下图中的架构说明了这一点。
我重新路由 VM1,使用 GW1 作为网关,并让 GW1 通过 IP 地址为 10.7.0.1 的隧道接口 tap0 转发网络 10.1.5.0/24 的数据包。(VM2 和 GW2 的步骤相同)
但是当我从 VM1 ping VM2 时,GW1 在其接口 eth0 上收到请求和响应。但是回复不会转发给 VM1。
网关 Iptables 规则:
我向每个网关添加了以下 iptable 规则:
- iptables -t nat -A POSTROUTING -j MASQUERADE
- iptables -P 转发接受
我在 /etc/sysctl.conf 中启用了 ipv4 转发
谁能帮我 ?