我有一台 Promox 服务器,有 3 个 IP(主 IP 和 2 个附加 IP)。服务器有 3 个 CT,我想将所有 3 个 IP 分配给这些 CT。
将它们直接分配给 CT/VM 不起作用(甚至无法访问网关)。所以我用 执行了 NAT1:1 -j NETMAP
。
从外部来看它可以正常工作,但我无法使用它们的外部 IP 地址连接各个 CT 之间。
配置:
所有 CT/VM 都连接到 vmbr0(外部静态 IPv6)和 vmbr1(内部静态 IPv4)。
iface ens3 inet manual
auto vmbr0
iface vmbr0 inet static
address 176.X.Y.Z/24 #Main IP
gateway 176.X.Y.GW
bridge-ports ens3
bridge-stp off
bridge-fd 1
# InterNet
iface vmbr0 inet6 static
address <ip6_subnet_here>::1/64
gateway fe80::1
post-up /srv/bin/router-up.sh
post-down /srv/bin/router-down.sh
auto vmbr0:1
iface vmbr0:1 inet static
address 31.A.B.C/24 # First additional IP
auto vmbr0:5
iface vmbr0:5 inet static
address 31.A.B.D/24 # Second additional IP
NAT 的 IPTables 规则在这里/srv/bin/router-up.sh
-A PREROUTING -d 176.X.Y.Z/32 -j NETMAP --to 192.168.1.25/32 #192.168.1.25 is CT1 IP in vmbr1
-A PREROUTING -d 31.A.B.C/32 -j NETMAP --to 192.168.1.9/32 #192.168.1.9 is CT2 IP in vmbr1
-A PREROUTING -d 31.A.B.D/32 -j NETMAP --to 192.168.1.2/32 #192.168.1.2 is CT3 IP in vmbr1
-A POSTROUTING -s 192.168.1.25/32 -j NETMAP --to 176.X.Y.Z/32
-A POSTROUTING -s 192.168.1.9/32 -j NETMAP --to 31.A.B.C/32
-A POSTROUTING -s 192.168.1.2/32 -j NETMAP --to 31.A.B.D/32
/srv/bin/router-down.sh
只是删除这些规则。
请建议如何更改配置以便能够从每个 CT/VM 连接到其他 CT/VM(使用外部 IP)。谢谢。