Палка FS GPON ONU в слоте SFP+ UDM-Pro: нет способа достучаться до её management IP, чтобы записать серийник
Домашняя установка, пытаюсь избавиться от роутера провайдера на линии GPON Cosmote. Идея в том, чтобы завести оптику прямо в UDM-Pro и дать палке выполнять роль ONU, но провайдер принимает сессию только если предъявлен 12-символьный серийник и строка модели устройства старого CPE, так что мне нужно попасть внутрь модуля и записать и то, и другое.
- Ubiquiti UDM-Pro, палка стоит в SFP+ порту 10
- палка FS GPON ONU с MAC SFP, артикул 133619
- патч-корд SC/APC - SC/APC от настенной розетки
- старый CPE всё ещё на столе как образец для серийника и строки модели
Моя проблема более базовая, чем сам клонинг: я вообще не могу достучаться до модуля. Из шелла шлюза ничего не отвечает на его management-адрес.
ssh root@10.10.10.1
# then, from the gateway, with the stick in port 10
ssh ONTUSER@192.168.1.10
Вторая команда просто висит, пока не сдастся. Ни баннера, ни отказа в соединении, ничего.
Что уже сделал:
- переустановил палку и поменял патч-корд, модуль запитывается, и его светодиод ведёт себя нормально
- убедился, что на UDM-Pro ничего не занимает 192.168.1.0/24, моя LAN живёт в другой подсети
- рассматривал вариант с выделенным management VLAN для этого слота, но это много сантехники ради одной записи
Есть ли способ адресоваться напрямую к слоту SFP из шелла UDM-Pro, чтобы залогиниться в палку и записать серийник и ID устройства, не поднимая для этого отдельный VLAN?
Comments 4
На пути у вас две отдельные вещи, и ни одна из них не сам модуль.
Первое - адресация. Слот SFP - это обычный интерфейс на UDM-Pro, пронумерованный как отображаемый номер порта минус один, так что порт 10 - это eth9. Дайте шлюзу адрес внутри подсети модуля и убедитесь, что ответы уходят именно с него:
После этого 192.168.1.10 отвечает из шелла шлюза.
Второе - рукопожатие. Прошивка на этих палках достаточно старая, что её список алгоритмов обмена ключами останавливается на устаревших, так что нужно указать один явно:
Как только зайдёте, серийник провайдера ставится через
set_serial_number AVMGXXXXXXXX, а строка модели устройства клонируется черезsfp_i2c -i7 -s. Перезагрузите палку и проверьте, что реально закрепилось:Два предостережения. Ничего из этого не поддерживаемая конфигурация - вы вручную добавляете адрес и правило NAT на устройстве, так что относитесь к этому как к временной сантехнике на время сессии программирования и держите старый CPE, пока линия не аутентифицируется. Другая половина предупреждения про скорость: 2,5 Гбит - это то, на что эта платформа сама по себе не согласится, так что даже модуль, объявляющий 2.5G, в итоге договаривается либо на 1G, либо на 10G. Если вы вообще не хотите трогать шлюз, альтернатива - запрограммировать палку в другой коробке с маршрутизируемым портом SFP и потом переставить.
Как сам шлюз называет этот слот? На этой коробке порты SFP - обычные интерфейсы, но именование не совпадает с номерами, напечатанными на передней панели, так что легко гонять пакеты через что-то, что вообще не этот слот - а из шелла это выглядит ровно так, как у вас: сессия висит, а на другом конце ничего.
Вставьте список интерфейсов из шелла шлюза. Как только станет ясно, какой интерфейс относится к этому порту, часть с адресацией - лёгкая половина.
eth9 оказался именно тем, порт 10 минус один. Адрес плюс правило SNAT заставили 192.168.1.10 ответить с первой попытки, а опция устаревшего обмена ключами была другой половиной: без этого флага мой клиент сдавался во время рукопожатия, с ним я сразу получил приглашение ONTUSER.
Записал серийник через
set_serial_number AVMGXXXXXXXX, клонировал строку модели черезsfp_i2c -i7 -s, перезагрузил, иfw_printenv | grep nSerialвозвращает установленное мной значение. Линия аутентифицировалась через несколько минут, старый CPE теперь отключён.Одна вещь подтвердилась на собственном опыте: порт поднялся на 1G, ровно как предупреждали про 2,5G на этом слоте. Меня устраивает - таков профиль, что даёт провайдер здесь.
Та же задача, другие детали, и именно серийник здесь становится неприятным. Я переносил идентичность Calix GigaPoint 801Gv2 на палку G-010S-A через ritool:
Серийник ONT - 372010010470, но модуль отчитывал его обратно как
на один ноль короче. Причина в раскладке поля: серийник GPON - это 8 байт, первые четыре хранят vendor ID как ASCII-символы (3720 читается буквально как четыре буквы), а последние четыре - числовую часть, упакованную как hex. Десятичный хвост вроде 10010470 не помещается туда цифра в цифру, отсюда и потеря символа в эхе.
Так что прежде чем объявлять победу, проверьте, как ваш провайдер вообще регистрирует ONT - по серийнику или по SLID / регистрационному ID. Одна лишь запись серийника не всегда то, по чему они сверяют.