Я настроил простой маршрутизатор, который должен обеспечивать подключение по протоколу IPv6 к машинам, которые находятся за ним в локальной сети. Маршрутизатор имеет 2 сетевых интерфейса (eth0, eth1), машины имеют 1 (eth0).
На маршрутизаторе eth0 - доступ только к локальной сети, на eth1 - доступ к интернету. Я настроил все параметры ядра, все работает нормально.
IP роутера fd00::1
, я установил dhcpd на роутер и настроил диапазон fd00::100 - fd00::fffe
.
Когда я запускаю какой-либо компьютер в этой сети, ему присваивается IP-адрес от dhcpd, например, fd00::fffa
, но он не может получить доступ к Интернету по понятным причинам - ему не хватает маршрута.
Когда я добавляю маршрут вручную sudo route -6 add 2000::/3 gw fd00::1
машина начинает иметь доступ к Интернету, пока я не перезагружу его.
Я могу добавить этот маршрут вручную в сценарий инициализации каждой машины, но я бы предпочел, чтобы он автоматически настраивался, чтобы при запуске машины в этой сети он получал доступ к Интернету по протоколу IPv6, не требуя ничего другого.
Основываясь на некоторых предложениях, я также установил radvd на маршрутизаторе и вставил эту опцию:
route 2000::/3 {};
Скорее всего, это неправильно, но я не смог найти документацию или примеры. Не работает Использование radvd вместо dhcpd для назначения адресов IPv6 не работает вообще, если я отключаю машины dhcpd, автоматически конфигурирую некоторые случайные адреса IPv6 и даже не вижу друг друга, они также не могут пропинговать маршрутизатор.
Как настроить мою локальную сеть для автоматической настройки IPv6 для всех машин на ней?
Примечание: мне не нужно ни того, ни другого, я хочу, чтобы у каждой машины был общедоступный IPv6, NAT - это нормально.