HCRM博客

如何在CentOS中管理端口开放和查看?

在 CentOS 操作系统中,端口号是网络通信的重要组成部分,用于标识不同的网络服务和应用程序,本文将详细介绍 CentOS 系统中的端口号管理,包括如何查看、开放和关闭端口,以及相关的常见问题解答。

一、CentOS 端口号

在 CentOS 7 及更高版本中,默认使用firewalld 作为防火墙管理工具。firewalld 支持动态管理防火墙规则,允许管理员通过命令行工具轻松配置端口的开放与关闭,以是一些常用的firewalld 命令及其功能:

如何在CentOS中管理端口开放和查看?-图1
(图片来源网络,侵权删除)

1、检查防火墙状态

   sudo systemctl status firewalld

此命令用于检查firewalld 服务是否正在运行。

2、开放指定端口

   sudo firewallcmd zone=public addport=6690/tcp permanent

此命令将永久开放 6690 端口(TCP 协议),参数说明:

zone=puBLic:指定防火墙区域为公共区域。

addport=6690/tcp:添加要开放的端口和协议。

如何在CentOS中管理端口开放和查看?-图2
(图片来源网络,侵权删除)

permanent:使更改永久生效。

3、重新加载防火墙规则

   sudo firewallcmd reload

此命令用于重新加载防火墙规则,使之前的更改生效。

4、查看已开放的端口

   sudo firewallcmd zone=public listports

此命令列出公共区域中所有已开放的端口。

5、关闭指定端口

如何在CentOS中管理端口开放和查看?-图3
(图片来源网络,侵权删除)
   sudo firewallcmd zone=public removeport=6690/tcp permanent

此命令将永久关闭之前开放的 6690 端口。

二、CentOS 端口号管理实践

1. 查看当前开放的端口

要查看当前系统中所有开放的端口,可以使用以下命令:

sudo netstat ntlp

此命令将显示所有监听的 TCP 和 UDP 端口及其对应的进程信息,输出示例如下:

Proto RecvQ SendQ Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1234/sshd
...

Local Address 列显示了本地地址和端口号,例如0.0.0.0:22 表示监听所有 IP 地址上的 22 端口(SSH 服务)。

2. 开放特定端口

假设需要开放 8080 端口以运行 Web 服务器,可以执行以下步骤:

1、开放 8080 端口(TCP)

   sudo firewallcmd zone=public addport=8080/tcp permanent

2、重新加载防火墙规则

   sudo firewallcmd reload

3、验证端口是否开放

   sudo firewallcmd zone=public queryport=8080/tcp

如果返回yes,则表示端口已成功开放。

3. 关闭特定端口

如果需要关闭某个不再使用的端口,8080 端口,可以执行以下步骤:

1、关闭 8080 端口(TCP)

   sudo firewallcmd zone=public removeport=8080/tcp permanent

2、重新加载防火墙规则

   sudo firewallcmd reload

3、验证端口是否关闭

   sudo firewallcmd zone=public queryport=8080/tcp

如果返回no,则表示端口已成功关闭。

4. 查看特定端口的详细信息

要查看某个特定端口(8080)被哪个进程占用,可以使用以下命令:

sudo netstat ntlp | grep 8080

输出示例如下:

tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      5678/nginx

5678/nginx 表示该端口被 PID 为 5678 的 nginx 进程占用。

三、CentOS 端口号管理注意事项

1、安全性考虑:开放端口会增加系统的安全风险,因此应只开放必要的端口,并遵循最小权限原则,建议定期审查和更新防火墙规则。

2、服务依赖性:某些服务可能依赖于特定的端口进行通信,在关闭或更改端口设置时,请确保相关服务不会受到影响。

3、持久化设置:使用permanent 参数可以使防火墙规则在系统重启后仍然有效,如果不使用该参数,更改将在系统重启后丢失。

4、日志记录:定期检查系统日志(如/var/log/messages/var/log/secure),以监控防火墙规则的变化和潜在的安全事件。

四、CentOS 端口号管理常见问题解答(FAQs)

问题1:如何在 CentOS 中快速关闭所有开放的端口?

答:可以通过停止firewalld 服务来快速关闭所有开放的端口,但这样做会完全禁用防火墙保护,执行以下命令即可:

sudo systemctl stop firewalld.service
sudo systemctl disable firewalld.service

这种方法仅适用于临时禁用防火墙的情况,如果需要长期禁用防火墙,请谨慎操作,并确保系统有足够的其他安全措施。

问题2:如何在 CentOS 中限制特定 IP 访问指定端口?

答:可以通过firewalld 的富规则功能来实现,要允许特定 IP(如 192.168.1.100)访问 8080 端口,而拒绝其他所有访问,可以执行以下步骤:

1、添加富规则

   sudo firewallcmd permanent addrichrule='rule family="ipv4" source address="192.168.1.100" port port="8080" protocol="tcp" accept'

2、拒绝其他所有访问

   sudo firewallcmd permanent addrichrule='rule family="ipv4" port port="8080" protocol="tcp" reject'

3、重新加载防火墙规则

   sudo firewallcmd reload

这样,只有来自 192.168.1.100 的请求才能访问 8080 端口,其他所有请求将被拒绝。

CentOS 中的端口号管理是系统安全和维护的重要组成部分,通过合理配置firewalld,管理员可以灵活地控制网络流量,保护系统免受未经授权的访问,随着技术的发展和威胁的不断演变,管理员需要保持警惕,定期审查和更新防火墙规则,以确保系统的安全性和稳定性,希望本文提供的指南和最佳实践能够帮助您更好地管理 CentOS 系统中的端口号。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/13221.html

分享:
扫描分享到社交APP
上一篇
下一篇