Назад | Перейти на главную страницу

Включение IPv6 с OpenVZ с помощью Proxmox 2.2

Я пытаюсь включить IPv6 на своих узлах Debian (OpenVZ) с помощью venet; мой хост находится под Proxmox 2.2 (ядро 2.6.32-16-pve), и кажется, что маршрутизация не работает.

Мой хост правильно пингует все мои узлы; все мои узлы пингуют мой хост, но ни один из узлов не может пинговать другой узел или внешний мир. Когда я запускаю трассировку к моему узлу со своего компьютера, она останавливается, не дойдя до моего хоста (трассировка до моего узла работает хорошо).

Вот моя сетевая конфигурация:

На моем хосте vmbr0 конфигурация (из /etc/network/interfaces):

iface vmbr0 inet6 static
    address 2001:41d0:2:52ae::1
    netmask 64
    gateway 2001:41d0:2:52ff:ff:ff:ff:ff
    post-up ip -6 route add 2001:41d0:2:52ff:ff:ff:ff:ff/128 dev vmbr0 #gateway
    post-up ip -6 route add default via 2001:41d0:2:52ff:ff:ff:ff:ff #gateway
    post-up ip -6 route add 2001:41d0:2:520X::/64 dev vmbr1 # node X
    post-up ip -6 neigh add proxy 2001:41d0:2:52ff:ff:ff:ff:ff dev vmbr1
    post-up ip -6 neigh add proxy 2001:41d0:2:520X::1 dev vmbr0 # node X

На каждом узле (от /etc/network/interfaces, автоматически генерируется proxmox):

iface venet0 inet6 manual
    up ifconfig venet0 add 2001:41d0:2:520X::1/128
    down ifconfig venet0 del 2001:41d0:2:520X::1/128
    up route -A inet6 add default dev venet0
    down route -A inet6 del default dev venet0

Я что-то упускаю, или это просто невозможно через Venet?

Редактировать: вот результат ip -6 route show на моем хосте:

2001:41d0:2:520X::1 dev venet0  metric 1024  mtu 1500 advmss 1440 hoplimit 4294967295
2001:41d0:2:52ae::/64 dev vmbr0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
2001:41d0:2:5200::/56 dev vmbr0  proto kernel  metric 256  expires 0sec mtu 1500 advmss 1440 hoplimit 4294967295
fe80::1 dev venet0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 dev dummy0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 dev vmbr1  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 dev vmbr0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 dev eth0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
fe80::/64 dev venet0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 4294967295
default via fe80::5:73ff:fea0:0 dev vmbr0  proto kernel  metric 1024  expires 0sec mtu 1500 advmss 1440 hoplimit 64

И на моем узле:

2001:41d0:2:520X::1 dev venet0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 0
fe80::/64 dev venet0  proto kernel  metric 256  mtu 1500 advmss 1440 hoplimit 0
default dev venet0  metric 1  mtu 1500 advmss 1440 hoplimit 0

Edit2: Перешел с venet на veth, работает без сбоев. Тем не менее, мне все еще интересно найти способ заставить его работать через Venet ... Используя ip -6 route show с veth показывает маршрут шлюза, с venet его нет. Может, это могло быть причиной ...

Показанная вами конфигурация / etc / network / interfaces не может работать.

Вы указываете свой шлюз по умолчанию на локальный адрес, который вы настраиваете на хосте. Ваш шлюз по умолчанию (почти наверняка) должен иметь адрес в сети вашего провайдера.

Вы не указали публичный IPv6-адрес на своем интерфейсе eth0 для связи с вашим провайдером (скорее всего, это то место, куда должен идти ваш адрес 2001: 41d0: 2: 52ae :: 1/64, и, скорее всего, вашим шлюзом по умолчанию должен быть 2001: 41d0: 2: 52ff: ff: ff: ff: ff через устройство eth0.

Когда у вас есть базовая работа с сетью на eth0, вы можете работать над маршрутизацией других / 64 в вашем / 56 на другие ваши виртуальные машины.