searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

麒麟操作系统防火墙多区域规则不生效的解决办法

2024-02-02 01:09:49
149
0

        在centos系统上,如果我们想让trusted、public等多个表格同时生效,我们可以将/etc/firewalld/firewalld.conf配置文件中AllowZoneDrifting=no改为AllowZoneDrifting=yes,然后重启防火墙让其生效。但在麒麟v10操作系统上,这个操作并不生效。对于基于区域的防火墙的一个特点是数据包只能进入一个区域,上述行为违 反了这一规定,它可能会导致流量或服务意外被允许。“目前 0524 的系统上 firewalld 是 0.6.6-2.02 版本出于上述安全考虑,未合入支持AlowZoneDrifting功能的 patch,且目前与主流社区处理方式一致。 所以,为了解决该问题,建议把所有规则写到同一个区域中,这也是一种规范的做法。       

        在 Linux 中,特别是使用 firewalld 防火墙管理工具的系统中,防火墙被划分为不同的区域(zones),每个区域都有特定的规则和策略,用于定义网络流量的允许或阻止规则。以下是一些常见的防火墙区域和它们的一般介绍:

  1. public 区域:

    • 适用于公共网络,如互联网。默认情况下,未明确定义的网络接口通常分配给 public 区域。
  2. internal 区域:

    • 适用于内部网络,例如企业内部网络。通常情况下,用于连接内部服务器或其他信任网络。
  3. external 区域:

    • 适用于连接到不受信任网络的接口,例如连接到 Internet 的外部接口。
  4. dmz 区域:

    • 适用于连接到 DMZ(Demilitarized Zone)的接口。DMZ 是位于内部和外部网络之间的一种中立地带,通常用于托管对外提供服务的服务器,如 Web 服务器或邮件服务器。
  5. work 区域:

    • 适用于用于工作目的的接口。这个区域通常用于连接到一个信任的网络,例如办公网络。
  6. home 区域:

    • 适用于家庭网络。这个区域通常用于连接到一个受信任的家庭网络。
  7. trusted 区域:

    • 适用于连接到受信任网络的接口,通常被用于内部网络。
  8. block 区域:

    • 这是一个特殊的区域,它会阻止所有入站和出站的网络流量。可以用于快速地关闭所有网络连接。

每个区域都有预定义的规则集,允许或阻止特定类型的网络流量。你可以根据实际需求,将网络接口分配给不同的防火墙区域,并定制每个区域的规则以满足特定的网络安全需求。使用 firewall-cmd 命令可以配置这些区域,例如将接口添加到特定区域、定义服务、指定端口等。

       AllowZoneDrifting 是 iptables 中的一个选项,它允许 Linux 防火墙(firewalld)中的网络接口在运行时漂移(drift)到其他防火墙区域。通常情况下,防火墙区域是定义一组规则和策略的区域,允许或阻止特定类型的网络流量。 启用 AllowZoneDrifting 选项后,网络接口可以动态地从一个防火墙区域漂移到另一个区域,而无需重启网络服务。这在一些特定的网络配置场景下可能会很有用。

        在centos系统上,如果我们想让trusted、public等多个表格同时生效,我们可以将/etc/firewalld/firewalld.conf配置文件中AllowZoneDrifting=no改为AllowZoneDrifting=yes,然后重启防火墙让其生效。但在麒麟v10操作系统上,这个操作并不生效。对于基于区域的防火墙的一个特点是数据包只能进入一个区域,上述行为违 反了这一规定,它可能会导致流量或服务意外被允许。“目前 0524 的系统上 firewalld 是 0.6.6-2.02 版本出于上述安全考虑,未合入支持AlowZoneDrifting功能的 patch,且目前与主流社区处理方式一致。 所以,为了解决该问题,建议把所有规则写到同一个区域中,这也是一种规范的做法。

0条评论
0 / 1000