标签: firewalld

如何使用firewalld命令将多个接口添加到受信任区域?

我使用以下命令添加特定接口作为受信任区域

firewall-cmd --zone=trusted --change-interface=eth0
Run Code Online (Sandbox Code Playgroud)

现在假设我有多个接口(如 eth0、eth1、bond0、bond1),并且我想通过执行在 bash 脚本中编写的上述命令将所有接口添加一次。

通过执行一次上述命令来添加所有接口的语法和命令是什么?

linux networking scripting rhel firewalld

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

firewall-cmd 表示没有活动的防火墙区域。为什么?

在 Debian 9 上,我安装了firewalld(版本0.4.4.2-1)。

\n\n

sudo firewall-cmd --get-active-zones显示没有输出。并echo $?显示退出状态为 0 ( EXIT_SUCCESS)。为什么?

\n\n

我有一个网络接口eth0,由ip link(以及环回接口lo

\n\n
\n\n

我应该说我的防火墙配置似乎大部分正常工作。FWIW,我已将默认区域从 更改为publicMyZone定义如下:

\n\n
$ sudo cat /etc/firewalld/zones/MyZone.xml\n<?xml version="1.0" encoding="utf-8"?>\n<zone>\n  <short>My Zone</short>\n  <service name="ssh"/>\n  <service name="https"/>\n  <!-- ... --> \n</zone>\n
Run Code Online (Sandbox Code Playgroud)\n\n

如果我尝试使用另一台计算机进行连接,我可以访问 SSH 和 HTTPS 服务。如果我ncat -l -p 8000在服务器上运行并尝试连接ncat my-server 8000,则连接会被正确阻止。(Ncat: No route to host.tcpdump显示生成了 ICMP …

debian firewalld

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

无法使用 firewalld 将 docker0 接口添加到受信任区域

在 Centos 7 上,我希望 Docker 容器能够访问主机,因此我尝试将 docker0 添加到受信任区域:

# firewall-cmd --permanent --zone=trusted --add-interface=docker0
The interface is under control of NetworkManager and already bound to 'trusted'
The interface is under control of NetworkManager, setting zone to 'trusted'.
success
# firewall-cmd --get-zone-of-interface=docker0
no zone
Run Code Online (Sandbox Code Playgroud)

这曾经可以工作,但无论出于何种原因都不能在此服务器上使用。我也试过firewall-cmd --reload,没有。好像 firewalld 命令被完全忽略了。NetworkManager 消息似乎很可疑,firewalld 和 NetworkManager 是否可能存在某种冲突?

出于绝望,我也尝试过: 在接口配置中nmcli connection modify docker0 connection.zone trusted正确设置了ZONE=trusted,但 firewalld 仍然显示接口不在受信任区域中。

这里发生了什么?

networkmanager docker firewalld

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

无法 telnet 到私有 IP 或端口

需要进行哪些特定更改,以便本地 IP 上的 CentOS 7 安装192.168.1.6可以telnet到另一个本地 IP上的CentOS 7 安装192.168.1.5

如您所见,可以192.168.1.6PING192.168.1.5如下:

[root@localhost /]# ping 192.168.1.5
PING 192.168.1.5 (192.168.1.5) 56(84) bytes of data.
64 bytes from 192.168.1.5: icmp_seq=1 ttl=64 time=0.515 ms
64 bytes from 192.168.1.5: icmp_seq=2 ttl=64 time=0.565 ms
^C
--- 192.168.1.5 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.515/0.540/0.565/0.025 ms
Run Code Online (Sandbox Code Playgroud)

telnetFROM 192.168.1.6TO192.168.1.5失败如下:

[root@localhost /]# telnet 192.168.1.5
Trying …
Run Code Online (Sandbox Code Playgroud)

centos tcp telnet postgresql firewalld

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

Wireguard 不将流量从客户端路由到网络上的其他服务器

我使用的是 CentOS 7.6 版本,并且安装了测试 Wireguard VPN 服务器。整个安装和配置非常简单,至少根据文档,所以我做了什么,我安装了wireguard-tools、wireguard-dkms和linux-headers

下一步是,我生成了服务器的私钥和公钥,并将服务器的配置写为:

[Interface]
Address = 10.7.0.1/24
ListenPort = 34777
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=

[Peer]
PublicKey  = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs = 10.7.0.2/32

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs = 10.7.0.3/32

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs = 10.7.0.4/32

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs = 10.7.0.5/32
Run Code Online (Sandbox Code Playgroud)

从服务器端,我在防火墙上打开了端口 34777 udp,并设置 sysctl -w net.ipv4.ip_forward(启用转发),因为该服务器应该假设将流量从客户端转发到 VPN 服务器子网中的其他服务器。现在让我们假设这个服务器的公共 IP 是 11.11.11.11/23

在客户端,配置如下所示:

[Interface]
Address = 10.7.0.4/24
PrivateKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=

[Peer]
PublicKey = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=
AllowedIPs = 10.7.0.1/32,11.11.11.0/23 (for having route to 11.11.11.0/23 subnet) or 0.0.0.0/0 …
Run Code Online (Sandbox Code Playgroud)

routing centos vpn firewalld

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

如何在 firewalld 中使用 POSTROUTING / SNAT?

我尝试在我的 CentOS-7-Router 上使用 firewalld 设置 SNAT,就像这里描述的那样,加上Karl Rupps 的解释,但我最终像Eric一样。我还阅读了一些其他文档,但无法使其正常工作,因此我的客户端 IP 被转换为另一个源 IP。

两个都

firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -p tcp -o enp1s0 -d 192.168.15.105 -j SNAT --to-source 192.168.25.121

或者

firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -p tcp -s 192.168.15.105/32 -j SNAT --to-source 192.168.25.121

给出一个“成功”。我做了一个firewall-cmd --reload。但是,如果我尝试检查带有iptables -t nat -nvL POSTROUTING规则的表,则未列出。

但是,如果我再次应用上述规则之一,firewalld 会警告我,例如Warning: ALREADY_ENABLED: rule '['-p', 'tcp', '-o', 'enp1s0', '-d', '192.168.15.105', '-j', 'SNAT', '--to-source', '192.168.25.121']' already is …

iptables centos firewalld

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

哪个优先:/etc/hosts.allow 或firewalld?

在 RHEL 7 服务器上,/etc/hosts.allow拥有多个具有完全访问权限的 IP 地址。防火墙(用 确认firewall-cmd),没有定义特定的源,默认区域允许某些端口和服务。哪个优先?或者举一个具体的例子,如果 中列出的 IP 地址/etc/hosts.allow尝试使用防火墙规则不允许的端口/服务连接到服务器,它可以连接吗?

firewall rhel tcp-wrappers firewalld

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

如何在 Fedora 18 上重新启用 iptables?

FirewallD是 Fedora 18 中的默认防火墙。我已经使用iptables 了很长时间并且有一个自定义配置,我需要它来记录 ip 流量。我不习惯新的图形界面,它似乎缺少旧图形界面中的许多功能,可以轻松加载。

我尝试使用以下命令重新启用旧的 iptables:

# systemctl stop firewalld.service
# systemctl start iptables.service
# systemctl start ip6tables.service
Run Code Online (Sandbox Code Playgroud)

消息日志显示:

systemd 1 使用 iptables 启动 IPv4 防火墙。
systemd 1 使用 ip6tables 启动 IPv6 防火墙。

但是从systemctl -t service -a,我可以看到尽管已加载,但它们仍然处于非活动状态和死亡状态。

不过,我尝试加载自定义配置

iptables-restore < iptables.conf
Run Code Online (Sandbox Code Playgroud)

但收到了一系列警告:

警告:状态匹配已过时。请改用 conntrack。
警告:状态匹配已过时。请改用 conntrack。
警告:状态匹配已过时。请改用 conntrack。
警告:状态匹配已过时。请改用 conntrack。
警告:状态匹配已过时。请改用 conntrack。

我应该怎么做才能让 iptables 恢复工作?

fedora iptables firewalld

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

如何通过 firewall-cmd 永久更改防火墙?

我正在尝试在 CentOS 7 中打开一些端口。

我可以使用以下命令打开一个端口:

firewall-cmd --direct --add-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 7199 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

通过检查 via iptables -L -n,我得到了设置成功的确认:

Chain IN_public_allow (1 references)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:7199
Run Code Online (Sandbox Code Playgroud)

不幸的是,我无法使更改永久化。即使使用这样的--permanent选项:

firewall-cmd --direct --permanent --add-rule ipv4 filter IN_public_allow 0 -m tcp -p tcp --dport 7199 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法?为什么该--permanent选项无法正常工作?

firewall iptables centos iptables-persistent firewalld

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

firewalld 和 iptables 一样吗?

我尝试在 RHEL 7.2 上使用关闭 iptables

chkconfig iptables off

在服务 iptables 上读取信息时出错:没有这样的文件或目录

也试过/etc/init.d/iptables stop了,有

-bash: /etc/init.d/iptables: 没有那个文件或目录

然后我用谷歌搜索了一下,得到了这个: systemctl status firewalld

iptables 和 firewalld 有什么区别?你如何关闭iptables?

如何赋予机器最大权限?

rhel iptables firewalld

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