标签: firewall-cmd

有没有办法在firewalld上刷新整个区域的丰富规则?

我添加了许多类似这样的丰富规则:

 firewall-cmd --permanent --zone="thezone" --add-rich-rule='rule family=ipv4 source address=1.2.3.4 reject'
Run Code Online (Sandbox Code Playgroud)

现在我想清除/删除我的“thezone”区域中的所有丰富规则。

另外,您尝试删除行的行:

 firewall-cmd --permanent --zone="thezone" --remove-rich-rule='rule family=ipv4 source address=1.2.3.4 reject'
Run Code Online (Sandbox Code Playgroud)

或者

 firewall-cmd --permanent --zone="thezone" --remove-rich-rule='rule family=ipv4 source address=1.2.3.4 accept'
Run Code Online (Sandbox Code Playgroud)

或者

 firewall-cmd --permanent --zone="thezone" --add-rich-rule='rule family=ipv4 source address=1.2.3.4 accept'
Run Code Online (Sandbox Code Playgroud)

使用 firewall-cmd --reload 仍然没有成功。

谁能告诉我如何清除所有内容或用一种方法告诉我我做错了什么?

firewalld firewall-cmd

5
推荐指数
1
解决办法
1万
查看次数

为什么 firewall-cmd 会抛出错误“ALREADY_ENABLED”,但调用 firewall-cmd --list-ports 时未列出端口?

使用 CentOS 7,我尝试使用firewall-cmd --zone=public --add-port=443/tcp --permanent将 443 添加到我允许的端口。不幸的是,这会引发错误ALREADY_ENABLED: 443:tcp。但是当我使用firewall-cmd --list-ports它时并没有显示在列表中(“80/tcp 3000/tcp 26900/tcp 26900/udp”)。

我想这个问题是由 firewall-cmd 和 iptables 之间的冲突引起的。但我不知道如何调试它,以及这是否可能。

调用firewall-cmd --list-all结果如下表:

public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh dhcpv6-client
  ports: 80/tcp 3000/tcp 26900/tcp 26900/udp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
Run Code Online (Sandbox Code Playgroud)

ssl https iptables port firewall-cmd

5
推荐指数
1
解决办法
5576
查看次数

5
推荐指数
1
解决办法
3万
查看次数

Fedora 21:Firewalld (firewall-cmd) 不会将接口永久分配给区域?

我在这台机器上安装了 Fedora,它完全是一个网关/防火墙系统。

安装后,我运行了 ' yum upgrade',所以它应该是最新的 Fedora 21 - 我故意有点落后(不是 Fedora 22),所以任何问题都有望得到解决(现在意识到可能我应该有去 Fedora 20 了吗?!)...

一启动,我就用它们各自的 IP 地址配置了盒子中的两个 NIC,重新启动,确认它们没问题,然后开始“防火墙”设置。首先,我跑了:

# firewall-cmd --list-all-zones
Run Code Online (Sandbox Code Playgroud)

我确认 firewalld 使用的接口名称与其他工具一致(与 Fedora 的过去版本不同,例如 19 - 请参阅请求的 FC19 FirewallD 调试帮助:端口不转发

为了将接口放入正确的区域,我然后运行:

firewall-cmd --permanent --zone=external --change-interface=enp2s0
firewall-cmd --permanent --zone=internal --change-interface=enp5s4
Run Code Online (Sandbox Code Playgroud)

..然后继续尝试设置端口转发等。有几个步骤,例如打开端口,然后转发它。然而,这些都没有奏效。经过一番挖掘,我找到了这篇文章,日期仅在几天前,所以我认为它是最新的 - http://www.certdepot.net/rhel7-get-started-firewalld/ - 并按照其建议进行编辑/etc/sysctl.conf和添加一行阅读net.ipv4.ip_forward=1并用 激活它# sysctl -p,然而,不幸的是,事情实际上“倒退了”......

以前,尝试与转发端口的连接挂起,但现在它们正在返回:

ssh: connect to host 167.101.97.2 port 6543: No route to host
Run Code Online (Sandbox Code Playgroud)

所以,我试图通过取消端口转发和对 sysctl.conf 的编辑来恢复正常,但事情并没有回到“原始”!

令人难以置信的是,我重新启动了,一切都设置为默认值,只是尽可能地安装条件 - 除了那些区域更改;他们会造成什么伤害?!但是当系统恢复时,接口已经回到默认区域!

然后我又重新尝试了一遍。不!无论我做什么,重新启动后接口都停留在“FedoraServer”区域。我已经在命令行中的几个不同位置尝试了 --permanent 。每次响应都是“成功”,然而,每次结果都是它在重新启动后无法生存,即使这是重新启动之间在系统上所做的唯一事情。 …

fedora interface firewalld firewall-cmd firewalld-zone

4
推荐指数
1
解决办法
4259
查看次数

删除 firewall-cmd 中的 --add-forward-port 规则

前段时间我添加了以下本地端口转发规则

firewall-cmd --permanent --add-forward-port=port=80:proto=tcp:toport=3000
Run Code Online (Sandbox Code Playgroud)

我现在如何删除此规则?

redhat firewall-cmd

4
推荐指数
1
解决办法
1万
查看次数

如何仅在单个主机 IP 地址上进行端口转发

简短的问题:

如何仅在单个主机 IP 地址上启用端口转发?

背景故事:

我的 Centos 7 服务器有 5 个 IP 地址。以前,我让 apache 监听所有这些,以及分配给那些用虚拟主机解析的 ip 地址的各种域。

我更改了Listenhttpd.conf 中的指令,以便现在 apache 只侦听 4 个 IP 地址

使用 node.js 我创建了另一个服务器实例,但它不会让我在没有提升权限的情况下监听标准端口 80。我不想以提升的权限运行它。

我想将端口 80 转发到 8080 之类的端口,但仅在一个 ip 地址上,而不会影响指向其他 4 个 ip 地址的流量。重要的是,其他 IP 地址上的流量不受该规则的影响。

我认为解决方案将类似于:

firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent
Run Code Online (Sandbox Code Playgroud)

我发现的其他问题和答案与源 ip 地址而不是主机 ip 地址有关。

port-forwarding centos7 firewall-cmd

2
推荐指数
1
解决办法
1万
查看次数