Я пытаюсь создать виртуальную сеть IPv6 в качестве тестовой среды. У меня 5 виртуальных машин VirtualBox (Ubuntu Server) с сетевыми адаптерами, использующими сеть только для хоста. Вы можете представить, что они соединены последовательно, и каждая машина соединяет 2 подсети. Я хочу проверить связь с последней машиной из первой: On: 2001: db8: aaaa :: 100 Я хочу проверить связь с 2001: db8: dddd :: 101 (Примечание: между ними нет сети cccc)
Используются только статическая конфигурация и маршруты:
/etc/network/interfaces
auto eth0
iface eth0 inet6 static
address 2001:db8:aaaa::100
netmask 64
/etc/network/interfaces
auto eth0
iface eth0 inet6 static
address 2001:db8:aaaa::101
netmask 64
auto eth1
iface eth1 inet6 static
address 2001:db8:bbbb::100
netmask 64
up ip -6 route add 2001:db8:dddd::/64 via 2001:db8:bbbb::101 dev eth1
down ip -6 route del 2001:db8:dddd::/64 via 2001:db8:bbbb::101 dev eth1
Я подумал, что может происходить автоматическое обнаружение маршрута. В любом случае, ping6 2001: db8: dddd :: 100 не будет работать с aaaa :: 100 Когда я добавлю route: ip -6 route add 2001: db8: dddd :: / 64 через 2001: db8: aaaa :: 101, он будет работай. Но следующий интерфейс в той же сети dddd :: 101 недоступен. Как такое могло быть? Есть машина с интерфейсом bbbb :: 101 и еще один dddd :: 100, и я могу пинговать последний, но машина, подключенная к нему, dddd :: 101 нет ??
Еще я включил пересылку.
Любые идеи?
Хорошо, теперь это работает.
Не хватало только правильного маршрута по умолчанию. Я тут и там добавлял статические маршруты, но обратного пути не было. Предоставление первому и последнему узлу шлюза по умолчанию помогло. Промежуточные маршрутизаторы настроены правильно
Это также означает наличие net.ipv6.conf.all.forwarding = 1 для всех промежуточных систем (маршрутизаторов) [это уже было сделано, когда я задал свой вопрос]