Firewalld即Dynamic Firewall Manager of Linux systems,Linux系统的动态防火墙管理器。Firewalld是一个服务,用于配置网络连接,从而哪些内外部网络的数据包可以允许穿过网络或阻止穿过网络。

区域规则

drop(丢弃)
任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。
block(限制)
任何接收的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝。
public(公共)
在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接。
external(外部)
特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接。
dmz(非军事区)
用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接。
work(工作)
用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收经过选择的连接。
home(家庭)
用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接。
internal(内部)
用于内部网络。您可以基本上信任网络内的其他计算机不会威胁您的计算机。仅仅接受经过选择的连接。
trusted(信任)
可接受所有的网络连接。
指定其中一个区域为默认区域是可行的。当接口连接加入了 NetworkManager,它们就被分配为默认区域。安装时,firewalld 里的默认区域被设定为公共区域。

使用方法

查看当前的区域

firewall-cmd --get-default-zone

查询eth1网卡区域

firewall-cmd --get-zone-of-interface=eth1

查询public中相关服务是否被允许
firewall-cmd --zone=public --query-service=ssh
firewall-cmd --zone=public --query-service=http
列出所有支持的 service

firewall-cmd --get-services

查看当前zone加载的 service

firewall-cmd --list-services

让配置文件立即生效

firewall-cmd --reload

允许https服务流量通过public
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
允许80端口通过public
firewall-cmd --permanent --zone=public --add-port=80/tcp 
firewall-cmd --reload
修改eth1网卡区域为external
firewall-cmd --permanent --zone=external --change-interface=eth1
firewall-cmd --reload
拒绝172.27.10.0/22网络用户访问ssh
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="172.27.10.0/22" service name="ssh" reject"
重读防火墙

并不中断用户连接,即不丢失状态信息:

firewall-cmd --reload

中断用户连接,丢弃状态信息:

firewall-cmd --complete-reload

注意:通常在防火墙出现严重问题时,这个命令才会被使用。如防火墙规则正确,但态信息不正确和无法建立连接等。

设置默认区域

firewall-cmd --set-default-zone=work
注意:流入默认区域中配置的接口的新访问请求将被置入新的默认区域,当前活动的连接将不受影响。

获取活动的区域

firewall-cmd --get-active-zones

根据接口获取区域
firewall-cmd –get-zone-of-interface=<interface>
firewall-cmd --get-zone-of-interface=eth1
修改接口所属区域

“`firewall-cmd [–zone=] –change-interface=

列举区域中启用的服务

firewall-cmd [ –zone= ] –list-services“`

启用应急模式阻断所有网络连接

firewall-cmd --panic-on

禁用应急模式

firewall-cmd --panic-off

查询应急模式

firewall-cmd --query-panic

启用区域中的一种服务

firewall-cmd [--zone=<zone>] --add-service=<service> [--timeout=<seconds>]

使区域中的 ipp-client 服务生效60秒:

firewall-cmd --zone=home --add-service=ipp-client --timeout=60

图形管理工具firewall-config

图形化配置比较简单,这里就不赘述了。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐