Я пытаюсь включить IPv6 на моих узлах Debian (OpenVZ) с помощью venet; мой хост находится под Proxmox 2.2 (ядро 2.6.32-16-pve), и кажется, что маршрутизация не работает.
Мой хост правильно пингует все мои узлы; все мои узлы пингуют мой хост, но ни один из узлов не может пинговать другой узел или внешний мир. Когда я запускаю трассировку к моему узлу со своего компьютера, она останавливается, не дойдя до моего хоста (трассировка до моего узла работает хорошо).
Вот моя конфигурация сети:
X
маска сети: 2001: 41d0: 2: 520 X
:: / 64 X
IPv6: 2001: 41d0: 2: 520 X
:: 1 На моем хосте конфигурация 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?
Edit: вот результат 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, и, скорее всего, ваш шлюз по умолчанию должен be 2001: 41d0: 2: 52ff: ff: ff: ff: ff через устройство eth0.
После того, как у вас есть базовая работа с сетью на eth0, вы можете работать над маршрутизацией других / 64 в вашем / 56 на другие ваши ВМ.