CentOS7 Firewall常用命令汇总
firewalld基本使用
# 启动:
systemctl start firewalld
# 查看状态: 是否运行,下面两个命令都可以
systemctl status firewalld
firewall-cmd --state
#停止:
systemctl disable firewalld
#禁用:关闭防火墙,如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估
systemctl stop firewalld
防火墙开放端口
# 开放5003端口, --permanent 永久生效,没有此参数重启后失效
[root@localhost docker]# firewall-cmd --zone=public --add-port=5003/tcp --permanent
success
# 这边没更新防火墙规则,所以命令查看不到
[root@localhost docker]# firewall-cmd --list-ports
# 配置立即生效,更新防火墙规则
[root@localhost docker]# firewall-cmd --reload
success
# 查看防火墙所有开放的端口
[root@localhost docker]# firewall-cmd --zone=public --list-ports
5003/tcp
关闭5003端口
firewall-cmd --zone=public --remove-port=5003/tcp --permanent
防火墙限制IP访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="x.x.x.x" port protocol="tcp" port="80" reject"
firewall-cmd --reload
firewall-cmd --zone=public --list-rich-rules | 查看已经设置的规则
移除策略:
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="x.x.x.x" port protocol="tcp" port="80" reject"
也可尝试直接编辑规则文件,删掉原来的设置规则,重新载入一下防火墙即可
vi /etc/firewalld/zones/public.xml