Ситуация следующая: Ростелеком через GPON заходит на ZTE F670 в режиме моста, от него уже Ethernet-фреймы попадают на выделенный порт Keenetic Peak с 4.0.7, на котором уже поднята PPPoE-сессия.
Провайдер выдаёт только /64 на стыке (т.е. PPPoE-интерфейсе) с помощью SLAAC, на DHCPv6 запросы же как через PPPoE, так и через Ethernet интерфейс провайдера никакого ответа не поступает и ожидаемый /56 (согласно информации с version6.ru) не прилетает. Проверялся этот факт по мере роста сомнений в собственной вменяемости сначала на оригинальном ZTE F670 при поднятом PPPoE прямо с него, потом на микроте RB4011 с ROS 7.12.1 и ZTE снова возвращённом в бридж, потом на свежей полновесной генте и под конец мероприятия на всё том же F670, но уже "правильно поднастроенном", т.е. с полноценным доступом к busybox, iptables, ebtables, arptables и так далее - для исключения наличия какой-либо непонятной фильтрации с помощью файрволла или eBPF на стороне железки. Результат прежний: на DHCPv6 со стороны ISP ничего не отвечает.
Однако, т.к. провайдер всё-таки выдаёт полностью рабочий /64, которого мне вполне достаточно, возникла идея его переанонсировать в локальную сеть и выяснилось (в том числе после общения с поддержкой Keenetic), что такого мой Keenetic Peak не умеет и уметь не планирует.
Научить его этому благодаря наличию Entware оказалось довольно просто: занялся этим скрипт 01_wan_ipv6_config.sh(ахтунг! много башизмов!), закинутый в `/etc/ndm/wan.d/` + симлинк на него же в `/etc/cron.1min/`.
Для достижения искомого поведения, как видно из скрипта, оказалось достаточно конфига для установленного в Entware radvd, логика же для ndppd не понадобилась, т.к. всё работает и без пересылки NDP-пакетов. Помимо доработок напильником также потребовалось полностью удалить из конфига Keenetic корневую секцию `ipv6` с целью предотвращения запуска встроенного radvd.
Вот так выглядит избавленный от всего лишнего конфиг роутера: config.txt
Вопрос без TL;DR: могли бы вы, уважаемые разработчики, добавить в NDMS нативную возможность переанонсирования полученного от провайдера с помощью SLAAC IPv6 /64 префикса в LAN через тот же SLAAC или DHCPv6 на роутере без необходимости получения DHCPv6-PD /56 от провайдера? Спасибо.
P.S. Пример конфига radvd, который для этого используется у меня: radvd.conf и конфиг ndppd (у меня всё отлично работает и без него): ndppd.conf
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
Question
AmiGO
Приветствую всех!
Ситуация следующая: Ростелеком через GPON заходит на ZTE F670 в режиме моста, от него уже Ethernet-фреймы попадают на выделенный порт Keenetic Peak с 4.0.7, на котором уже поднята PPPoE-сессия.
Провайдер выдаёт только /64 на стыке (т.е. PPPoE-интерфейсе) с помощью SLAAC, на DHCPv6 запросы же как через PPPoE, так и через Ethernet интерфейс провайдера никакого ответа не поступает и ожидаемый /56 (согласно информации с version6.ru) не прилетает. Проверялся этот факт по мере роста сомнений в собственной вменяемости сначала на оригинальном ZTE F670 при поднятом PPPoE прямо с него, потом на микроте RB4011 с ROS 7.12.1 и ZTE снова возвращённом в бридж, потом на свежей полновесной генте и под конец мероприятия на всё том же F670, но уже "правильно поднастроенном", т.е. с полноценным доступом к busybox, iptables, ebtables, arptables и так далее - для исключения наличия какой-либо непонятной фильтрации с помощью файрволла или eBPF на стороне железки. Результат прежний: на DHCPv6 со стороны ISP ничего не отвечает.
Однако, т.к. провайдер всё-таки выдаёт полностью рабочий /64, которого мне вполне достаточно, возникла идея его переанонсировать в локальную сеть и выяснилось (в том числе после общения с поддержкой Keenetic), что такого мой Keenetic Peak не умеет и уметь не планирует.
Научить его этому благодаря наличию Entware оказалось довольно просто: занялся этим скрипт 01_wan_ipv6_config.sh(ахтунг! много башизмов!), закинутый в `/etc/ndm/wan.d/` + симлинк на него же в `/etc/cron.1min/`.
Для достижения искомого поведения, как видно из скрипта, оказалось достаточно конфига для установленного в Entware radvd, логика же для ndppd не понадобилась, т.к. всё работает и без пересылки NDP-пакетов. Помимо доработок напильником также потребовалось полностью удалить из конфига Keenetic корневую секцию `ipv6` с целью предотвращения запуска встроенного radvd.
Вот так выглядит избавленный от всего лишнего конфиг роутера: config.txt
Вопрос без TL;DR: могли бы вы, уважаемые разработчики, добавить в NDMS нативную возможность переанонсирования полученного от провайдера с помощью SLAAC IPv6 /64 префикса в LAN через тот же SLAAC или DHCPv6 на роутере без необходимости получения DHCPv6-PD /56 от провайдера? Спасибо.
P.S. Пример конфига radvd, который для этого используется у меня: radvd.conf и конфиг ndppd (у меня всё отлично работает и без него): ndppd.conf
Link to comment
Share on other sites
7 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.