【问题标题】:Converting IPTables rules to Firewalld将 IPTables 规则转换为 Firewalld
【发布时间】:2016-08-31 11:51:11
【问题描述】:

我正在设置 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>

我做错了什么?

感谢您的帮助!

【问题讨论】:

    标签: networking iptables firewalld


    【解决方案1】:

    看起来您刚刚将iptables 参数复制并粘贴到firewall-cmd 命令的后面:这不起作用。错误消息告诉您它在“ipv4”之后没有找到它所期望的:表、链、优先级和参数。你需要这样的东西:

    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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-17
      • 1970-01-01
      相关资源
      最近更新 更多