CentOS7防火墙及开放端口
CentOS7作为企业级Linux发行版,其安全性和稳定性备受青睐,在网络管理中,防火墙的配置尤为重要,本文将详细介绍CentOS7下防火墙的基本操作以及如何开放特定端口,帮助用户更好地理解和管理防火墙设置。
一、防火墙
CentOS7使用firewalld
作为默认的防火墙管理工具,相比传统的iptables
,firewalld
提供了更加动态和灵活的管理方式,它支持多种网络区域(zone),每个区域可以定义不同的规则集,从而提供细粒度的网络访问控制。
二、防火墙状态管理
1、查看防火墙状态:
firewall-cmd --state
输出示例:running,表示防火墙正在运行。
2、启动防火墙:
systemctl start firewalld
3、停止防火墙:
systemctl stop firewalld
4、重启防火墙:
firewall-cmd --reload
或
systemctl restart firewalld
5、设置防火墙开机自启:
systemctl enable firewalld
6、禁止防火墙开机自启:
systemctl disable firewalld
三、开放与关闭端口
1. 开放单个端口
假设我们需要开放HTTP服务常用的80端口,可以使用以下命令:
firewall-cmd --zone=public --add-port=80/tcp --permanent
此命令的含义如下:
--zone=public
:指定操作的作用域为public
。
--add-port=80/tcp
:添加TCP协议的80端口。
--permanent
:使配置永久生效,即使系统重启后也不会失效。
完成上述命令后,需要重新加载防火墙配置以使更改生效:
firewall-cmd --reload
2. 开放多个端口
如果需要一次性开放多个端口,例如TCP协议的20000到29999端口范围,可以使用以下命令:
firewall-cmd --zone=public --add-port=20000-29999/tcp --permanent
同样地,执行完毕后需要重新加载防火墙配置:
firewall-cmd --reload
3. 关闭端口
假设我们不再需要80端口保持开放,可以将其关闭:
firewall-cmd --zone=public --remove-port=80/tcp --permanent
同样,执行完毕后需要重新加载防火墙配置:
firewall-cmd --reload
4. 查询端口是否开放
可以使用以下命令查询某个端口是否已开放:
firewall-cmd --zone=public --query-port=80/tcp
输出示例:yes,表示该端口已开放;no,表示该端口未开放。
四、查看已开放的端口
要查看当前所有已开放的端口,可以使用:
firewall-cmd --list-ports
输出示例:
80/tcp 22/tcp 20000-29999/tcp
五、高级配置与管理
除了基本的开放和关闭端口外,firewalld
还支持丰富的规则配置,如源地址限制、服务管理、ICMP类型控制等,以下是一些常用的高级配置命令示例:
1、允许特定IP访问:
firewall-cmd --zone=public --add-source=192.168.1.100/32 --permanent
2、开放特定服务:
firewall-cmd --zone=public --add-service=http --permanent
3、允许特定的ICMP类型:
firewall-cmd --zone=public --add-icmp-block-inversion=2 --permanent
六、常见问题解答(FAQs)
问题1:如何在CentOS7中永久开放TCP协议的8080端口?
答:要在CentOS7中永久开放TCP协议的8080端口,请执行以下命令:
firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1413357.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复