我尝试将带有外部ip类映射的proxmox节点设置为内部ip类:
62.xxx.yyy.zzz / 24< - > 192.168.yyy.zzz / 24
内部ip上的每个外部ip匹配,因此每个VM都有自己的外部ip。 proxmox主机获得的是自己的外部IP(在/ 24范围之外)并且自己进行了网络访问。
如果我使用: #NAT表规则 * NAT :POSTROUTING ACCEPT [0:0]
# Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 192.168.0.0/16 -o vmbr0 -j MASQUERADE
# don't delete the 'COMMIT' line or these rules won't be processed
COMMIT
所有使用ip 192.168.x.x的VM都可以使用主机的IP地址访问Web。
如果我用:
更改-A POSTROUTING LINE-A PREROUTING -o vmbr0 -d 62.xxx.yyy.0/24 -j DNAT --to-destination 192.168.yyy.0/24
-A POSTROUTING -o vmbr1 -s 192.168.yyy.0/24 -j NETMAP DNAT --to-destination 62.xxx.yyy.0/24
我收到的错误是DNAT目的地不是ip而是一个类,似乎不支持NETMAP ......
有什么想法指向我吗?
谢谢!
斯特凡
答案 0 :(得分:0)
你应该尝试使用iptables 1:1 NAT。
您需要这样的规则:
iptables -t nat -A PREROUTING -i internet_interface -d 62.xxx.yyy.0/24 -j NETMAP --to 192.168.yyy.zzz/24
我认为以下链接将明确帮助您实现目标: https://serverfault.com/questions/109569/iptables-massive-11-nat
ufw只是一种实现ip表规则的简单方法。在您的情况下,我认为最好的方法是创建自己的iptables规则,而不使用ufw或任何其他类似的防火墙实用程序(在Linux上它们都基于iptables)。