AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 893112
Accepted
leonbloy
leonbloy
Asked: 2018-01-20 11:24:27 +0800 CST2018-01-20 11:24:27 +0800 CST 2018-01-20 11:24:27 +0800 CST

从 iptables 迁移到 firewalld:注释规则

  • 772

我正在使用 Centos 7 从 iptables 迁移到 firewalld。在过去,我曾经/etc/sysconfig/iptables在#, ETC)。

现在,似乎当前(永久)配置是从/etc/firewalld/文件(尤其是/etc/firewalld/zones/*.xml)中读取的。我想我可以在那里添加 xml 注释,但似乎好的做法不是直接编辑这些文件,而是通过firewall-cmd(不是?)。

因此,我不确定向规则添加注释的标准或推荐方式是哪种。

有什么建议么?

已编辑:作为记录,我已经验证 xml 注释不会在firewall-cmd修改后保留。

linux
  • 3 3 个回答
  • 6576 Views

3 个回答

  • Voted
  1. CODE-REaD
    2020-02-18T12:11:14+08:002020-02-18T12:11:14+08:00

    截至 2/2020 年,我认为firewalld使用足够广泛,易于注释规则 fromfirewall-cmd或 fromfirewall-config非常重要,原因在 OP 中讨论。

    建议我们在CMS中记录规则,通过firewall-cmd --direct、通过ipsets或手动编辑区域文件,所有这些都使管理复杂化,并破坏firewalld了使防火墙配置更加透明的目的。

    因此,在可用之前,我将通过选项来firewall-cmd --comment注释我的规则。例如,log prefixfirewall-cmd --add-rich-rule

    firewall-cmd --add-rich-rule="rule family=ipv4 source address=192.168.103.225 reject log prefix='Onsite NIDS'"
    firewall-cmd --permanent --add-rich-rule="rule family=ipv4 source address=192.168.103.225 reject log prefix='Onsite NIDS'"
    

    生成的注释作为副作用出现在我的系统日志中,但现在的输出firewall-cmd --list-all-zones是自记录的:

    public (active)
      target: default
      icmp-block-inversion: no
      interfaces: ens160
      sources:
      services: dhcpv6-client http https ssh
      ports: 1515/tcp 1514/tcp
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:
            rule family="ipv4" source address="192.168.103.225" log prefix="Onsite NIDS" reject
    

    该评论也记录在我的区域文件中:

    # cat /etc/firewalld/zones/public.xml
    <?xml version="1.0" encoding="utf-8"?>
    <zone>
      <short>Public</short>
      <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
      <service name="ssh"/>
      <service name="dhcpv6-client"/>
      <service name="http"/>
      <service name="https"/>
      <port protocol="tcp" port="1515"/>
      <port protocol="tcp" port="1514"/>
      <rule family="ipv4">
        <source address="192.168.103.225"/>
        <log prefix="Onsite NIDS"/>
        <reject/>
      </rule>
    </zone>
    

    我意识到即使是这种方法也会通过引入丰富的规则使配置过于复杂,但现在相信注释的好处是值得的。

    • 2
  2. lsd
    2018-01-20T12:50:46+08:002018-01-20T12:50:46+08:00

    尽管在 firewall-cmd 手册页中,有一个关于直接选项的部分,允许您提供参数,因此您可以执行以下操作:

    firewall-cmd --direct --add-rule <table> <chain> <priority> <args> -c <some comment>

    虽然,正如迈克尔汉普顿所说,这可能不是最好的事情。

    • 1
  3. Best Answer
    leonbloy
    2018-01-23T03:18:48+08:002018-01-23T03:18:48+08:00

    仔细想想,我觉得这firewalld-cmd件事有点傻。毕竟,XML 配置文件是人工可编辑的。这对我来说没有什么意义,必须学习一层额外的命令(嗯,一个命令,但有大量参数)只是为了编辑一些简单而整洁的 XML 文件(*)。

    我打字有点傻

    firewall-cmd --permanent --zone=work --add-port=445/tcp

    只是为了添加以下行/etc/firewalld/zones/work.xml

    <port protocol="tcp" port="445"/>

    因此,至少现在,考虑到 XML 元素不包含注释属性(在那个方向有一些 请求),我倾向于以下策略:忘记 firewalld-cmd(甚至可能删除它),编辑 XML自己创建文件,并自由添加 XML 注释。

    (*) 确实firewalld-cmd允许添加动态(非永久)规则。但我敢打赌,这不是一个非常常见的情况。

    • 1

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve