centOS7的防火墙firewall的相关命令记录 | 开放端口 | 删除端口 | 查看已开放端口等等
某些centOS7版本可能会因为是最小发行版没有集成firewall管理工具,而有的就有。
今天在某虚拟主机上发现部署了某服务却始终连接不上,但是另一个较为精简的centOS7上却完美运行。最终发现是防火墙的策略问题。
在防火墙默认运行的主机上放行必要的端口,再reload,你的服务即可使用了~
执行:
firewall-cmd --permanent --add-port=12345/tcp
firewall-cmd --reload
这样就放行了12345端口~
好的正文来了
CentOS7 firewalld service
一、centOS7的防火墙启动关闭重启命令
centOS7已经开始使用systemd
工具来管理,推荐两篇学习systemd
的不错的博文,感谢原作者。
- Systemd 入门教程:命令篇 - 阮一峰的网络日志:
Systemd 入门教程:命令篇
- Systemd 入门教程:实战篇 - 阮一峰的网络日志:
Systemd 入门教程:实战篇
注意:下面命令中的firewalld省略了「.service」,但实际使用并不影响,使用tab键一般会补全
启动:
systemctl start firewalld
停止:
systemctl stop firewalld
重启:
systemctl restart firewalld
设置开机自启:
systemctl enable firewalld
查看是否已设置开机自启:
systemctl is-enabled firewalld
查看程序是否处于活跃状态:
systemctl is-active firewalld
查看程序运行状态:
systemctl status firewalld
二、放行一个端口的通讯
firewall-cmd --zone=public --add-port=520/udp --permanent
说明:
--zone 作用域范围
--add-port=520/udp 添加基于何种传输协议的端口,tcp或udp。基于udp的520端口用于选路信息协议(RIP)
--permanent 永久生效,不使用该option重启后刚才的设置会失效
三、放行多个端口
firewall-cmd --zone=public --add-port=6000-6050/tcp --permanent
四、查看已经放行的端口
firewall-cmd --zone=public --list-ports
centOS7
以下使用netstat -ant
centOS7
开始,使用ss -ant
五、删除端口
firewall-cmd --zone=public --remove-port=12345/tcp --permanent
注意:删除或新增后需要重载firewall-cmd或重启firewalld服务以生效。
六、添加服务
firewall-cmd --add-service=ftp --permanent
说明:永久添加ftp服务
七、删除服务
firewall-cmd --remove-service=ftp --permanent
说明:永久移除ftp服务
八、firewall-cmd 服务重载
firewall-cmd --reload
九、其他常用命令
查看防火墙状态:
firewall-cmd --state
列出支持的zone信息:
firewall-cmd --get-zones
列出支持的、已经配置的服务:
firewall-cmd --get-services
查询ftp服务是否已经配置或被支持,返回值布尔类型,yes 或 no:
firewall-cmd --query-service ftp
查看帮助:
man firewall-cmd
end.