赞
踩
查看防火墙的状态
- firewall-cmd --state
-
- # 或
-
- systemctl status firewalld
启动防火墙命令
- # 如果不行,可以在firewalld后面加上.service
- systemctl start firewalld
关闭防火墙命令
systemctl stop firewalld
- # 把 SELINUX=enforcing 修改为 SELINUX=disabled
- vi /etc/selinux/config
开机时禁用防火墙的命令
systemctl disable firewalld
列举出已经开放的端口
firewall-cmd --list-ports
查询指定端口是否已经开放,返回yes/no。也有可能返回firewalld is not running,此时需要打开防火墙在开放端口。
firewall-cmd --query-port=8848/tcp
添加指定需要开放的端口
- firewall-cmd --add-port=8848/tcp --permanent
-
- # 或者
-
- firewall-cmd --zone=public --add-port=80/tcp --permanent
移除指定端口:
firewall-cmd --permanent --remove-port=8848/tcp
重启防火墙
firewall-cmd --reload
-
- firewall-cmd --version # 查看版本
- firewall-cmd --help # 查看帮助
-
- # 查看设置:
- firewall-cmd --state # 显示状态
- firewall-cmd --get-active-zones # 查看区域信息
- firewall-cmd --get-zone-of-interface=eth0 # 查看指定接口所属区域
- firewall-cmd --panic-on # 拒绝所有包
- firewall-cmd --panic-off # 取消拒绝状态
- firewall-cmd --query-panic # 查看是否拒绝
-
- firewall-cmd --reload # 更新防火墙规则
- firewall-cmd --complete-reload
- # 两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务
-
-
- # 将接口添加到区域,默认接口都在public
- firewall-cmd --zone=public --add-interface=eth0
- # 永久生效再加上 --permanent 然后reload防火墙
-
- # 设置默认接口区域,立即生效无需重启
- firewall-cmd --set-default-zone=public
-
- # 查看所有打开的端口:
- firewall-cmd --zone=dmz --list-ports
-
- # 加入一个端口到区域:
- firewall-cmd --zone=dmz --add-port=8080/tcp
- # 若要永久生效方法同上
-
- # 打开一个服务,类似于将端口可视化,服务需要在配置文件中添加,/etc/firewalld 目录下有services文件夹,这个不详细说了,详情参考文档
- firewall-cmd --zone=work --add-service=smtp
-
- # 移除服务
- firewall-cmd --zone=work --remove-service=smtp
-
- # 显示支持的区域列表
- firewall-cmd --get-zones
-
- # 设置为家庭区域
- firewall-cmd --set-default-zone=home
-
- # 查看当前区域
- firewall-cmd --get-active-zones
-
- # 设置当前区域的接口
- firewall-cmd --get-zone-of-interface=enp03s
-
- # 显示所有公共区域(public)
- firewall-cmd --zone=public --list-all
-
- # 临时修改网络接口(enp0s3)为内部区域(internal)
- firewall-cmd --zone=internal --change-interface=enp03s
-
- # 永久修改网络接口enp03s为内部区域(internal)
- firewall-cmd --permanent --zone=internal --change-interface=enp03s
控制端口 / 服务
可以通过两种方式控制端口的开放,一种是指定端口号另一种是指定服务名。虽然开放 http 服务就是开放了 80 端口,但是还是不能通过端口号来关闭,也就是说通过指定服务名开放的就要通过指定服务名关闭;通过指定端口号开放的就要通过指定端口号关闭。还有一个要注意的就是指定端口的时候一定要指定是什么协议,tcp 还是 udp。知道这个之后以后就不用每次先关防火墙了,可以让防火墙真正的生效。
- firewall-cmd --add-service=mysql # 开放mysql端口
- firewall-cmd --remove-service=http # 阻止http端口
- firewall-cmd --list-services # 查看开放的服务
- firewall-cmd --add-port=3306/tcp # 开放通过tcp访问3306
- firewall-cmd --remove-port=80tcp # 阻止通过tcp访问3306
- firewall-cmd --add-port=233/udp # 开放通过udp访问233
- firewall-cmd --list-ports # 查看开放的端口
- # 查看网卡名 ens160
- nmcli connection show
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。