标签: firewalld-zone

firewalld 没有列出任何活动区域?

跑步时

[root@host ~]# firewall-cmd --get-active-zones
[root@host ~]#
[root@host ~]# firewall-cmd --get-default-zone
public
Run Code Online (Sandbox Code Playgroud)

我没有得到任何活动区域。如何激活区域?

firewalld firewalld-zone

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

FirewallD:仅允许来自特定 IP 地址的连接

我正在尝试使用 FirewallD 来限制网络上其他机器对 CentOS 服务器的访问。它有一个单一的网络接口,并且在公共区域中运行。假设此服务器的 IP 地址为 10.10.1.20。

我想要做的是只允许 IP 地址为 10.10.1.125 和 10.10.1.126 的机器能够连接(ssh 和 https)到该服务器。其他任何 ip 地址都不应该能够连接到该服务器(甚至知道它存在)。

我尝试使用 FirewallD 的丰富规则如下(10.10.1.20)

sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="10.10.1.0/24" drop'

sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="10.10.1.125" accept'

sudo firewall-cmd --add-rich-rule 'rule family="ipv4" source address="10.10.1.126" accept'
Run Code Online (Sandbox Code Playgroud)

但它似乎不起作用。我无法从 10.10.1.125 或 10.10.1.126 建立到 10.10.1.20 的 ssh 连接。

我尝试以相反的顺序输入规则,但它仍然不起作用。

有人可以帮我吗?在应用我上面写的规则之前,我是否需要将区域从公共区域更改为更严格的区域,例如 drop ?

firewalld centos7 firewalld-zone

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

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
查看次数

防火墙管理

正如我在该主题的评论中所问的那样:使用 firewalld 阻止除少数 ips 之外的所有 ips

我正在寻找一种方法来拒绝所有公共 IP,但我在 firewalld 的公共区域中除外。

目前,我的公共区域只有 ssh/http/https 服务,并且我指定了整个互联网所需的源 IP。

问题是我不明白为什么 firewalld 没有按要求过滤源 IP?

通常,根据我的理解,将源 IP 指定给区域,要求 Firewalld 丢弃除来自指定 IP 的请求之外的所有请求。

但是在我的机器上它不起作用,因为我可以在家中连接到不是指定源 IP 之一的机器。

有人建议创建一个名为“内部/其他”的新区域,因为服务器不在私有局域网上,所以我只有一个公共接口,所以我为什么要创建/使用另一个区域,因为公共区域应该删除所有 IP来源清单上指定的除外。

Firewalld 公共区域是否会自动向世界开放添加在其上的服务?

如果我创建第二个名为 internal 的区域,只有 ssh 服务和源 IP,然后将此区域链接到我的 eth0,firewalld 会阻止所有非“源”IP 吗?

当然,执行这样的过程会假设我从公共区域服务的服务中删除 ssh 服务。

我的防火墙是:

[root@groot ~]# firewall-cmd --list-all-zones
block
  interfaces:
  sources:
  services:
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

dmz
  interfaces:
  sources:
  services: ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

drop (default)
  interfaces:
  sources:
  services:
  ports:
  masquerade: …
Run Code Online (Sandbox Code Playgroud)

firewalld centos7 firewalld-zone

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

即使已激活,Firewalld 也会阻止 http 流量

我正在尝试用 3 台机器配置一个简单的测试环境:

  • 一台Kali模拟互联网:IP = 10.99.0.2
  • 一台使用firewalld充当防火墙的CentOS:IP = 10.99.0.1, 10.4.1.1
  • 一台 CentOS,使用 httpd 作为 Web 服务器:IP = 10.4.1.2

环境的一个小表示:

|Kali|------------------(ens160) |Firewalld| (ens192)------------------- |Web Server|
10.99.0.2                    10.99.0.1 | 10.4.1.1                             10.4.1.2
Run Code Online (Sandbox Code Playgroud)

我可以从 10.99.0.2 ping 10.4.1.2,但是,只有当防火墙激活时,我无法从 10.99.0.2 获取 10.4.1.2 上的默认网页。

我尝试在固件上执行 tcpdump,我可以看到从 kali 到firewalld 的 http 请求,但随后firewalld 用 ICMP 数据包进行响应:ICMP host 10.4.1.2 unreachable - admin prohibited。据我所知,如果请求被阻止,则此 icmp 消息是从防火墙发送的。

这是两个区域的配置:public 和 dmz

public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens160
  sources:
  services: http https
  ports: 443/tcp 80/tcp
  protocols:
  masquerade: yes
  forward-ports:
  sourceports: …
Run Code Online (Sandbox Code Playgroud)

http httpd port-80 firewalld firewalld-zone

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