防火墙的开启和关闭
# 启动防火墙
systemctl start firewalld
# 设置开机自启
systemctl enable firewalld
# 停用防火墙
systemctl stop firewalld.service
# 禁止防火墙开机自启
systemctl disable firewalld.service
# 查看防火墙状态,是否是running
firewall-cmd --state
# 重启防火墙,改动配置后一般要执行该命令
firewall-cmd --reload
添加端口白名单
# 查看白名单列表
firewall-cmd --zone=public --list-ports
# 添加白名单端口,其中 2181 是要添加的端口
firewall-cmd --zone=public --add-port=2181/tcp --permanent
# 重启防火墙
firewall-cmd --reload
zone 的概念
由 firewalld 提供的区域按照从不信任到信任的顺序排序
1,丢弃 drop
任何流入网络的包都被丢弃,不作出任何响应。只允许流出的网络连接。
2,阻塞 block
任何进入的网络连接都被拒绝,并返回 IPv4 的 icmp-host-prohibited 报文或者 IPv6 的 icmp6-adm-prohibited 报文。只允许由该系统初始化的网络连接。
3,公开 public
用以可以公开的部分。你认为网络中其他的计算机不可信并且可能伤害你的计算机。只允许选中的连接接入。
4,外部 external
用在路由器等启用伪装的外部网络。你认为网络中其他的计算机不可信并且可能伤害你的计算机。只允许选中的连接接入。
5,隔离区dmz
用以允许隔离区(dmz)中的电脑有限地被外界网络访问。只接受被选中的连接。
6,工作 work
用在工作网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
7,家庭 home
用在家庭网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
8,内部 internal
用在内部网络。你信任网络中的大多数计算机不会影响你的计算机。只接受被选中的连接。
9,受信任的 trusted
允许所有网络连接
firewall-cmd --zone=dmz --list-ports
其它
# 列出支持的服务,在列表中的服务是放行的
firewall-cmd --get-services
# 作用域
--zone
# 永久生效,没有此参数重启后失效
--permanent