У меня есть Raspberry Pi в закрытой сети на удаленном сайте. В закрытой сети есть маршрутизатор Teltonika RUT-951, который подключается к базе через VPN через локальную сеть удаленного узла и Интернет; с откатом к соединению 4G через O2.
До недавнего времени весь трафик проходил через локальную сеть удаленного узла, и все было в порядке. На прошлой неделе интернет на удаленном сайте отключился, и RUT переключился на соединение 4G. Опять все было в порядке; до тех пор, пока локальная сеть удаленного сайта не вернется, а RUT не вернется в локальную сеть.
Теперь соединения с Pi не работают.
При расследовании все подключения от Pi нацелены на адреса ipv6; тогда как наш местный интернет-провайдер (virginmedia) не поддерживает ipv6.
Похоже, что во время отработки отказа RUT и Pi получали адреса ipv6 от O2, которые они продолжают использовать, несмотря на перезагрузку. Я не могу запретить Pi использовать адреса ipv6 и не могу найти способ отключить поддержку ipv6 на Pi (он использует NetworkManager, что является усложнением).
Какие-либо предложения?
1 ответ
Если Pi все еще использует адрес IPv6 после перезагрузкиэто означает одно из двух:
Кто-то настроил этот адрес (и шлюз) статически. Взгляните на профиль подключения NetworkManager, используя
nmcli con show <name>
. Если для «ipv6.method» установлено значение «вручную», измените его обратно на «авто».В непосредственной сети все еще есть маршрутизатор, который продолжает объявлять префикс IPv6. Установите «ndisc6» и запустите
rdisc6 eth0
(возможно с--multiple
) для поиска объявлений маршрутизатора, особенно тех, у которых 1) ненулевое «время жизни маршрутизатора» и 2) хотя бы один раздел «Префикс». Первый позволяет Pi выбрать этот маршрутизатор в качестве шлюза по умолчанию, второй сообщает ему, как автоматически настроить адрес.Запишите MAC-адрес устройства, выдающего RA, и удалите его из сети (или попробуйте перезагрузить). Если окажется, что это RUT, убедитесь, что он на самом деле не подключен к O2 — он должен был прекратить рекламировать префикс. и должен был отозвать его (т.е. объявить о времени жизни 0), как только соединение было потеряно.
В качестве временного решения используйте ip addr
и ip route
чтобы удалить глобальный адрес IPv6 и шлюз по умолчанию (маршрут ::/0). Если они продолжают возвращаться, см. № 2.
Ты может легко отключить IPv6 через nmcli con modify
но это только заметание проблемы под ковер: у вас все еще есть доступ к IPv6, который объявляется остальной части сети, даже если вы притворяетесь, что его там нет.