一、firewalld 守护进程
firewall-cmd命令需要firewalld进程处于运行状态。我们可以使用systemctl status/start/stop/restart firewalld来控制这个守护进程。firewalld进程为防火墙提供服务。
当我们修改了某些配置之后(尤其是配置文件的修改),firewall并不会立即生效。可以通过两种方式来激活最新配置systemctl restart firewalld
和firewall-cmd --reload
两种方式,前一种是重启firewalld服务,建议使用后一种“重载配置文件”。重载配置文件之后不会断掉正在连接的tcp会话,而重启服务则会断开tcp会话。
二、控制端口/服务
可以通过两种方式控制端口的开放,一种是指定端口号另一种是指定服务名。虽然开放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访问3306firewall-cmd --remove-port=80tcp # 阻止通过tcp访问3306firewall-cmd --add-port=233/udp # 开放通过udp访问233firewall-cmd --list-ports # 查看开放的端口
评论列表()