我有一个 Fedora 防火墙,它有两个接口。当我尝试执行firewall-cmd --permanent --zone=external --add-interface=eno1
并重新加载防火墙时firewall-cmd --reload
,似乎没有添加接口。firewall-cmd --get-active-zones
显示 eno1 和 eno2 都位于公共区域(默认区域)。有一个文件/etc/firewalld/zones/external.xml
:
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>External</short>
<description>For use on external networks. You do not trust the other computers on networks to not harm
your computer. Only selected incoming connections are accepted.</description>
<interface name="eno1"/>
<service name="ssh"/>
<masquerade/>
</zone>
答案1
请记住,如果你正在使用 NetworkManager(你几乎肯定会使用),那么每个接口的网络配置将覆盖防火墙的配置。
要在这种情况下为接口设置防火墙区域,请确保将其添加到例如/etc/sysconfig/network-scripts/ifcfg-eno1
。
ZONE="external"