HCRM博客

如何在CentOS系统中成功开启特定端口?

CentOS 开启端口

背景介绍

如何在CentOS系统中成功开启特定端口?-图1
(图片来源网络,侵权删除)

在 CentOS 系统中,防火墙是用于控制进出系统网络流量的重要工具,它可以帮助管理员保护服务器免受未经授权的访问,默认情况下,CentOS 使用Firewalld 作为其防火墙管理工具,为了允许外部设备访问本机特定服务,需要手动开放相应的端口,Web 服务器通常使用 80 端口,而数据库服务器可能使用 3306 端口,了解如何在 CentOS 中开启和配置端口是非常重要的操作。

操作步骤

查看当前防火墙状态

需要检查firewalld 服务是否正在运行:

systemctl status firewalld

如果防火墙没有运行,可以使用以下命令启动:

sudo systemctl start firewalld

要使防火墙开机自启,可以执行:

sudo systemctl enable firewalld

查看已开放的端口

可以使用以下命令查看当前已经开放的端口:

如何在CentOS系统中成功开启特定端口?-图2
(图片来源网络,侵权删除)
firewallcmd listports

开启指定端口

假设需要开放 8080 端口以供 Web 服务使用,可以使用以下命令:

sudo firewallcmd zone=public addport=8080/tcp permanent

zone=public 表示作用域为公共区域。

addport=8080/tcp 指定要添加的端口号和协议。

permanent 参数表示永久生效,重启后仍然有效。

重新加载防火墙配置

修改防火墙规则后,需要重新加载配置使其生效:

sudo firewallcmd reload

验证端口是否成功开放

再次使用以下命令查看端口是否已成功开放:

如何在CentOS系统中成功开启特定端口?-图3
(图片来源网络,侵权删除)
sudo firewallcmd zone=public queryport=8080/tcp

如果输出为yes,则表示端口已成功开放。

常见问题与解决

问题1:如何临时开放一个端口?

临时开放端口不需要添加permanent 参数,

sudo firewallcmd zone=public addport=8080/tcp

这种设置将在防火墙重启后失效。

问题2:如何关闭已开放的端口?

可以使用removeport 参数来关闭指定的端口,

sudo firewallcmd zone=public removeport=8080/tcp permanent
sudo firewallcmd reload

这样可以确保端口被永久关闭。

问题3:如何更改现有端口的状态(从永久改为临时)?

可以先删除现有的永久规则,然后添加临时规则,对于 8080 端口:

sudo firewallcmd zone=public removeport=8080/tcp permanent
sudo firewallcmd zone=public addport=8080/tcp

这样,8080 端口就会变为临时开放状态。

相关FAQs

Q1:如何更改 firewalld 的默认区域?

A1:可以通过修改配置文件或使用命令行工具来更改默认区域,将默认区域设置为public

sudo firewallcmd setdefaultzone=public

也可以通过编辑/etc/firewalld/firewalld.conf 文件并更改DefaultZone 参数来实现。

Q2:如何允许特定 IP 地址访问某个端口?

A2:可以使用addrichrule 参数来添加丰富的规则,允许 IP 地址为192.168.1.100 的主机访问8080 端口:

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

这条规则只会允许来自指定 IP 地址的流量通过指定的端口。

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