Wi-CAT LLC

Wireless Comprehensive Advanced Technology. Build your network now.

Wi-CAT LLC
Навигация Форума
Вы должны войти, чтобы создавать сообщения и темы.

(почти) Правильно ли я загружаю массовую конфигурацию?

У меня есть типовая конфигурация, которую нужно применить на множество устройств ME1, AP2 и WI2. Я представляю это таким образом, что сотрудники будут брать устройство из коробки, обновлять ПО, делать сброс, загружать типовую конфигурацию и вносить небольшие изменения.

К сожалению от идеи загружать config.dat пришлось отказаться — там очень много параметров (более 500), не все из них мне ясны и не все параметры совместимы между разными моделями устройств. Вместо этого у меня есть конфиг на примерно 60 параметров:

Login=xxx
Password=xxx
UserLogin=xxx
UserPassword=xxx
MngmtLogin=
MngmtPassword=
MngmtStoreSettings=0
Language=en
OperationMode=0
HostName=WAP-000
own_ip_addr=10.101.10.0
lan_ipaddr=10.101.10.0
lan_netmask=255.255.0.0
wan_gateway=10.101.0.250
wan_primary_dns=10.101.0.250
wan_secondary_dns=
wan_static_dns=on
TZ=MSK-3
NTPEnabled=1
NTPServerIP=xxx
lltdEnabled=0
lldpdEnabled=0
cdpEnabled=0
BtnRstTimeout=10
BssidNum=1
BssidIfName=ra
RadioOn=1
RadioOnINIC=1
TxPower=100
Channel=3
TxPowerINIC=100
ChannelINIC=44
ChannelGeography=2
CountryCode=RU
CountryRegion=5
CountryRegionABand=7
AuthMode=WPA2
SecurityMode=0
EncrypType=AES
RekeyInterval=3600
RekeyMethod=TIME
SSID1=xxx
SSID1INIC=xxx
HideSSID=0
NoForwarding=1
NoForwardingMBCast=1
NoForwardingBTNBSSID=1
RADIUS_Key=xxx
RADIUS_Port=1812
RADIUS_Server=xxx
session_timeout_interval=0
FastRoaming=1
PMKCachePeriod=480
FtSupport=1
FtMdId1=A1
FtR0khId1=4f577274
RRMEnable=1
RegulatoryClass=5;0;0;0;0
RegulatoryClassINIC=1;2;3;4;0

К сожалению загрузить этот конфиг напрямую не получилось, при попытке его загрузить устройство перестает работать. Видимо при загрузке конфига идет не слияние текущего конфига с загружаемым, а он полностью перезаписывается и в моем конфиге отсутствует ряд обязательных параметров.

Вместо этого я попробовал использовать RWFS, точнее скрипт /etc/scripts/userrwfs.sh, в котором указывается строчка nvram_renew 2860 <my-config>.cfg. При таком подходе меняются только указанные в файле настройки, а остальные настройки остаются прежними (дефолтными). Ну и после nvram_renew я дополнительно делаю reboot, на всякий случай.

Просьба проверить список переменных, все ли обязательные для работы устройства в нем учтены? Если принимаются пожелания, то было бы неплохо в веб-интерфейсе добавить к настройкам tooltip, в котором бы указывалось имя параметра в конфигурационном файле — некоторые настройки по названию сложно идентифицировать или найти.

Сейчас RWFS-пакет со скриптом и конфигурацией я проверил, он все успешно загружает. Но недостаток в том, что после загрузки настроек устройство получает фиксированный IP-адрес, причем пользователь может не знать, какой IP-адрес был назначен устройству. Можно ли сделать так, чтобы после применения настроек и перезагрузки устройства браузер пользователя переадресовало на новый IP-адрес, как это сделано при изменении IP-адреса LAN? В идеале хотелось бы IP-адрес назначать не фиксированный, а запрашивать у пользователя или извлекать из имени пакета RWFS, но имя пакета сохраняется в etc/rwfsloadbyuser и я думаю, что смогу его оттуда извлечь.

При загрузке из рожи идёт сначала clear nvram только затем заполняется заново.

renew без предварительно стирания смерджит.

Те параметры что не меняются не надо вообще тащить в renew.

Можно ли сделать так, чтобы после применения настроек и перезагрузки устройства браузер пользователя переадресовало на новый IP-адрес, как это сделано при изменении IP-адреса LAN?

Нет. Вы напрямую грузите конфиг и ожидаете какой-то переадресации?

Идеальный вариант я вам несколько раз подсказал. Тулза простейшая которая будет заливать настройки и запрашивать то что надо, заодно и браузер пинать на новй адрес.

Если принимаются пожелания, то было бы неплохо в веб-интерфейсе добавить к настройкам tooltip, в котором бы указывалось имя параметра в конфигурационном файле — некоторые настройки по названию сложно идентифицировать или найти.

man grep + git и смотрим. UI и так перегружен (юзвери регулярно жалуются), ещё туда инфу внутреннию переть и руками описывать что и где эт сумасшествие по второму кругу и явный перебор.

Если полезли внутрь, то придётся соответственно штудировать исходники и т.д. и т.п.

Подсказываю лайфхак. Сбрасываете в дефолт. Выгружаете конфиг. Настраиваете в UI всё что надо. Выгружаете конфиг. Берёте diff и делаете с ключиком -u сравнение конфигов от дефолтового к новому. Затем грепом выбираете только строчки с "+" в начале. Если убрать после этого "+" перед параметром то получите готовый для заливки через nvram_renew конфиг изменений относительно текущих дефолтов. Профит.

Напомню. Что ТП по Wive-NG-MT является ограниченной (приём репортов по ошибкам и консультация частных лиц по настройкам).

Мы вообще не планировали осуществлять по ней какую-либо ТП в ключе ЮР лиц по завершению контракта с NAG. Очень прошу минимизировать вопросы не связанные с репортами о ошибках. Нам затраченное время на это никто не оплатит. А работы хватает и своей.

ТП по SNR-CPE для юр лиц оказывает NAG.

Простите, но как я уже говорил, NAG не дети африки что бы бесплатно поддерживать их клиентов.  У нас достаточно своих задач требующих решения ещё вчера. А то получается работаем мы, а оплачиваете это НАГу. Без обид, но это перебор.

P.S. Тему закрываю.

PP.S. Подсказка session_timeout_interval лучше выставить не более суток. И таким же как задан в радиусе (если конкретная реализация имеет лимит на время сессии). Иначе можете столкнуться с исчерпанием места в таблице PmkCache (как минимум в ней) учитывая что это хотспоты, то это произойдёт относительно быстро.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: