Firewalld 是维护防火墙策略的守护程序的名称。使用 firewall-cmd 命令与防火墙配置进行交互, 使用区域概念对与系统交互的流量进行分段。网络接口分配给一个或多个区域,每个区域都包含允许的端口和服务的列表。默认区域还可用于管理与任何区域都不匹配的流量。
0 语法规则
Usage: firewall-cmd [OPTIONS...]
General Options
-h, --help Prints a short help text and exists
-V, --version Print the version string of firewalld
-q, --quiet Do not print status messages
Status Options
--state Return and print firewalld state
--reload Reload firewall and keep state information
--complete-reload Reload firewall and lose state information
--runtime-to-permanent
Create permanent from runtime configuration
--check-config Check permanent configuration for errors
1. 状态检查
firewall-cmd --state
2 如果没有开启,可以先开启
systemctl start firewalld && systemctl --enable firewalld
3查看现有防护策略
# 查看防火墙,添加的端口也可以看到
firewall-cmd --list-all
# 显示支持的区域列表
firewall-cmd --get-zones
# 显示所有公共区域(public)
firewall-cmd --zone=public --list-all
4 查看默认zone配置,默认是public
firewall-cmd --get-default-zone
5.添加端口访问 ,使用 --add-port
参数,例如设置80端口TCP访问:
firewall-cmd --add-port=80/tcp
上面规则会在机器重启时,策略失效,需要添加参数 --permanent
保证长期有效
firewall-cmd --add-port=80/tcp --permanent
6 重新加载firewall 配置
firewall-cmd --reload
7 添加services 服务
查看当前支持的系统service:
firewall-cmd --get-services
添加http service 服务
firewall-cmd --add-service=http --permanent && firewall-cmd --reload
添加 Jenkins service:
firewall-cmd --add-service=jenkins --permanent && firewall-cmd --reload
8 删除services 服务和端口
firewall-cmd --remove-service=http # 阻止http端口
firewall-cmd --remove-port=80tcp # 阻止通过tcp访问3306