CentOS防火墙操作命令
1、查看防火墙服务状态
| systemctl status firewalld.service |
或者查看防火墙的状态:
2、开启、重启防火墙
启动firewall:
1 | systemctl start firewalld.service |
设置开机自启或禁用:
1 | systemctl enable /disable firewalld.service |
重启防火墙:
1 | systemctl restart firewalld.service |
3、查看防火墙设置开机自启是否成功:
1 | systemctl is-enabled firewalld.service |
4、关闭防火墙
关闭运行的防火墙
1 | systemctl stop firewalld.service |
永久禁止防火墙服务,下次重启也不会开启
1 | systemctl disable firewalld.service |
5、开启特定端口
以80端口为例
1 2 3 4 5 6 7 8 9 10 11 12 | 开端口命令:firewall-cmd --zone=public --add-port=80 /tcp --permanent 重启防火墙:systemctl restart firewalld.service 关端口命令:firewall-cmd --zone=public --remove-port=80 /tcp --permanent 命令含义: firwall-cmd:是Linux提供的操作firewall的一个工具; --zone #作用域 --add-port=80 /tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效 |
6、查看开启的所有端口
1 | firewall-cmd --zone= public --list-ports(查看防火墙通过的端口)<br><br>netstat -ntlp //查看网络运行情况 |
7、查看防火墙规则
1 | firewall-cmd --list-all |
8、限制只允许指定的ip可以访问(也可以做内网之间不限制,外网不能访问)
1 | firewall-cmd --permanent --add-rich-rule= "rule family=" ipv4 " source address=" 192.168.1.1/32 " port protocol=" tcp " port=" 3306 " accept" <br><br>将 accept 设置为 reject表示拒绝,设置为 drop表示直接丢弃(会返回timeout连接超时) |
9、移除这条策略
1 | firewall-cmd --permanent --remove-rich-rule= "rule family=" ipv4 " source address=" 192.168.1.1 " port protocol=" tcp " port=" 3306 " accept" |
10、重新载入
firewall-cmd --reload
参考:
CentOS7开启防火墙及特定端口_centos7开放防火墙端口_郑璐璐的博客-CSDN博客
设置允许指定端口通过防火墙centos7_qq_40084534的博客-CSDN博客
https://www.cnblogs.com/xxoome/p/7115614.html
http://www.linuxcache.com/archives/3896
http://www.woniu.me/2017/12/08/CentOS7%E4%B9%8B%E9%98%B2%E7%81%AB%E5%A2%99(firewall)%E9%85%8D%E7%BD%AE.html