firewalld 实验


区域

防火墙各个区说明

  • drop (丢弃)

    任何接收的网络数据包都被丢弃,没有任何回复.仅能有发送出去的网络连接.

  • block (限制)

    任何接收的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝.

  • public (公共)

    在公共区域内使用,不能相信网络内的其他计算机不会对你的计算机造成危害,只能接收经过选取的连接.

  • external (外部)

    特别是为路由器启用了伪装功能的外部网.你不能信任来自网络的其他计算,不能相信它们不会对你的计算机造成危害,只能接收经过选择的连接.

  • dmz (非军事区)

    用于你的非军事区内的电脑,此区域内可公开访问,可以有限地进入你的内部网络,仅仅接收经过选择的连接.

  • work (工作)

    用于工作区.你可以基本相信网络内的其他电脑不会危害你的电脑.仅仅接收经过选择的连接.

  • home (家庭)

    用于家庭网络.你可以基本信任网络内的其他计算机不会危害你的计算机.仅仅接收经过选择的连接.

  • internal (内部)

    用于内部网络.你可以基本上信任网络内的其他计算机不会威胁你的计算机.仅仅接受经过选择的连接.

  • trusted (信任)

    可接受所有的网络连接.适合在故障排除的情况下或者是在你绝对信任的网络上使用.


常用命令

服务管理

查看

配置开放服务/端口

设置黑/白名单

  • 使用命令的时候加上 --permanent 是永久生效的意思,在重启防火墙服务后依然生效.否则,只对重启服务之前有效.

  • 我们执行的命令,结果其实都体现在具体的配置文件中,其实我们可以直接修改对应的配置文件即可.以 public zone 为例,对应的配置文件是 /etc/firewalld/zones/public.xml

自定义区域

你可以随意使用 firewalld 默认提供的这些区域,不过也完全可以创建自己的区域。比如如果希望有一个针对游戏的特别区域,你可以创建一个,然后只有在玩儿游戏的时候切换到该区域。

如果想要创建一个新的空白区域,你可以创建一个名为 game 的新区域,然后重新加载防火墙规则,这样你的新区域就启用了:

配置案例

只允许 1.1.1.1 和 2.2.2.2 访问

配置端口白名单

只允许 123.123.123.123/1.2.3.4/1.14.5.14/1.9.1.9 对 8888 的访问


docker 与 firewalld/iptable 的冲突

由于docker在启动容器时,会向iptables注⼊一些端口映射的规则,当使用 firewalld 时会产生冲突

  • https://wenku.baidu.com/view/3d8b2fe85cbfc77da26925c52cc58bd6318693c4.html

  • https://blog.csdn.net/qq_31927797/article/details/109454314

  • https://blog.csdn.net/rookie23rook/article/details/120297212


Source & Reference