我使用CentOS 7,我必须确保端口2888和3888是开放的。
我读了这篇文章,但这并不管用,因为在CentOS 7操作系统上没有iptables保存命令。
有人告诉我上面的URL对CentOS 7无效。我应该跟着这个走。 但是这篇文章对我来说并不清楚我需要执行什么命令。
我还发现
firewall-cmd --zone=public --add-port=2888/tcp
但这在重启后就不存在了。
所以我怎么能打开端口,使它幸存重启?
我使用CentOS 7,我必须确保端口2888和3888是开放的。
我读了这篇文章,但这并不管用,因为在CentOS 7操作系统上没有iptables保存命令。
有人告诉我上面的URL对CentOS 7无效。我应该跟着这个走。 但是这篇文章对我来说并不清楚我需要执行什么命令。
我还发现
firewall-cmd --zone=public --add-port=2888/tcp
但这在重启后就不存在了。
所以我怎么能打开端口,使它幸存重启?
当前回答
使用以下命令查看开放的端口。
firewall-cmd --list-ports
我们使用以下命令查看端口打开的服务。
firewall-cmd --list-services
我们使用以下命令查看端口开放的服务和开放的端口
firewall-cmd --list-all
要向防火墙中添加服务,我们使用以下命令,在这种情况下,服务将使用防火墙中打开的任何端口。
firewall-cmd --add-services=ntp
为了使这个服务永久打开,我们使用下面的命令。
firewall-cmd —add-service=ntp --permanent
使用实例添加端口
firewall-cmd --add-port=132/tcp --permanent
要运行防火墙,必须使用以下命令重新加载。
firewall-cmd --reload
是的,阿里
其他回答
CentOS (RHEL) 7已经改变了防火墙,使用firewall-cmd,它有一个区域的概念,就像Windows版本的公共,家庭和私有网络。你应该看看这里,找出你认为你应该使用哪一个。EL7默认使用public,所以下面的示例使用public。
您可以使用firewall-cmd——list-all检查您正在使用的区域,并使用firewall-cmd——set-default-zone=<zone>来更改它。
然后你将知道哪个区域允许一个服务(或端口):
Firewall-cmd——permanent——zone=<zone>——add-service=http
Firewall-cmd——permanent——zone=<zone>——add-port=80/tcp
您可以通过运行以下命令检查端口是否已实际打开:
Firewall-cmd——zone=<zone>——query-port=80/tcp
Firewall-cmd——zone=<zone>——query-service=http
根据文档,
在永久模式下更改防火墙设置时,请 选项仅在重新加载防火墙或 系统重启。
您可以通过以下命令重新加载防火墙设置:firewall-cmd——reload。
如果您在Centos 7防火墙中允许多个端口,那么我们可以使用以下命令。
#firewall-cmd --add-port={port number/tcp,port number/tcp} --permanent
#firewall-cmd --reload
And check the Port opened or not after reloading the firewall.
#firewall-cmd --list-port
For other configuration [Linuxwindo.com][1]
上面的答案是有用的,但我在迈克尔·汉普顿(Michael Hampton)对一个相关问题的回答中发现了一些更优雅的东西。firewall-cmd的“new”(firewall -0.3.9-11+)——runtime-to-permanent选项允许您创建运行时规则,并在使它们永久之前测试它们:
$ firewall-cmd --zone=<zone> --add-port=2888/tcp
<Test it out>
$ firewall-cmd --runtime-to-permanent
或者恢复仅运行时的更改:
$ firewall-cmd --reload
也可以看看Antony Nguyen的评论。显然firewall-cmd -reload可能无法正常工作在某些情况下,规则已被删除。在这种情况下,他建议重新启动防火墙服务:
$ systemctl restart firewalld
神之神的回答是正确的,但是 知道你可以使用以下方法也是很有用的:
firewall-cmd --permanent --zone=public --add-port=2888/tcp
但如果是一个已知的服务,你可以使用:
firewall-cmd --permanent --zone=public --add-service=http
然后重新加载防火墙
firewall-cmd --reload
[回答修改以反映Martin Peter的评论,原来的回答有-永久在命令行结束]
你好在Centos 7 firewall-cmd。 是的,如果你用 Firewall-cmd——zone=public——add-port=2888/tcp .使用实例 但如果你重新加载防火墙 firewall-cmd——重载
你的配置不会被保存
你需要添加key
Firewall-cmd——permanent——zone=public——add-port=2888/tcp