firewalld简介
firewalld 是 Red Hat 系发行版中默认的防火墙管理工具,基于网络区域的安全规则,控制端口、服务和源地址的访问权限。
在 firewalld 中,可以通过黑白名单的方式来控制访问。黑白名单的概念如下:
白名单(允许名单):只允许特定的IP地址或网络访问指定的服务或端口。
黑名单(拒绝名单):拒绝特定的IP地址或网络访问指定的服务或端口。
以下是如何在 firewalld 中添加黑白名单的步骤:
1. 添加或删除端口
添加端口到白名单
# 添加端口到默认区域 firewalld 的默认区域是 public
firewall-cmd --zone=public --add-port=8080/tcp
# 添加端口并永久生效
firewall-cmd --zone=public --add-port=8080/tcp --permanent
从白名单中删除端口
# 从默认区域删除端口
firewall-cmd --zone=public --remove-port=8080/tcp
# 永久删除端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
2. 添加或删除服务
添加服务到白名单
# 添加服务到默认区域
firewall-cmd --zone=public --add-service=http
# 添加服务并永久生效
firewall-cmd --zone=public --add-service=http --permanent
从白名单中删除服务
# 从默认区域删除服务
firewall-cmd --zone=public --remove-service=http
# 永久删除服务
firewall-cmd --zone=public --remove-service=http --permanent
3. 添加或删除IP地址
添加IP地址到黑名单
# 拒绝来自特定IP的访问
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
# 永久拒绝IP
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject' --permanent
从黑名单中删除IP地址
# 移除对特定IP的拒绝规则
firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
# 永久移除对IP的拒绝规则
firewall-cmd --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" reject' --permanent
查看 firewalld 已经开启的策略
firewall-cmd --list-all
注意事项
在执行了 --permanent 参数的命令后,需要重新加载 firewalld 以使更改生效:
firewall-cmd --reload
或
# systemctl restart firewalld