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

Несколько маршрутизаторов IPv6 в локальной сети

Я настраиваю несколько серверов, на которых будут работать виртуальные машины с использованием IPv6. Топология сети примерно такая, где br0 интерфейсы виртуальные:

             2001:db8:fedc:aaaa::/64
   ---+----------------------------------+---
      |                                  | 
      | eth0: 2001:db8:fedc:aaaa::1      | eth0: 2001:db8:fedc:aaaa::2
 +----+----+                        +----+----+
 | server1 |                        | server2 | 
 +----+----+                        +----+----+
      | br0: 2001:db8:fedc:abcd::1       | br0: 2001:db8:fedc:cdef::1
      |                                  | 
      | VM network 1:                    | VM network 2:
      | 2001:db8:fedc:abcd::/64          | 2001:db8:fedc:cdef::/64
 +----+----+                        +----+----+
 |    |    |                        |    |    | 
vm1  vm2  vm3                      vm4  vm5  vm6

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

Идея состоит в том, чтобы каждый сервер объявлял маршрут к своей собственной сети виртуальных машин другим серверам. Итак, в приведенном выше примере server1 объявляет маршрут до 2001: db8: fedc: abcd :: / 64, а server2 до 2001: db8: fedc: cdef :: / 64.

У меня это есть в radvd.conf server1:

interface eth0 {
  AdvSendAdvert on;
  prefix 2001:db8:fedc:abcd::/64 { };
  route  2001:db8:fedc:abcd::/64 { };
};

А это server2:

interface eth0 {
  AdvSendAdvert on;
  prefix 2001:db8:fedc:cdef::/64 { };
  route  2001:db8:fedc:cdef::/64 { };
};

Я могу видеть, что эта информация поступает с одного из серверов, если я запускаю "rdisc6 eth0" на другом, но по какой-то причине маршрут не добавляется в его таблицу маршрутизации.

Что мне здесь не хватает?

Эта конфигурация не будет работать с radvd, и мои попытки были вызваны непониманием цели рекламы маршрутизатора. Этот протокол предназначен для автоконфигурации хоста, а не для распространения маршрута между маршрутизаторами.

Замена radvd на Quagga и протокол маршрутизации с поддержкой IPv6 решает проблему.

Раздел маршрута в этом случае не нужен, поскольку благодаря объявлению префикса ваша система должна автоматически настраивать локальный для ссылки адрес сервера [1,2], поскольку именно сервер отправил объявление маршрута. Возможно, добавление раздела маршрута для той же подсети противоречит добавлению маршрута.