iptable nat规则适用于ubuntu16.04但不适用于redhat7.6

iptable nat规则适用于ubuntu16.04但不适用于redhat7.6

我需要在 rhel7 虚拟机上使用 iptable nat 规则将数据包路由到某个 IP 地址。

为了进行开发,我在 ubuntu 16.04 虚拟机上使用 ip 地址测试了规则192.168.150.4

sysctl net.ipv4.ip_forward=1

规则:

iptables -t nat -A PREROUTING -p tcp --dport 9000 -j DNAT --to-destination 192.168.150.35:6443
iptables -t nat -A POSTROUTING -j MASQUERADE

我从远程虚拟机测试它成功运行:

telnet 192.168.150.4 9000
curl https://192.168.150.4:9000 -kv

同样,在 rhel7 虚拟机上使用相同的生产规则(显然具有不同的 ip 集),但规则似乎不起作用

在所有安全组规则均已到位的情况下使用 OpenStack。

请帮忙。提前致谢。

答案1

如果 JB 的建议不是原因,您可能需要先重定向端口:

iptables -t nat -A PREROUTING -p tcp --dport 9000 -j REDIRECT --to-port 6443
iptables -t nat -A PREROUTING -p tcp --dport 6443 -j DNAT --to-destination 192.168.150.35

希望这可以帮助!

相关内容