避免接口上的 IPv6 链路本地地址

Rol*_*der 6 networking ip xen ipv6

我有一个连接到一组 VLAN-s 的虚拟 Xen 主机的设置。在 Dom0 上,我为我的每个 VLAN-s 设置了一个网桥以将 DomU-s 连接到。网桥设置在 /etc/network/interfaces 中,如下所示:

auto eth0
iface eth0 inet manual

auto eth0.1
iface eth0.1 inet manual
  vlan_raw_device eth0

auto br1
iface br1 inet manual
  bridge_ports eth0.1
Run Code Online (Sandbox Code Playgroud)

对于这些接口中的大多数,我不希望 Dom0 可访问,我只想桥接它。

但是,对于 IPv6,每个接口都会自动获取 fe80::/64-network 上的链接本地地址,这让 Dom0 在所有接口/VLAN-s 上可用,从而有效地破坏了我的安全性。

我想我可以用 iptables 阻止所有传入的数据包,但完全避免任何 IPv6 地址似乎是一个更清晰的解决方案。

有没有办法在链路层而不是在 IP 层上使用接口?

这是 linux/debian(对不起,我最初错过了这个细节......)

(master) 844$ cat /etc/issue.net 
Debian GNU/Linux 5.0
(master) 845$ uname -a
Linux master 2.6.26-2-xen-amd64 #1 SMP Sun Jun 20 20:51:58 UTC 2010 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

Bil*_*hor 9

看起来您正在运行 Debian 变体,至少是 Linux。您可以放入文件/etc/sysctl.d以禁用接口或所有接口上的 IPv6。我已启用 IPv6,但这是我用来禁用 IPv6 的文件。最初,我禁用了所有功能,然后在启用 IPv6 时禁用了各个接口。您应该能够禁用您的网桥。

# 80-disable-ipv6.conf

#net.ipv6.conf.default.disable_ipv6 = 0
#net.ipv6.conf.all.disable_ipv6 = 0
#net.ipv6.conf.lo.disable_ipv6 = 0
#net.ipv6.conf.eth0.disable_ipv6 = 0
#net.ipv6.conf.virbr0.disable_ipv6 = 0
#net.ipv6.conf.virbr1.disable_ipv6 = 0