当前位置:首页 > 行业动态 > 正文

centos7.4防火墙开放端口

要在CentOS 7.4上开放防火墙端口,请使用firewall-cmd命令。确保firewalld服务已启动。运行命令sudo firewall-cmd --zone=public --add-port=端口号/tcp --permanent,将“端口号”替换为要开放的端口。重新加载防火墙配置以应用更改:sudo firewall-cmd --reload。

centos7.4防火墙开放端口  第1张

CentOS 7使用的是firewalld作为默认的防火墙管理工具,它提供了更为智能和易用的接口来管理防火墙规则,以下是在CentOS 7.5上开放端口的详细步骤:

1、检查firewalld服务状态

使用以下命令查看firewalld服务是否正在运行:

“`

systemctl status firewalld

“`

如果服务未运行,需要先启动它:

“`

systemctl start firewalld

“`

2、临时开放端口

假如你只需要暂时开放一个端口,可以使用以下命令(以端口号8080为例):

“`

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

“`

上述命令将临时在公共区域开放TCP端口8080。--temporary参数表示在系统重启后,此规则不会被保留。

3、永久开放端口

若需永久开放端口,可以去掉--temporary选项:

“`

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

“`

然后执行以下命令使配置生效:

“`

firewall-cmd –reload

“`

4、开放端口范围

如果需要开放一段连续的端口范围,可以使用--add-rich-rule参数:

“`

firewall-cmd –zone=public –add-rich-rule=’rule family="ipv4" port port="10000-20000" protocol="tcp" accept’

“`

上述命令将开放TCP协议的10000到20000端口范围。

5、查看开放的端口

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

“`

firewall-cmd –list-all

“`

或者仅查看特定区域的开放端口:

“`

firewall-cmd –zone=public –list-ports

“`

6、删除端口规则

假如需要移除之前添加的端口规则,可以使用以下命令:

“`

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

firewall-cmd –reload

“`

7、其他高级功能

firewalld还支持更复杂的规则设定,如基于服务的名称来添加或删除规则,富规则设置等,要开放SSH服务,可以使用:

“`

firewall-cmd –permanent –add-service=ssh

firewall-cmd –reload

“`

常见问题与解答

Q1: 如果我开放了端口但是服务仍然不可达,可能是什么原因?

A1: 可能是由于SELinux的安全策略阻止了访问,可以尝试使用setenforce 0命令将SELinux设置为Permissive模式,然后检查服务是否可以正常访问。

Q2: 如何确定firewalld服务是否开机自启?

A2: 使用systemctl is-enabled firewalld命令可以检查firewalld是否设置为开机自启动。

Q3: 为什么在开放端口后我还需要重新加载firewalld配置?

A3: 因为firewalld在修改规则后不会自动重新加载配置,所以需要手动执行firewall-cmd --reload命令使其生效。

Q4: 如何关闭firewalld防火墙?

A4: 可以通过执行systemctl stop firewalld和systemctl disable firewalld命令来停止firewalld服务并禁止其开机自启。

0