CentOS防火墙管理:查询与配置开放端口的技巧

在CentOS操作系统中,最常用于防火墙管理的服务是 firewalld,该服务允许用户动态管理网络防火墙,并支持网络区域定义。以下是 firewalld用于查询和配置开放端口所需技巧的详尽讲解

查询开放端口

要查看当前所有允许的服务和开放的端口,可使用以下命令:

  1. 查看状态:firewall-cmd --state,这个命令可以确认 firewalld的运行状态。

  2. 查询当前活动区域:firewall-cmd --get-active-zones,区域(zones)定义了信任级别,不同的区域可以应用不同的规则。

  3. 查看指定区域的所有允许的服务和开放的端口(例如区域为 public):

    firewall-cmd --zone=public --list-all

    这个命令将列出 public区域的所有设置,包括服务和开放端口。

配置开放端口

在 firewalld中开放新端口可以按如下步骤进行:

  1. 添加一个端口规则(例如开放TCP端口 8080):

    firewall-cmd --zone=public --add-port=8080/tcp

    这个命令将即时添加规则在 public区域中开放TCP端口 8080

  2. 使改动永久生效(如果希望在重新启动后继续生效):

    firewall-cmd --zone=public --add-port=8080/tcp --permanent
  3. 验证端口规则是否添加成功:

    firewall-cmd --zone=public --list-ports

    这个命令将列出 public区域当前开放的所有端口。

  4. 如果需要删除刚才添加的规则,可以使用:

    firewall-cmd --zone=public --remove-port=8080/tcp

    同样,如果删除操作希望永久有效,添加 --permanent选项。

  5. 重新加载防火墙规则,让永久添加的规则生效:

    firewall-cmd --reload

    这个操作将不会中断当前的连接。

  6. 如果需要开放某个服务,比如 http,可以使用:

    firewall-cmd --zone=public --add-service=http

    多数常见服务(如HTTP, HTTPS, SSH等)都已经在 firewalld的服务列表中预定义,可以直接被添加。

  7. 与端口操作类似,服务的添加和删除都可以使用 --permanent选项使之永久有效,并且可以使用 --list-services查询当前开放的服务。

高级配置

  1. 如果需要从特定来源IP开放端口,可以使用:

    firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.101/32" port protocol="tcp" port="8080" accept'
  2. 为端口指定特定的流量类型(如限制为某个网卡),可以在添加端口时指定接口:

    firewall-cmd --zone=public --add-port=8080/tcp --interface=eth0

结语

遵循以上步骤,CentOS系统管理员能够灵活地查询和管理系统端口的开放情况,并且能适用于大多数防火墙管理场合。务必在改变防火墙规则后认真审核和测试,以确保网络安全性与服务的正常运行。

posted @ 2025-09-06 18:05  小前端攻城狮  阅读(30)  评论(0)    收藏  举报