使用 Firewalld 中的区域阻止出站访问

使用 Firewalld 中的区域阻止出站访问

我想提供对运行 CentOS Linux 版本 7.9.2009 的计算机的有限访问。

为此,我将默认区域更改为名为“自定义”的新区域,并应用了如下配置:

<?xml version="1.0" encoding="utf-8"?>
<zone>
  <service name="ssh"/>
  <port protocol="tcp" port="5901"/>
  <port protocol="tcp" port="5902"/>
  <port protocol="tcp" port="5903"/>
  <rule family="ipv4">
    <source address="192.168.2.15"/>
    <drop/>
  </rule>
</zone>

通过此配置,用户仍然可以访问其他计算机或网络。是否也可以在 Firewalld 中阻止此类连接?

答案1

要阻止对特定服务或目的地的出站访问,您应该创建具有所需限制的自定义 Firewalld 区域。

  1. 使用firewall-cmd命令创建自定义区域。
  2. 定义出站访问规则。
  3. 如果您希望此自定义区域成为出站流量的默认区域,请设置默认区域
  4. 重新加载防火墙

要阻止传出互联网访问,您可以将此规则添加到您的castom 区域。

firewall-cmd --permanent --zone=block-outgoing --add-rich-rule='rule family="ipv4" source address="IP_machine" drop'

编辑

对于最后一次编辑。

sudo firewall-cmd --permanent --new-zone={name zone}
sudo firewall-cmd --permanent --zone={name zone} --add-service=ssh
sudo firewall-cmd --permanent --zone={name zone} --add-service=dns
sudo firewall-cmd --permanent --zone={name zone} --add-rich-rule='rule family="ipv4" drop'
sudo firewall-cmd --reload

编辑

</rule>
  <rule family="ipv4">
    <outbound/>
    <drop/>
</rule>

相关内容