Как я могу получить пакеты 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
Как я могу получить пакеты через хост?
Изменить: "..." всегда одинаковое значение для всех адресов в приведенном выше списке файлов и команд. Это сеть /64, которую я получил от RIPE.