防火墙相关命令:
1、查看防火墙状态:systemctl status firewalld
2、开放某一个端口:firewall-cmd --zone=public --add-port=8080/tcp --permanent
3、删除某一个端口:firewall-cmd --zone=public --remove-port=8080/tcp --permanent
4、查看防火墙开通了哪些端口:firewall-cmd --zone=public --list-ports
5、增加或者删除后,需要执行一下:firewall-cmd --reload 才可生效
6、打开防火墙:systemctl start firewalld
7、关闭防火墙:systemctl stop firewalld
这几个命令,足够在日常系统管理中使用了,而且很有效!
补充其他几个会用到的命令:
如果开启防火墙之后,想让某个ip访问该服务器的某个端口,那么可以执行以下命令来处理:
-
创建一个自定义的区域(比如叫 custom_zone):
firewall-cmd --permanent --new-zone=custom_zone
-
将需要开放的端口添加到该区域(假设服务端口是 8080):
firewall-cmd --permanent --zone=custom_zone --add-port=8080/tcp
-
允许特定的 IP 访问该区域:
firewall-cmd --permanent --zone=custom_zone --add-source=192.168.1.10 firewall-cmd --permanent --zone=custom_zone --add-source=192.168.1.20
-
重新加载防火墙配置:
firewall-cmd --reload
-
使用firewall-cmd --list-all-zones
等命令查看相关规则是否确实添加成功[root@qgzmq01 benchmark]# firewall-cmd --list-all-zones block target: %%REJECT%% icmp-block-inversion: no interfaces: sources: services: ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: custom_zone (active) target: default icmp-block-inversion: no interfaces: sources: xxx.xx.x.xx //可以访问的那个ip services: ports: 8080/tcp,9876/tcp //可以对开放ip开放的访问的端口 protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules: ...