要在CentOS 7.4上开放防火墙端口,请使用firewall-cmd命令。确保firewalld服务已启动。运行命令
sudo firewall-cmd --zone=public --add-port=端口号/tcp --permanent
,将“端口号”替换为要开放的端口。重新加载防火墙配置以应用更改:sudo firewall-cmd --reload
。
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服务并禁止其开机自启。
原创文章,作者:酷盾叔,如若转载,请注明出处:https://www.kdun.com/ask/271701.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复