У меня небольшая система Linux с мостом br0
между его проводным eth0
и беспроводной (режим AP) wlan0
сетевые интерфейсы.
Для br0
Я включил автоконфигурацию IPv6 (без сохранения состояния); на самом деле этим занимается dhcpcd
. Обратите внимание, что dhcpcd
настроен на без гражданства автоконфигурация, нет DHCPv6 с отслеживанием состояния нигде не видно.
Поскольку моя система представляет собой своего рода инструмент диагностики IPv6, я регулярно переключаю ее между разными сетями (подсетями) IPv6: тяну за кабель на коммутаторе, вставляю его в другой порт.
Проблема с этой настройкой сейчас: eth0
является подчиненным интерфейсом моста br0
. Когда я подключаю кабель к eth0
(и переключатель) это сейчас не запускает запросы маршрутизатора IPv6. Причина в том, что br0
никогда не видит никаких переходов в или из РАБОТАЮЩИЙ, за исключением случаев, когда он изначально запущен. Перезапуск br0
не вариант.
Как мне настроить br0
или eth0
инициировать запросы маршрутизатора IPv6, когда eth0
переходит в состояние РАБОТА, то есть когда я подключаю кабель Ethernet (на обе заканчивается, конечно)?
Единственное "решение", или, скорее, хакерство, которое я нашел до сих пор, - это включить SLAAC на eth0
сетевой интерфейс порта моста, используя /etc/network/interfaces
. Для этого добавьте:
iface eth0 inet6 auto
Поскольку это использует /etc/network/interface
, он настроит ядро Linux. Обратите внимание, что я не используя dhcpcd
здесь и так dhcpcd
нужно сказать, чтобы он держал пальцы подальше eth0
; в любом случае это необходимо для сетевых интерфейсов порта моста. Так, /etc/dhcpcd.conf
должен содержать:
denyinterfaces eth0
В этой конфигурации ядро Linux будет автоматически отправлять запросы маршрутизатора RS, когда eth0
выходит в сеть («перевозчик»). И это то, что нужно. Результирующие объявления маршрутизатора RA (также) являются многоадресными, поэтому также автоматически настраивается интерфейс моста. br0
как предполагалось. Который eth0
также получает автоконфигурацию, это просто побочный продукт.