我有一台 Fedora 26 服务器,用作网关/路由器(以及其他东西)、2 个 NIC 和一个静态外部 IP
我习惯了 iptables,我使用 SNAT vs MASQ
我已经做了很多搜索如何将 SNAT 与 firewalld 一起使用 - 但找不到任何东西。
答案1
你必须使用直接选项:
[--permanent] --direct --add-rule { ipv4 | ipv6 | eb } table chain priority args
将带有参数 args 的规则添加到表 table 中的 chain chain 中,优先级优先。
firewall-cmd --permanent --direct --add-rule NAT POSTROUTING 0 -o eth0 -j SNAT --to 1.2.3.4
或者
--direct --passthrough { ipv4 | ipv6 | eb } args
将命令传递到防火墙。 args 可以是所有 iptables、ip6tables 和 ebtables 命令行参数。该命令未被跟踪,这意味着防火墙稍后无法提供有关该命令的信息,也无法提供未跟踪的传递的列表。
firewall-cmd --permanent --direct --passthrough -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4