我正在设置Cuckoo Sandbox,我有几个IPTables规则需要转换为Firewalld规则。
以下是Cuckoo Sandbox安装指南的参考页面:http://docs.cuckoosandbox.org/en/latest/installation/guest/network/#virtual-networking
我需要从IPTables格式转换的3行是(删除子网):
iptables -A FORWARD -o eth0 -i vboxnet0 -s 0.0.0.0/0 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE
我尝试转换规则并使用firewall-cmd实现它们,以下是我提出的三个更新规则:
firewall-cmd --permanent --direct --add-rule ipv4 -A FORWARD -o eth0 -i vboxnet0 -s 0.0.0.0/0 -m conntrack --ctstate NEW -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
firewall-cmd --permanent --direct --add-rule ipv4 filter POSTROUTING 0 -t nat -j MASQUERADE
但是,当我尝试使用sudo firewall-cmd
添加上述规则之一时,我会收到一条回复说:
wrong priority
usage: --direct --add-rule { ipv4 | ipv6 | eb } <table> <chain> <priority> <args>
我做错了什么?
感谢您的帮助!
答案 0 :(得分:0)
看起来您刚刚将iptables
参数复制并粘贴到firewall-cmd
命令的后面:这不起作用。错误消息告诉您,在ipv4&#39;:table,chain,priority和args之后,它没有找到它所期望的内容。你需要这样的东西:
firewall-cmd --permanent --direct --add-rule ipv4 filter INPUT 0 -p tcp --dport 9000 -j ACCEPT
您可以通过以下几种方式添加MASQUERADE:
firewall-cmd --permanent --zone=external --add-masquerade
firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -o eth1 -j MASQUERADE
这是开始使用firewalld的一个很好的参考:https://www.certdepot.net/rhel7-get-started-firewalld/