CentOS防火墙管理:查询与配置开放端口的技巧
在CentOS操作系统中,最常用于防火墙管理的服务是 firewalld,该服务允许用户动态管理网络防火墙,并支持网络区域定义。以下是 firewalld用于查询和配置开放端口所需技巧的详尽讲解
查询开放端口
要查看当前所有允许的服务和开放的端口,可使用以下命令:
-
查看状态:
firewall-cmd --state,这个命令可以确认firewalld的运行状态。 -
查询当前活动区域:
firewall-cmd --get-active-zones,区域(zones)定义了信任级别,不同的区域可以应用不同的规则。 -
查看指定区域的所有允许的服务和开放的端口(例如区域为
public):firewall-cmd --zone=public --list-all这个命令将列出
public区域的所有设置,包括服务和开放端口。
配置开放端口
在 firewalld中开放新端口可以按如下步骤进行:
-
添加一个端口规则(例如开放TCP端口
8080):firewall-cmd --zone=public --add-port=8080/tcp这个命令将即时添加规则在
public区域中开放TCP端口8080。 -
使改动永久生效(如果希望在重新启动后继续生效):
firewall-cmd --zone=public --add-port=8080/tcp --permanent -
验证端口规则是否添加成功:
firewall-cmd --zone=public --list-ports这个命令将列出
public区域当前开放的所有端口。 -
如果需要删除刚才添加的规则,可以使用:
firewall-cmd --zone=public --remove-port=8080/tcp同样,如果删除操作希望永久有效,添加
--permanent选项。 -
重新加载防火墙规则,让永久添加的规则生效:
firewall-cmd --reload这个操作将不会中断当前的连接。
-
如果需要开放某个服务,比如
http,可以使用:firewall-cmd --zone=public --add-service=http多数常见服务(如HTTP, HTTPS, SSH等)都已经在
firewalld的服务列表中预定义,可以直接被添加。 -
与端口操作类似,服务的添加和删除都可以使用
--permanent选项使之永久有效,并且可以使用--list-services查询当前开放的服务。
高级配置
-
如果需要从特定来源IP开放端口,可以使用:
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.101/32" port protocol="tcp" port="8080" accept' -
为端口指定特定的流量类型(如限制为某个网卡),可以在添加端口时指定接口:
firewall-cmd --zone=public --add-port=8080/tcp --interface=eth0
结语
遵循以上步骤,CentOS系统管理员能够灵活地查询和管理系统端口的开放情况,并且能适用于大多数防火墙管理场合。务必在改变防火墙规则后认真审核和测试,以确保网络安全性与服务的正常运行。
浙公网安备 33010602011771号