Radvd не будет принимать не /64 подсети
Я пытаюсь настроить radvd
в конфигурации 6RD (в Linux), где у меня есть подсеть /64, и я пытаюсь использовать ее в двух разных физических сетях, поэтому я пытаюсь дать каждой из них подсеть /80. Тем не менее, когда я начинаю radvd
на этих интерфейсах это говорит это:
radvd[3987]: prefix length should be 64 for int
(int
будучи именем одного из интерфейсов.)
Я знаю, что автоматическая конфигурация без сохранения состояния не работает в подсетях, размер которых превышает /64, например, в подсети /48, но AFAIK предполагается, что она будет работать для всего, что меньше /64, поэтому /80 не должно быть проблемой. Окончательный эффект теперь в том, что radvd
просто объявляет неправильный префикс подсети, эффективно "удаляя" первые 16 бит.
Что это? Неужели я не прав? radvd
глючит, или есть какой-то параметр конфигурации, который мне не хватает?
2 ответа
radvd
не глючит, подсети IPv6 должны действительно быть /64, чтобы автоконфигурация без сохранения состояния работала. Если вы используете что-то еще, вам придется вручную настроить каждое устройство в сети. Устройства, которые не предлагают возможность ручной настройки, вообще не будут работать.
Если вы действительно не знаете, что делаете (например, используете /127 для двухточечных соединений между маршрутизаторами), вы всегда должны использовать /64 для локальных сетей.
Обратите внимание, что автоматически сгенерированный адрес IPv6 похож на 2001:db8:1234:1234:xxxx:xxff:feyy:yyyy, где xxxxxx и yyyyyy - это MAC (с обратным битом). Вот почему radvd 9 или любой другой инструмент конфигурации без сохранения состояния) не может использовать вместо этого любую другую длину префикса.
Для других длин вы все еще можете использовать инструмент с отслеживанием состояния - DHCPv6.