Centos升级到7之后,发现无法使用iptables控制Linux的端口,google之后发现Centos 7使用firewalld代替了原来的iptables。 但是在CentOS7中也可以iptables控制防火墙,只不过需要安装iptables模块,具体做法请参考:Linux:CentOS7下配置 iptables
一、系统命令
1、systemctl start firewalld #启动
2、systemctl status firewalld #查看运行状态
3、systemctl stop firewalld #关闭
4、systemctl disable firewalld.service #禁止开机启动
5、firewall-cmd --state #查看默认防火墙状态
6、firewall-cmd --reload #重启防火墙
二、端口命令
1、firewall-cmd --zone=public --add-port=80/tcp --permanent #添加端口(--permanent表示永久生效,没有此参数重启后失效)
2、firewall-cmd --zone=public --query-port=80/tcp #查看防火墙80端口
3、firewall -cmd --zone=public --remove-port=80/tcp --permanent #删除防火墙80端口
三、语法
1、--zone #作用域
2、--add-port=80/tcp #添加端口,格式为:端口/通讯协议
3、--permanent #永久生效,没有此参数重启后失效
四、防火墙常用命令。
1, 查看防火墙状态:
firewall-cmd --state
systemctl status firewalld.service
2, 开启防火墙:
systemctl start firewalld.service
3,设置开机自启:
systemctl enable firewalld.service
4, 重启防火墙:
systemctl restart firewalld.service
5, 查看防火墙设置开机自启是否成功:
systemctl is-enabled firewalld.service;echo $?
6,关闭防火墙:
systemctl stop firewalld.service
7,开端口命令:
打开单个端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
打开多个端口:firewall-cmd --zone=public --add-port=20000-29999/tcp --permanent
--permanent 为永久生效,不加为单次有效(重启失效)
8,查看开启端口:
netstat -ntlp 或:firewall-cmd --list-ports
9,关闭端口命令:
firewall-cmd --zone= public --remove-port=80/tcp --permanent
10、查看端口是否打开
firewall-cmd --zone= public --query-port=80/tcp
这是centos7防火墙开放端口常用的命令,建议收藏,以备不时之需。