打开CentOS 7上的防火墙端口

打开CentOS 7上的防火墙端口,centos,port,firewall,Centos,Port,Firewall,我正在使用CentOS 7,我必须确保端口2888和3888处于打开状态 firewall-cmd --list-services 我读过,但这不起作用,因为在CentOS 7操作系统上没有iptables save命令 有人告诉我上述URL对CentOS 7无效。我应该跟着。 但是这篇文章对我来说并不清楚我需要执行什么命令 我还发现 firewall-cmd --zone=public --add-port=2888/tcp 但这不能在重新启动后继续存在 那么,如何打开端口并使其在重新启

我正在使用CentOS 7,我必须确保端口2888和3888处于打开状态

firewall-cmd --list-services
我读过,但这不起作用,因为在CentOS 7操作系统上没有
iptables save
命令

有人告诉我上述URL对CentOS 7无效。我应该跟着。 但是这篇文章对我来说并不清楚我需要执行什么命令

我还发现

firewall-cmd --zone=public --add-port=2888/tcp 
但这不能在重新启动后继续存在


那么,如何打开端口并使其在重新启动后仍然有效?

使用此命令查找活动区域:

它会显示公共、dmz或其他内容。您应该只应用于所需的区域

如果是公共场所,请尝试:

firewall-cmd --zone=public --add-port=2888/tcp --permanent
然后记住重新加载防火墙,以使更改生效

firewall-cmd --reload
否则,将区域替换为公共区域,例如,如果您的区域是dmz:

firewall-cmd --zone=dmz --add-port=2888/tcp --permanent
答案是正确的,但是 了解您可以使用以下内容也很有用:

firewall-cmd --permanent --zone=public --add-port=2888/tcp 
firewall-cmd --permanent --zone=public --add-service=http 
但如果是已知服务,您可以使用:

firewall-cmd --permanent --zone=public --add-port=2888/tcp 
firewall-cmd --permanent --zone=public --add-service=http 
然后重新加载防火墙

firewall-cmd --reload
[修改答案以反映Martin Peter的评论,原始答案在命令行末尾有
--permanent

CentOS(RHEL)7,已将防火墙更改为使用
firewall cmd
,其具有分区的概念,类似于公用、家庭和专用网络的Windows版本。你应该看看你认为应该用哪一个。EL7默认使用
public
,这就是我下面的示例所使用的

您可以使用
firewall cmd检查正在使用的区域--列出所有
,并使用
firewall cmd--设置默认区域=
进行更改

然后,您将知道在哪个区域允许服务(或端口):

firewall cmd--permanent--zone=--add service=http

firewall cmd--permanent--zone=--add port=80/tcp

您可以通过运行以下命令来检查端口是否已实际打开:

firewall cmd--zone=--query port=80/tcp

firewall cmd--zone=--query service=http

据报道,

在永久模式下更改防火墙设置时,您的 选择仅在重新加载防火墙或 系统重新启动


您可以使用以下命令重新加载防火墙设置:
firewall cmd--reload

Fedora,通过
iptables完成

sudo iptables -I INPUT -p tcp --dport 3030 -j ACCEPT
sudo service iptables save

似乎有效

如果您熟悉centos 6或更早版本中的iptables服务,您仍然可以通过手动安装使用iptables服务:

步骤1=>安装epel repo

yum安装epel版本

步骤2=>安装iptables服务

yum安装iptables服务

步骤3=>停止防火墙服务

systemctl停止防火墙D

步骤4=>在启动时禁用firewalld服务

systemctl禁用防火墙

步骤5=>启动iptables服务

systemctl启动iptables

步骤6=>启动时启用iptables

systemctl启用iptables

最后,您现在可以在/etc/sysconfig/iptables处编辑iptables配置

所以->编辑规则->重新加载/重新启动

像旧的centos一样使用Firewall D一样的功能。

虽然提供了正确且直接适用的方法,但需要注意的是,您可以将自己的服务添加到
/etc/Firewall D/services
。想要获得灵感,请看一下
/usr/lib/firewalld/services/
,firewalld预定义的服务就在这里

这种方法的优点是,稍后您将知道为什么这些端口是打开的,正如您在服务文件中所描述的那样。此外,您现在可以将其应用于任何区域,而不会有打字错误的风险。此外,对服务的更改不需要单独应用于所有区域,而只需应用于服务文件

例如,您可以创建
/etc/firewalld/services/foobar.xml


福巴
此选项允许您在之间创建FooBar连接
您的计算机和移动设备。你需要有FooBar
安装在两侧,使此选项有用。
(有关语法的信息,请执行
man firewalld.service

创建此文件后,您可以
firewall cmd--reload
使其可用,然后使用

firewall-cmd --permanent --zone=<zone> --add-service=foobar
firewall cmd--permanent--zone=--add service=foobar

然后是
firewall cmd--reload
使其立即激活。

这里的主要答案很有效,但我在相关问题中发现了一些更优雅的东西。“新建”(firewalld-0.3.9-11+)
--runtime to permanent
选项可用于
firewall cmd
创建运行时规则,并在将其永久化之前对其进行测试:

$ firewall-cmd --zone=<zone> --add-port=2888/tcp
<Test it out>
$ firewall-cmd --runtime-to-permanent
另见。显然,在某些规则已被删除的情况下,firewall cmd--reload可能无法正常工作。在这种情况下,他建议重新启动firewalld服务:

$ systemctl restart firewalld

要查看打开的端口,请使用以下命令

firewall-cmd --list-ports
firewall-cmd —add-service=ntp --permanent 
firewall-cmd --reload
我们使用以下命令查看其端口已打开的服务

firewall-cmd --list-services
我们使用以下命令查看端口打开的服务和打开的端口

firewall-cmd --list-all
要向防火墙添加服务,我们使用以下命令,在这种情况下,服务将使用防火墙中打开的任何端口

firewall-cmd --add-services=ntp 
为了使此服务永久打开,我们使用以下命令

firewall-cmd --list-ports
firewall-cmd —add-service=ntp --permanent 
firewall-cmd --reload
要添加端口,请使用以下命令

firewall-cmd --add-port=132/tcp  --permanent
要运行防火墙,必须使用以下命令重新加载防火墙

firewall-cmd --list-ports
firewall-cmd —add-service=ntp --permanent 
firewall-cmd --reload

Ya Ali

Firewalld对于iptables老手来说有点不直观。对于那些喜欢使用易配置树中类似iptables语法的iptables驱动防火墙的人,请尝试用fwtree替换firewalld: 然后执行以下操作:

 echo '-p tcp --dport 80 -m conntrack --cstate NEW -j ACCEPT' > /etc/fwtree.d/filter/INPUT/80-allow.rule
 systemctl reload fwtree 

要查看打开的端口,请使用以下命令:

firewall-cmd --list-ports
firewall-cmd -add-service=ntp --permanent 
firewall-cmd --add-port=132/tcp  --permanent
我们使用以下内容查看端口已打开的服务:

firewall-cmd --list-services
我们使用以下命令查看端口已打开的服务,并查看打开的端口:

firewall-cmd --list-all
要向防火墙添加服务,我们使用foll