我正在尝试在 RHEL 7.4 服务器上配置目标 NAT。我希望 10.10.10.10:443 生成的所有流量都转到 10.20.20.20:443。
经过谷歌搜索后,我使用了以下直接规则:
firewall-cmd --direct --add-rule ipv4 nat PREROUTING 0 -d 10.10.10.10 -p tcp --dport 443 -j DNAT --to-destination 10.20.20.20:443
我可以在 PREROUTING_direct 链中看到它。
# iptables -t nat -vxnL PREROUTING_direct
Chain PREROUTING_direct (1 references)
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- * * 0.0.0.0/0 10.10.10.10 tcp dpt:443 to:10.20.20.20:443
但是当我 telnet 到 10.10.10.10:443 时它不会重定向到 10.20.20.20:443
我没有看到规则被命中(pkts = 0,字节数 = 0)。事件 tcpdump 没有显示任何流向 10.20.20.20 的流量。
干杯,
J
答案1
以下命令 100% 有效
所有来自 10.10.10.10 的 TCP/443 都将通过 TCP 443 转发至目标 10.20.20.20
# firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="10.10.10.10" forward-port to-addr="10.20.20.20" to-port="443" protocol="tcp" port="443"'
# firewall-cmd --reload