我在做和firewalld中的iptables规则相当的事情
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE我该怎么做?
发布于 2014-08-22 12:45:59
若要在外部区域上设置伪装,请键入:
# firewall-cmd --zone=external --add-masquerade外部:用于外部网络的伪装启用,特别是对路由器。您不信任网络上的其他计算机不会损害您的计算机。只接受选定的传入连接。
内部:用于内部网络。您主要相信网络上的其他计算机不会对您的计算机造成损害。只接受选定的传入连接。
供参考:
http://www.certdepot.net/rhel7-get-started-firewalld/
发布于 2015-06-24 12:53:52
或者,您可以将规则添加到您的: /etc/firewalld/direct.xml文件中,例如。
<?xml version="1.0" encoding="utf-8"?>
<direct>
...
<rule priority="0" table="filter" ipv="ipv4" chain="POSTROUTING">-table nat -jump MASQUERADE --source 10.8.0.0/24 --out-interface eth0</rule>
</direct>然后:
firewall-cmd --reload发布于 2016-11-16 15:36:34
你不能直接使用这样的规则。您只需将您的接口(eth0)放入外部区域,该区域已经在RHEL7 7/CentOS7 7中预先配置,并且它打开了伪装,或者您可以在您的接口所在的区域上启用伪装。默认情况下它是公开的。所以正确的答案是:
# firewall-cmd --zone=public --add-masquerade或
# firewall-cmd --change-zone=eth0 --zone=external这才是你真正需要做的。若要仅对特定子网或范围启用NAT,需要Rich或Direct。这有点复杂。您也可以简单地拒绝其他包,这似乎也是一个选项。
https://serverfault.com/questions/623297
复制相似问题