CentOS7 firewall防火墙常用操作
- 2019 年 12 月 29 日
- 筆記
记录一些常用的firewall操作。
介绍
firewalld
: 动态防火墙后台程序 firewall-config
: 图形化的配置工具 firewall-cmd
: 命令行客户端
日常使用中,常用firewall-cmd
来进行配置
使用
1. firewalld
// 安装服务 # yum install firewalld -y // 查看当前防火墙状态 # systemctl status firewalld // 启用 # systemctl start firewalld // 关闭 # systemctl stop firewalld // 开机自启 # systemctl enable firewalld // 关闭开机自启 # systemctl disable firewalld
2. permanent
需要注意的是,如果要使更改永久生效,需要加上--permanent
。这里的永久生效
是有一定的条件的,在命令执行完成后,需要执行防火墙重载或系统重启。若没有加该参数,是立即生效的,但在防火墙重载或系统重启后即失效。
// 重载配置 # firewall-cmd --reload
3. 查看配置
// 当前运行状态 $ firewall-cmd --state // 当前活动的网络区(zone) $ firewall-cmd --get-active-zones // 查看指定zone的当前所有设置信息 $ firewall-cmd --zone=public --list-all
4. 设置
// 设置默认zone (立即生效 无需重载) # firewall-cmd --set-default-zone=public // 添加接口到网络区 # firewall-cmd --zone=public --add-interface=eth0 --permanent
5. 增加开放端口/服务
// 打开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
6. 关闭开放的端口/服务
// 关闭已开放的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
参考
- https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/7/html/security_guide/sec-using_firewalls
- https://havee.me/linux/2015-01/using-firewalls-on-centos-7.html