带网桥的firehol(防火墙):如何过滤

带网桥的firehol(防火墙):如何过滤

我有两个接口:eth0(公共地址)和 lxcbr0,地址为 10.0.3.1。
我有一个 LXC 客户机,IP 为 10.0.3.10

这是我的 firehol 配置:

version 5

trusted_ips=`/usr/local/bin/strip_comments /etc/firehol/trusted_ips`
trusted_servers=`/usr/local/bin/strip_comments /etc/firehol/trusted_servers`

blacklist full `/usr/local/bin/strip_comments /etc/firehol/blacklist`

interface lxcbr0 virtual
    policy return 
    server "dhcp dns" accept 

router virtual2internet inface lxcbr0 outface eth0
    masquerade
    route all accept

interface any world
    protection strong

    #Outgoing these protocols are allowed to everywhere
    client "smtp pop3 dns ntp mysql icmp" accept

    #These (incoming) services are available to everyone
    server "http https smtp ftp imap imaps pop3 pop3s passiveftp" accept

    #Outgoing, these protocols are only allowed to known servers
    client "http https webcache ftp ssh pyzor razor" accept dst "${trusted_servers}"

在我的主机上,我只能连接到端口 80 上的“受信任的服务器”。在我的客户机上,我可以连接到每个主机上的端口 80。我以为 firehol 会阻止这一点。

我可以添加/更改一些东西以便我的客户继承 eth0 接口的规则吗?

答案1

您需要打开net.bridge.bridge-nf-call-iptablessysctl,它将在传递之前通过 iptables 运行桥接数据包。您可能需要设置单独的规则,具体取决于桥接的设置方式,但如果您打开该 sysctl,您肯定可以使用 iptables 通过桥接过滤数据包。

相关内容