如何将 IPv6 数据包传送到我的 KVM 虚拟机?

如何将 IPv6 数据包传送到我的 KVM 虚拟机?

我的设置是:

主机和客户机上的 Debian Wheezy x64。

我正在使用 tun/tap 设置将虚拟机连接到主机。

我使用的 KVM 网络选项是:

-net nic,macaddr=DE:AD:BE:EF:1A:DC
-net tap,ifname=tap3,script=no,downscript=no

IPv4 网络使用 NAT 工作,因此我可以从外部顺利 ssh 进入机器。

IPv6 则是另外一个情况。

该主机具有完整的 IPv6 连接,我可以从外部访问它,也可以访问外部 IPv6 主机。

主机 /etc/network/interfaces (IPv6 部分)

iface eth0 inet6 static
  address 2a01:...::2
  netmask 64
  gateway fe80::1

客户机 /etc/network/interfaces (IPv6 部分)

iface eth0 inet6 static
  address 2a01:...::3
  netmask 64
  gateway route add 2a01:...::1:3

界面tap3设置如下:

ip -6 addr add 2a01:...::1:3/64 dev tap3 # The tap3 address
ip -6 route add 2a01:...::3 dev tap3 # The guest eth0 address
ip -6 route add 2a01:...::2 dev tap3 # The host eth0 address

主人可以联络2a01:...:3

客人可以到达2a01:...::1:3甚至 2a01:...::2,但没有主机外部的地址。

ping6 www.google.de
PING www.google.de(fra07s32-in-x1f.1e100.net) 56 data bytes
^C
--- www.google.de ping statistics ---
4 packets transmitted, 0 received, 100% packet loss, time 3024ms

数据包丢失,没有 ICMP 响应。(从主机来看,它按预期工作)

我已经在 sysctl 上启用了转发:

net.ipv6.conf.eth0.forwarding = 1
net.ipv6.conf.eth0.mc_forwarding = 0
net.ipv6.conf.tap3.forwarding = 1
net.ipv6.conf.tap3.mc_forwarding = 0

如何通过主机获取数据包?

编辑:对于上述文件和命令列表中的所有地址,“...”始终是相同的值。这是我从 RIPE 获得的 /64 网络。

相关内容