Firewall-cmd 管理防火墙

用于 centos 相关的操作系统

基本操作

# 查看 firewall 服务状态
# 出现 Active: active (running) 表示是启动状态。
# 出现 Active: inactive (dead) 灰色表示停止,看单词也行。
systemctl status firewalld

# 查看 firewall 的状态
firewall-cmd --state

# 开启、重启、关闭、firewalld.service服务
service firewalld start
service firewalld restart
service firewalld stop

# 查看防火墙规则
firewall-cmd --list-all

查询、开放、关闭端口

# 查询端口是否开放
firewall-cmd --query-port=8080/tcp

# 开放80端口
firewall-cmd --permanent --add-port=80/tcp

# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp

#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload

参数解释

firwall-cmd -------- Linux提供的操作 firewall 的一个工具
--permanent -------- 表示设置为持久
--add-port --------- 标识添加的端口

操作实战

# 打开防火墙
systemctl start firewalld.service

# 重启防火墙
systemctl restart firewalld.service

# 查看配置结果,验证配置
firewall-cmd --list-all

# - Postgresql端口设置 -> 允许192.168.142.166访问5432端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="5432" accept"

# redis端口设置 -> 允许192.168.142.166访问6379端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="6379" accept"

# beanstalkd端口设置 -> 允许192.168.142.166访问11300端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="11300" accept"

# 删除规则
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="11300" accept"