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
firewall-cmd --add-service=jenkins --permanent && firewall-cmd --reload
8 删除services 服务和端口
firewall-cmd --remove-service=http # 阻止http端口 firewall-cmd --remove-port=80tcp # 阻止通过tcp访问3306