Firewalld——接口未添加到区域

Firewalld——接口未添加到区域

我有一个 peervpn 接口“tap0”,我想接受来自它的所有流量。Box 是 CentOS 7。

我的理解是,我只需要将接口添加到“受信任”区域即可。当我尝试这个时,一切似乎都很好,但规则没有显示:

[root@ns1 ~]# ifconfig
    <abridged>
    tap0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 10.9.8.2  netmask 255.255.255.0  broadcast 10.9.8.255
            inet6 fe80::3007:81ff:fe4e:adf9  prefixlen 64  scopeid 0x20<link>
            ether 32:07:81:4e:ad:f9  txqueuelen 1000  (Ethernet)
            RX packets 43  bytes 2618 (2.5 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 27  bytes 2006 (1.9 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    [root@ns1 ~]# firewall-cmd --zone=trusted --permanent --add-interface=tap0
    The interface is under control of NetworkManager and already bound to 'trusted'
    The interface is under control of NetworkManager, setting zone to 'trusted'.
    success
    [root@ns1 ~]# systemctl restart firewalld
    [root@ns1 ~]# firewall-cmd --zone=trusted --list-all
    trusted
      target: ACCEPT
      icmp-block-inversion: no
      interfaces:
      sources:
      services:
      ports:
      protocols:
      masquerade: no
      forward-ports:
      source-ports:
      icmp-blocks:
      rich rules:

关于为什么这不起作用的任何建议?

答案1

这是 NetworkManager 的问题。

有以下几种方法可以解决:

更新到最新的NetworkManager软件包,重新启动,然后使用您使用的命令 和firewall-cmd --complete-reload和将接口添加到您的区域systemctl restart firewalld。 (重启可能是必要的,也可能不是必要的,但我这么做只是为了以防万一。)

如果这不起作用,您可以为您的区域创建/编辑 xml 文件,该文件位于/etc/firewalld/zones/*.xml您的情况下,它将是trusted.xml.语法是:

<?xml version="1.0" encoding="utf-8"?>`
<zone>
<short>Trusted</short>
<interface name="tap0"/>
<description>Description of your choice.</description>
</zone> 

firewall-cmd --complete-reload此后,您systemctl restart firewalldfirewall-cmd --list-all看到信任区域中的界面。

第一种方法对我有用,但我也确认第二种方法有效。

相关内容