firewall
配置firewalld
# 查看版本
firewall-cmd --version
# 查看帮助
firewall-cmd --help
查看设置
# 显示状态
firewall-cmd --state
# 查看区域信息
firewall-cmd --get-active-zones
# 查看指定接口所属区域
firewall-cmd --get-zone-of-interface=eth0
# 拒绝所有包
firewall-cmd --panic-on
# 取消拒绝状态
firewall-cmd --panic-off
# 查看是否拒绝
firewall-cmd --query-panic
# 更新防火墙规则
# 两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务
firewall-cmd --reload
firewall-cmd --complete-reload
开放指定端口
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 作用域
--zone
# 添加端口,格式为:端口/通讯协议
--add-port=80/tcp
# 永久生效,没有此参数重启后失效
--permanent
开放指定服务
firewall-cmd --permanent --add-service http
firewall-cmd --permanent --add-service ftp
规则更新
# 将接口添加到区域,默认接口都在 public
# 永久生效再加上 --permanent 然后 reload 防火墙
firewall-cmd --zone=public --add-interface=eth0
# 设置默认接口区域,立即生效无需重启
firewall-cmd --set-default-zone=public
# 查看所有打开的端口
# firewall-cmd --zone=dmz --list-ports
# 加入一个端口到区域,若要永久生效方法同上
firewall-cmd --zone=dmz --add-port=8080/tcp
# 打开一个服务,类似于将端口可视化,服务需要在配置文件中添加,/etc/firewalld 目录下有services文件夹,这个不详细说了,详情参考文档
firewall-cmd --zone=work --add-service=smtp
# 移除服务
firewall-cmd --zone=work --remove-service=smtp
常用命令
# 重启防火墙
systemctl restart firewalld
# 启动服务
systemctl start firewalld
# 服务状态
systemctl status firewalld
firewall-cmd --state
# 停止服务
systemctl disable firewalld
# 禁用服务
systemctl stop firewalld
# 重载,使配置生效
firewall-cmd --reload