记录一些常用的firewall操作。
firewalld
: 动态防火墙后台程序
firewall-config
: 图形化的配置工具 firewall-cmd
: 命令行客户端
日常使用中,常用firewall-cmd
来进行配置
// 安装服务
# yum install firewalld -y
// 查看当前防火墙状态
# systemctl status firewalld
// 启用
# systemctl start firewalld
// 关闭
# systemctl stop firewalld
// 开机自启
# systemctl enable firewalld
// 关闭开机自启
# systemctl disable firewalld
需要注意的是,如果要使更改永久生效,需要加上--permanent
。这里的永久生效
是有一定的条件的,在命令执行完成后,需要执行防火墙重载或系统重启。若没有加该参数,是立即生效的,但在防火墙重载或系统重启后即失效。
// 重载配置
# firewall-cmd --reload
// 当前运行状态
$ firewall-cmd --state
// 当前活动的网络区(zone)
$ firewall-cmd --get-active-zones
// 查看指定zone的当前所有设置信息
$ firewall-cmd --zone=public --list-all
// 设置默认zone (立即生效 无需重载)
# firewall-cmd --set-default-zone=public
// 添加接口到网络区
# firewall-cmd --zone=public --add-interface=eth0 --permanent
// 打开TCP 80端口 (需重载 永久生效)
# firewall-cmd --zone=public --add-port=80/tcp --permanent
// 打开UDP 5000-5005端口 (立即生效)
# firewall-cmd --zone=public --add-port=5000-5005/udp
// SMTP服务加入 (需重载 永久生效)
# firewall-cmd --zone=public --add-service=smtp --permanent
// 关闭已开放的80端口
# firewall-cmd --zone=public --remove-port=80/tcp --permanent
// 关闭已开放的5000-5005端口
# firewall-cmd --zone=public --remove-port=5000-5005/udp
// 移除SMTP服务
# firewall-cmd --zone=public --remove-service=smtp --permanent