启用 IPv6 桥接但接口上没有 IPv6 地址

启用 IPv6 桥接但接口上没有 IPv6 地址

我正在将 IBF(隐形桥接防火墙)重建为 Ubuntu 10.04.2 LTS。过去,我通过完全禁用 ipv6 来处理它。这次我想让它保持启用状态,并使用 ip6tables 等进行过滤。

我的所有配置似乎都很好,只是我似乎找不到一种可行的方法来从我的桥接接口卡上获取“fe80”地址。br0 获取这样的地址可能是可以理解的,但在任何情况下我都不希望任何高于“2”的层上的任何东西直接与 eth0 或 eth1 通信。

到目前为止我尝试过的方法包括:

1) 在‘interfaces’中指定‘inet6 manual’条目

2) 指定“inet6 static”和“address ::”

3) 通过 Google 找到各种 inet6 设置的 sysctl.conf‘0’

4) ‘post-up echo 0 >’ 如上所述

似乎什么都不起作用。如果我运行“ip -6 addr del”命令,我可以让它消失,但这(您可能知道)不会持续很长时间,也不会在重启后继续存在。

我想要的是相当于 ipv4 的“0.0.0.0”寻址——一个不起作用但未配置的地址。

有想法吗?

答案1

我不确定您在 sysctl.conf 中设置了什么,但重新启动时应该会自动应用其中的设置。您应该能够立即应用它们,例如sudo sysctl -p 如果您遇到无法应用的问题,您可能需要像这样指定接口: net.ipv6.conf.eth0.<something> = 0而不是net.ipv6.conf.all.<something> = 0

据我所知,如果您启用了 IPv6,您将有一个链接本地地址(但我可能错了)。

答案2

我不完全确定这是否会起作用,但如果你做这样的事情会怎样:
sudo ip6tables -A OUTPUT -t filter -s fe80::8dbd:b9ff:fedb:8db8 -j DROP
sudo ip6tables -A INPUT -t filter -d fe80::8dbd:b9ff:fedb:8db8 -j DROP
更严格,但如果它有效,那么根据你的理念一切都会更好:
sudo ip6tables -A OUTPUT -t filter -s ::/0 -j DROP
sudo ip6tables -A INPUT -t filter -d ::/0 -j DROP

这应该会默默地删除最终目的地是桥接器的所有内容,而不会发送任何“您的消息被拒绝”,并且应该删除由操作系统生成的来自桥接器的任何流量。

相关内容