HCRM博客

如何在 CentOS 系统上访问特定端口?

在 CentOS 系统中,访问端口是一个常见的操作,通常用于网络服务的配置和管理,以下是关于 CentOS 访问端口的详细指南:

使用 firewalld 开放端口

firewalld 是 CentOS 7 默认的防火墙管理工具,以下是使用 firewalld 开放端口的步骤:

如何在 CentOS 系统上访问特定端口?-图1
(图片来源网络,侵权删除)

1、检查防火墙状态

确保 firewalld 服务正在运行,可以使用以下命令检查:

     sudo systemctl status firewalld

如果返回 “running”,则表示防火墙正在运行且正常工作。

2、开放指定端口

使用以下命令开放指定端口,6690 端口:

     sudo firewallcmd zone=public addport=6690/tcp permanent

上述命令中的zone 参数指定了防火墙区域,通常使用public 表示公共区域;addport 参数指定了要开放的端口号和协议(这里是 6690/tcp);permanent 参数表示将修改永久保存。

如何在 CentOS 系统上访问特定端口?-图2
(图片来源网络,侵权删除)

3、重新加载防火墙规则

为了使新的端口开放规则生效,需要重新加载防火墙规则:

     sudo firewallcmd reload

4、检查端口是否已成功开放

可以使用以下命令检查指定端口是否已经开放:

     sudo firewallcmd zone=public listports

如果看到类似以下输出,表示端口已经成功开放:

     6690/tcp

使用 iptables 开放端口

除了 firewalld,还可以使用 iptables 来开放端口,以下是使用 iptables 开放端口的步骤:

如何在 CentOS 系统上访问特定端口?-图3
(图片来源网络,侵权删除)

1、安装 iptables

如果系统上没有安装 iptables,可以使用以下命令安装:

     sudo yum install iptables y

2、开放指定端口

使用以下命令开放指定端口,80 端口:

     sudo iptables I INPUT p tcp dport 80 j ACCEPT

上述命令中的I INPUT 表示在输入链中插入规则;p tcp 表示协议为 TCP;dport 80 表示目标端口为 80;j ACCEPT 表示接受该流量。

3、保存 iptables 规则

为了使 iptables 规则在系统重启后仍然有效,需要保存规则:

     sudo service iptables save

4、重新启动 iptables 服务

重新启动 iptables 服务以使新的规则生效:

     sudo systemctl restart iptables

查看已开放的端口

无论使用哪种工具,都可以通过以下方法查看已开放的端口:

1、使用 firewalld 查看

使用以下命令查看已开放的端口:

     sudo firewallcmd zone=public listports

2、使用 iptables 查看

使用以下命令查看当前的 iptables 规则,包括开放的端口:

     sudo iptables nL linenumbers

关闭防火墙或特定端口

如果需要关闭防火墙或特定端口,可以使用以下命令:

1、关闭防火墙

使用以下命令关闭 firewalld 服务:

     sudo systemctl stop firewalld

或者,如果使用的是 iptables,可以清空所有规则并停止服务:

     sudo iptables F
     sudo systemctl stop iptables

2、关闭特定端口

使用以下命令从 firewalld 中删除特定端口的规则:

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

或者,使用以下命令从 iptables 中删除特定端口的规则:

     sudo iptables D INPUT p tcp dport 80 j ACCEPT
     sudo service iptables save
     sudo systemctl restart iptables

注意事项

安全性:开放端口可能会增加服务器的安全风险,因此在进行端口开放时,务必只开放必要的端口,并遵循网络安全最佳实践。

权限:执行上述命令时,需要具有管理员权限或 root 权限。

服务依赖:某些服务可能依赖于特定的端口,因此在关闭或更改端口设置时,请确保不会影响这些服务的正常运行。

常见问题解答(FAQs)

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

A1: 可以使用以下命令更改 firewalld 的默认区域,例如将默认区域更改为trusted

sudo firewallcmd setdefaultzone=trusted

然后重新加载防火墙规则以使更改生效:

sudo firewallcmd reload

更改默认区域可能会影响系统的安全性和网络配置,请谨慎操作。

Q2: 如何允许特定 IP 地址访问开放的端口?

A2: 可以使用 firewalld 的源地址匹配功能来允许特定 IP 地址访问开放的端口,允许 IP 地址为192.168.1.100 的客户端访问8080 端口:

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

然后重新加载防火墙规则以使更改生效:

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