Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Для корректной работы необходим веб сервер который умеет отвечать на HEAD запросы и корректно передает заголовок Last-Modified
  2. Скрипт установит новый архив, если веб-сервер передаст заголовок Last-Modified с измененным значением. Иными словами - проверяется совпадение дата и времени модификации архива на сервере
  3. Чтобы скрипт проверял обновление периодически, установите скрипт в систему (например в директорию /etc) и включите периодический запуск скрипта через CRON, Блок кода в скрипте с проверкой обновлений раз в 5 минут:

Ограничение UI для учетных записей через

...

web-acl

...

Модуль позволяет установить правила ограничения доступа к определенным элементам web-интерфейса для отдельных пользователей.

Доступны 2 варианта внесения ограничений:Вариант редактирования


Section
bordertrue


Column

Установка файломРедактирование напрямую:


Column
width65%


Code Block
languagebash
titleПример использования
collapsetrue
# установкавсе файлаполя luci-aclв изнастройках архиваwan EasyCustomтолько в каталог /etc/config/luci-acl
INSTALL_FILE "luci-acl" "/etc/config/luci-acl"
Section
bordertrue
Column

Редактирование напрямую:

Column
width65%
Code Block
languagebash
titleПример использования
collapsetrue
# запрет на чтение и редактирование страницы cwmp для пользовательской учетной записи
CONFIG_SET luci-acl.@user[0].deny='admin/status/log' 'admin/services/easycwmp'
# запрет на редактирование страницы vlan для пользовательской учетной записи
CONFIG_SET luci-acl.@user[0].readonly='admin/network/vlan/advanced'

EasyWRT имеет два встроенных пользователя:

  • Admin - административная учетная запись, имеет цифровой идентификатор - 0
  • User - пользовательская учетная запись, имеет цифровой идентификатор - 2

Политики применяются к пользователям на основе цифрового идентификатора.  Конфигурация  /etc/config/luci-acl поддерживает две основные политики:

  • readonly - запрет только редактирования
  • deny - запрет и чтения и редактирования указанной страницы

Внешнее оформление UI

Warning

Для отображения новых стилей, после установки архива ezcustom, нужно обновить вкладку со сбросом кэша: Ctrl + F5

Для большей совместимости с новыми версиями ПО мы не рекомендуем глубокую кастомизацию, по этому рассмотрим пример кастомизации UI на основе изменения стилей интерфейса через style.css

...

bordertrue

Для просмотра и редактирования стилей WEB-UI EasyWRT:

  1. Перейдите на страницу управления роутером в браузере
  2. Авторизуйтесь на роутере
  3. Перейдите в инструменты разработчика на странице (возможность и способ перехода может различаться в зависимости от браузера)
  4. Измените стили нужных элементов
  5. Перейдите в "источники" из инструментов разработчика, скачайте измененные стили.
Column
Image Removed
Column

Image Removed

Для загрузки новых стилей, укажите команду в файле custom с названием файла .css:

Code Block
languagebash
 INSTALL_STYLES "style.css"

Для изменения логотипа новый файл логотипа должен быть векторным изображением с расширением .svg

После выбора логотипа и проверки его расширения, укажите его загрузку командой в файле custom:

Code Block
languagebash
INSTALL_LOGO "logo.svg"

...

bordertrue
Column

Image Removed

Column

Image Removed

Column

Image Removed

Пример кастомизации

Section
bordertrue
для чтения
CONFIG_ADD web-acl rule
CONFIG_ADD_LIST web-acl.@rule[-1].uid='2'
CONFIG_ADD_LIST web-acl.@rule[-1].model='network.wan'
CONFIG_ADD_LIST web-acl.@rule[-1].readonly='*'

# все поля в настройках vlan только для чтения
CONFIG_ADD web-acl rule
CONFIG_ADD_LIST web-acl.@rule[-1].uid='2'
CONFIG_ADD_LIST web-acl.@rule[-1].model='network.vlan'
CONFIG_ADD_LIST web-acl.@rule[-1].readonly='*'

# скрыть ссылку на CWMP в сайдбаре
CONFIG_ADD web-acl rule
CONFIG_ADD_LIST web-acl.@rule[-1].uid='2'
CONFIG_ADD_LIST web-acl.@rule[-1].path='*'
CONFIG_ADD_LIST web-acl.@rule[-1].disable='#service-cwmp'

# скрыть страницу CWMP
CONFIG_ADD web-acl rule
CONFIG_ADD_LIST web-acl.@rule[-1].uid='2'
CONFIG_ADD_LIST web-acl.@rule[-1].path='/admin/web/service/cwmp'
CONFIG_ADD_LIST web-acl.@rule[-1].disable='*/*'



EasyWRT имеет два встроенных пользователя:

  • Admin - административная учетная запись, имеет цифровой идентификатор - 0
  • User - пользовательская учетная запись, имеет цифровой идентификатор - 2

Политики применяются к пользователям на основе цифрового идентификатора.  Конфигурация  /etc/config/web-acl поддерживает несколько основных политик:

  • readonly - запрет только редактирования
  • disable - запрет и чтения и редактирования указанной страницы

Если в поле mode/readonly/disable указать *, то правило будет действовать для всех элементов модели/страницы

Дополнительные политики:

  • model - список моделей для которых будут действовать правила (Если в поле model указать *, то правило будет действовать для всех моделей)
  • path - список url для которых будут действовать правила (Если в поле path указать *, то правило будет действовать для всех страниц)

Внешнее оформление UI

...

Warning

Для отображения новых стилей, после установки архива ezcustom, нужно обновить вкладку со сбросом кэша: Ctrl + F5

Для большей совместимости с новыми версиями ПО мы не рекомендуем глубокую кастомизацию, по этому рассмотрим пример кастомизации UI на основе изменения стилей интерфейса через style.css

Section
bordertrue

Для просмотра и редактирования стилей WEB-UI EasyWRT:

  1. Перейдите на страницу управления роутером в браузере
  2. Авторизуйтесь на роутере
  3. Перейдите в инструменты разработчика на странице (возможность и способ перехода может различаться в зависимости от браузера)
  4. Измените стили нужных элементов
  5. Перейдите в "источники" из инструментов разработчика, скачайте измененные стили.
Column
Image Added


Column

Image Added


Для загрузки новых стилей, укажите команду в файле custom с названием файла .css:

Code Block
languagebash
 INSTALL_STYLES "style.css"

Для изменения логотипа новый файл логотипа должен быть векторным изображением с расширением .svg

После выбора логотипа и проверки его расширения, укажите его загрузку командой в файле custom:

Code Block
languagebash
INSTALL_LOGO "logo.svg"


Section
bordertrue


Column

Image Added


Column

Image Added


Column

Image Added


Пример кастомизации

...

Section
bordertrue

Рассмотрим использование EasyCustom на примере тестового технического требования.

Column

Загрузить созданный архив можно двумя способами:

  1. Через WEB-UI, по пути Управление → Конфигурация → Восстановить резервную копию;
  2. Через ACS, загрузив файл как обычный конфигурационный файл (по аналогии с резервной копией).
Expand
titleПример требований к кастомизации


  • Учетная записать администратора:
    • Логин: Admin1
    • Пароль зашифрован: AdminPass
  • Учетная запись пользователя:
    • Логин: User1
    • Пароль зашифрован: UserPass
    • Ограничить доступ к пунктам WEB-UI:
      • CWMP: чтение и запись
      • Расширенная настройка VLAN: запись
  • NTP
  • Параметры удаленного доступа
    • Доступ на WAN по SSH: включить
      • Доступ с подсети 10.1.1.0/24
      • Доступ с адреса 10.10.10.10
      • Порт 23
    • Доступ на WAN по HTTP: включить
      • Доступ с подсети 10.1.1.0/24
      • Доступ с адреса 10.10.10.10
      • Порт 81
    • Доступ на WAN по HTTPS: включить
      • Доступ с подсети 10.1.1.0/24
      • Доступ с адреса 10.10.10.10
      • Порт 444
  • CWMP
    • Режим работы CWMP: static
    • Периодическое информирование ACS-сервера: включить
      • Интервал информирования ACS-сервера: 4000
    • Адрес ACS-сервера: http://10.1.1.6:7547/
    • CWMP-порт: 7547
  • STUN
    • STUN-запросы : включить
    • Адрес STUN-сервера: 192.168.1.1
    • Порт STUN-сервера: 19303
    • Порт STUN-клиента: 25565
    • Интервал отправки сообщений: 120
    • Имя пользователя STUN: Admin
    • Пароль: Admin
  • IGMP-proxy
    • IGMP-proxy: включить
    • fastleave: включить
    • respawn: включить
  • UPnP
    • UPnP: включить
    • Дополнительное журналирование: включить
    • Защищенный режим: включить
  • Сервисы деактивации аварий
    • Перезапуск WAN : включить
    • Проверка доступности шлюза: включить
      • Интервал проверки: 35
      • Количество попыток:  4
    • Обнаружение петель: включить
    • Время отключения порта при обнаружении петли: 10 секунд
  • Настройки сети
    • LAN
      • LAN-IP: 192.168.1.111
      • DHCP
        • Минимальный адрес аренды: 10
        • Максимальное количество адресов для аренды: 143
        • Максимальное время аренды: 11h
    • WAN
      • Тип соединения: static
      • Адрес: 10.1.1.111
      • Шлюз: 10.1.1.1
      • Маска: 255.255.255.0
      • DNS: 8.8.8.8, 8.8.4.4
      • Hostname: SNR-CPE-Router
      • MTU: 1500
    • Туннелированное подключение: включить
      • Тип: PPPoE
      • Логин: Admin
      • Пароль: Admin
      • Использовать маршрут по умолчанию: включить
  • Wi-Fi
    • Диапазон 2.4 Ghz
      • Имя сети: Network-2GHz
      • Тип шифрования: WPA2-PSK
      • Пароль: Password123
      • Автовыбор канала: включить
        • Тип: По количеству станций
        • Исключить каналы: 12, 13, 14
      • Ширина канала: 20 Mhz
      • PMF: Обязательно
    • Диапазон 5 Ghz
      • Имя сети: Network-5Ghz
      • Тип шифрования: WPA2-PSK
      • Пароль: Password123
      • Автовыбор канала: включить
        • Тип:  По количеству станций
        • Исключить каналы: 132, 136, 140, 144, 149, 153, 157, 161, 165
      • Ширина канала: 20 Mhz
      • PMF: Обязательный
  • Стили
    • W4N-N
      • Стиль интерфейса: Голубой
      • Логотип: Ягоды
    • MD2
      • Стиль интерфейса: Коричневый
      • Логотип: Арбуз
    • ME2-Lite
      • Стиль интерфейса: Розовый
      • Логотип: Пончик
    • AX1
      • Стиль интерфейса: Желтый
      • Логотип: Сыр
    • AX2
      • Стиль интерфейса: Серый
      • Логотип: Яблоко
  • Обновление архива
    • Проверка обновлений каждые 5 минут




# НАСТРОЙКА УЧЕТНОЙ ЗАПИСИ АДМИНИСТРАТОРА # логин ADMIN_USERNAME "Admin1" # hash пароля SET_PASSWD_HASH "Admin1" '$1$GyDkBMuw$DMAIDu9YL8DyDTaVkiahS1' # НАСТРОЙКА УЧЕТНОЙ ЗАПИСИ ПОЛЬЗОВАТЕЛЯ # логин USER_USERNAME "User1" # hash пароля SET_PASSWD_HASH "User1" '$1$uhqRRzgo$LYXc1oYdHrHoh4BErjSEL/' # УСТАНОВКА ФАЙЛА ОГРАНИЧЕНИЙ WEB-ИНТЕРФЕЙСА luci-acl # установка файла luci-acl ограничений в web-ui INSTALL_FILE "luci-acl" "/etc/config/luci-acl" #ИЗМЕНЕНИЕ КОНТАКТНЫХ ДАННЫХ В WEB-UI # телефон службы поддержки клиентов оператора связи CONFIG_SET system.@system[0].snr_custom_support_phone='8-800-123-45-67' # сайт/интернет-ресурс оператора связи CONFIG_SET system.@system[0].snr_custom_support_url='http://support.myisp.com' # НАСТРОЙКИ NTP # включение ntp-клиента CONFIG_SET system.ntp.enabled='1' # включение ntp-сервера CONFIG_SET system.ntp.enable_server='1' # замена стандартного ntp сервера (0.ru.pool.ntp.org) CONFIG
  1. ранее перечисленные команды
Column
_SET system.ntp.server='new1.ntp.net' # добавление еще двух ntp-серверов в список CONFIG_ADD_LIST system.ntp.server='new2.ntp.net
  1. Создаем каталог /etc
  2. В /etc создаем каталог /ezcustom
  3. В /etc/ezcustom создаем текстовый файл "custom" без расширения , сохраняем с форматом окончания строк Unix.
  4. В /etc/ezcustom добавим подготовленные файлы стилей, логотипов и ограничений UI, по необходимости
  5. По вышеописанным требованиям, отредактируем файл custom, используя ранее перечисленные команды
Code Block
languagebash
titleСодержимое скрипта custom
collapsetrue
Code Block
languagebash
titleСодержимое скрипта custom
collapsetrue
# НАСТРОЙКА УЧЕТНОЙ ЗАПИСИ АДМИНИСТРАТОРА
# логин
ADMIN_USERNAME "Admin1"
# hash пароля
SET_PASSWD_HASH "Admin1" '$1$GyDkBMuw$DMAIDu9YL8DyDTaVkiahS1'

# НАСТРОЙКА УЧЕТНОЙ ЗАПИСИ ПОЛЬЗОВАТЕЛЯ
# логин
USER_USERNAME "User1"
# hash пароля
SET_PASSWD_HASH "User1" '$1$uhqRRzgo$LYXc1oYdHrHoh4BErjSEL/'

# УСТАНОВКА ФАЙЛА ОГРАНИЧЕНИЙ WEB-ИНТЕРФЕЙСА luci-acl
# установка файла  luci-acl ограничений в web-ui
INSTALL_FILE "luci-acl" "/etc/config/luci-acl"

#ИЗМЕНЕНИЕ КОНТАКТНЫХ ДАННЫХ В WEB-UI
# телефон службы поддержки клиентов оператора связи
CONFIG_SET system.@system[0].snr_custom_support_phone='8-800-123-45-67'
# сайт/интернет-ресурс оператора связи
CONFIG_SET system.@system[0].snr_custom_support_url='http://support.myisp.com'

# НАСТРОЙКИ NTP
# включение ntp-клиента
CONFIG_SET system.ntp.enabled='1'
# включение ntp-сервера
CONFIG_SET system.ntp.enable_server='1'
# замена стандартного ntp сервера (0.ru.pool.ntp.org)
CONFIG_SET system.ntp.server='new1.ntp.net'
# добавление еще двух ntp-серверов в список
CONFIG_ADD_LIST system.ntp.server='new2.ntp.net'
CONFIG_ADD_LIST system.ntp.server='new3.ntp.net'

# НАСТРОЙКА ПРАВИЛ ДЛЯ ДОСТУПА НА WAN ПО SSH
# название правила
CONFIG_SET firewall.ssh.name='Allow-SSH'
# включение доступа по SSH на wan
CONFIG_SET firewall.ssh.enabled='1'
# зона доступности
CONFIG_SET firewall.ssh.src='wan'
# указываем новый порт 23 в конфиге dropbear и firewall
CONFIG_SET dropbear.@dropbear[0].Port='23'
CONFIG_SET firewall.ssh.dest_port='23'
# протокол подключения
CONFIG_SET firewall.ssh.proto='tcp'
# тип правила
CONFIG_SET firewall.ssh.target='ACCEPT'
# разрешаем доступ с подсетей
CONFIG_ADD_LIST firewall.ssh.src_ip='10.10.10.10'
CONFIG_ADD_LIST firewall.ssh.src_ip='10.1.1.0/24'

# НАСТРОЙКА ПРАВИЛА ДЛЯ ДОСТУПА НА WAN ПО HTTP
# название правила
CONFIG_SET firewall.http.name='Allow-HTTP'
# включение доступа по HTTP на wan
CONFIG_SET firewall.http.enabled='1'
# зона доступности
CONFIG_SET firewall.http.src='wan'
# удаляем секцию стандартного конфига порта 80 в uhttpd для http
CONFIG_DELETE uhttpd.main.listen_http
# указываем новый порт 88 в конфиге uhttpd и firewall
CONFIG_ADD_LIST uhttpd.main.listen_http='0.0.0.0:88'
CONFIG_ADD_LIST uhttpd.main.listen_http='[::]:88'
CONFIG_SET firewall.http.dest_port='88'
# протокол подключения
CONFIG_SET firewall.http.proto='tcp'
# тип правила
CONFIG_SET firewall.http.target='ACCEPT'
# разрешаем доступ с подсетей
CONFIG_ADD_LIST firewall.http.src_ip='10.10.10.10'
CONFIG_ADD_LIST systemfirewall.ntphttp.serversrc_ip='new310.1.ntp1.net0/24'

# НАСТРОЙКА ПРАВИЛПРАВИЛА ДЛЯ ДОСТУПА НА WAN ПО SSHHTTPS
# название правила
CONFIG_SET firewall.sshhttps.name='Allow-SSHHTTPS'
# включение доступа по SSHHTTPS на wan
CONFIG_SET firewall.sshhttps.enabled='1'
# зона доступности
CONFIG_SET firewall.sshhttps.src='wan'
# указываемудаляем новыйсекцию портстандартного 23конфига впорта конфиге443 dropbearв и firewall
CONFIG_SET dropbear.@dropbear[0].Port='23'uhttpd для https
CONFIG_SETDELETE firewalluhttpd.sshmain.dest_port='23'listen_https
# протокол подключения
CONFIG_SET firewall.ssh.proto='tcp'
# тип правила
CONFIG_SET firewall.ssh.target='ACCEPT'
# разрешаем доступ с подсетейуказываем новый порт 444 в конфиге uhttpd и firewall
CONFIG_ADD_LIST firewalluhttpd.sshmain.srclisten_iphttps='100.100.100.100:444'
CONFIG_ADD_LIST firewalluhttpd.sshmain.srclisten_ip='10.1.1.0/24'

# НАСТРОЙКА ПРАВИЛА ДЛЯ ДОСТУПА НА WAN ПО HTTP
# название правила
CONFIG_SET firewall.http.name='Allow-HTTP'
# включение доступа по HTTP на wanhttps='[::]:444'
CONFIG_SET firewall.httphttps.enableddest_port='1444'
# зонапротокол доступностиподключения
CONFIG_SET firewall.httphttps.srcproto='wantcp'
# удаляем секцию стандартного конфига порта 80 в uhttpd для httpтип правила
CONFIG_DELETESET uhttpdfirewall.main.listen_httphttps.target='ACCEPT'
# указываемразрешаем новыйдоступ порт 88 в конфиге uhttpd и firewallс подсетей
CONFIG_ADD_LIST uhttpdfirewall.mainhttps.listensrc_httpip='010.010.010.0:8810'
CONFIG_ADD_LIST uhttpdfirewall.mainhttps.listensrc_http='[::]:88'ip='10.1.1.0/24'

# НАСТРОЙКА CWMP-ДЕМОН
# включение CWMP-демона в режиме static
CONFIG_SET firewall.http.dest_port='88easycwmp.@local[0].enable='3'
# протокол подключениявключение периодического информирования ACS-сервера
CONFIG_SET firewall.http.proto='tcpeasycwmp.@acs[0].periodic_enable='1'
# типадрес правилаACS-сервера
CONFIG_SET firewall.http.target='ACCEPTeasycwmp.@acs[0].url='http://10.1.1.6:7547'
# разрешаем доступ с подсетейCWMP-порт
CONFIG_ADD_LISTSET firewall.http.src_ip='10.10.10.10'
CONFIG_ADD_LIST firewall.http.src_ip='10.1.1.0/24easycwmp.@local[0].port='7547'
# интервал информирования ACS-сервера
CONFIG_SET easycwmp.@acs[0].periodic_interval='4000'

# НАСТРОЙКА ПРАВИЛА ДЛЯ ДОСТУПА НА WAN ПО HTTPSSTUN
# порт названиеклиента правилаstun
CONFIG_SET firewalltr069_stun.httpsstun.nameclient_port='Allow-HTTPS25565'
# включение доступа по HTTPS на wanstun-запросы
CONFIG_SET firewalltr069_stun.httpsstun.enabledenable='1'
# интервал зонаотправки доступностиstun-сообщений
CONFIG_SET firewalltr069_stun.httpsstun.srcmin_keepalive='wan'
# удаляем секцию стандартного конфига порта 443 в uhttpd для https120'
# пароль stun
CONFIG_DELETESET uhttpdtr069_stun.main.listen_httpsstun.password='Admin'
# указываем новый порт 444 в конфиге uhttpd и firewallадрес stun-сервера
CONFIG_ADD_LIST uhttpd.main.listen_https='0.0.0.0:444'
CONFIG_ADD_LIST uhttpd.main.listen_https='[::]:444'SET tr069_stun.stun.server_address='192.168.1.1'
# порт stun-сервера
CONFIG_SET firewalltr069_stun.httpsstun.destserver_port='44419303'
# имя протоколпользователя подключенияstun
CONFIG_SET firewalltr069_stun.httpsstun.protousername='tcpAdmin'

# тип правила НАСТРОЙКА IGMP-PROXY
# включение igmp-proxy
CONFIG_SET firewall.https.targetigmpproxy.@igmpproxy[0].enable='ACCEPT1'
# разрешаем доступ с подсетейвключение fastleave
CONFIG_ADD_LISTSET firewall.https.src_ip='10.10.10.10'
CONFIG_ADD_LIST firewall.https.src_ip='10.1.1.0/24igmpproxy.@igmpproxy[0].quickleave='1'
# включение respawn
CONFIG_SET igmpproxy.@igmpproxy[0].respawn='1'

# НАСТРОЙКА CWMP-ДЕМОНUPnP
# включение CWMP-демона в режиме staticupnp
CONFIG_SET easycwmp.@local[0].enableupnpd.config.enabled='3'
# включение периодического информирования ACS-сервера1'
CONFIG_SET easycwmp.@acs[0].periodic_enableupnpd.config.enable_upnp='1'
# включить адрес ACS-серверадополнительное журналирование upnp
CONFIG_SET easycwmp.@acs[0].url='http://10.1.1.6:7547'
# CWMP-портupnpd.config.log_output='1'
# разрешить перенаправление только для запрашивающих IP-адресов
CONFIG_SET easycwmp.@local[0].port='7547'
# интервал информирования ACS-сервераupnpd.config.secure_mode='1'

# СЕРВИСЫ ДЕАКТИВАЦИИ АВАРИЙ
# восстановить работу WAN при поднятии интерфейса
CONFIG_SET easycwmp.@acs[0].periodic_interval='4000'

# НАСТРОЙКА STUN
# порт клиента stuncpe-tools.services.wan_arping_watchdog='1'
# проверка доступности шлюза через ARP-запросы и перезапрос реквизитов по dhcp
CONFIG_SET tr069_stun.stun.client_port='25565cpe-tools.services.wan_arping_interval='35'
# включениеколичество stunARP-запросызапросов
CONFIG_SET tr069_stun.stun.enable='1cpe-tools.services.wan_arping_attempts='4'
# включение интервалрежима отправкиобнаружения stun-сообщенийпетель
CONFIG_SET tr069_stun.stun.min_keepalive='120cpe-tools.services.lpdet_interval='1'
# пароль stunвремя в секундах до отключения порта при обнаружении петель
CONFIG_SET tr069_stun.stun.password='Admin'cpe-tools.services.lpdet_shutdown='10'

# НАСТРОЙКА LAN-ip
# адресизменение stunLAN-сервераip
CONFIG_SET tr069_stunnetwork.stunlan.server_addressipaddr='192.168.1.1111'

# порт stun-сервера
CONFIG_SET tr069_stun.stun.server_port='19303'НАСТРОЙКА DHCP LAN
# имяминимальный пользователяадрес stunаренды
CONFIG_SET tr069_stundhcp.stunlan.usernamestart='Admin10'

# максимальное НАСТРОЙКА IGMP-PROXY
# включение igmp-proxyколичество адресов для аренды
CONFIG_SET igmpproxy.@igmpproxy[0].enabledhcp.lan.limit='1143'
# включение fastleave максимальное время аренды (минимум 2m)
CONFIG_SET igmpproxy.@igmpproxy[0].quickleavedhcp.lan.leasetime='111h'

# включение respawnНАСТРОЙКИ WAN
# dns-серверы для wan
CONFIG_SET igmpproxy.@igmpproxy[0].respawn='1'

# НАСТРОЙКА UPnP
# включение upnp
CONFIG_SET upnpd.config.enabled='1'network.wan.dns='8.8.8.8 8.8.4.4'
# адрес шлюза
CONFIG_SET network.wan.gateway='10.1.1.1'
# адрес WAN
CONFIG_SET upnpdnetwork.configwan.enable_upnpipaddr='10.1.1.111'
# включить дополнительное журналирование upnpмаска
CONFIG_SET upnpdnetwork.configwan.log_outputnetmask='1255.255.255.0'
# разрешитьтип перенаправление толькосоединения для запрашивающих IP-адресовWAN
CONFIG_SET upnpdnetwork.configwan.secure_modeproto='1static'

# СЕРВИСЫ ДЕАКТИВАЦИИ АВАРИЙ
# восстановить работу WAN при поднятии интерфейсаhostname роутера
CONFIG_SET cpe-toolsnetwork.services.wan_arping_watchdog='1'wan.hostname='SNR-CPE-ROUTER'

# проверкаНАСТРОЙКИ доступностиVPN шлюзаPPPOE через ARP-запросы и перезапрос реквизитов по dhcpНА WAN
# маршрут по умолчанию
CONFIG_SET cpe-toolsnetwork.services.wan_arping_intervalvpn.defaultroute='351'
# включение vpn количествона ARP-запросовwan
CONFIG_SET cpe-toolsnetwork.services.wan_arping_attemptsvpn.disabled='40'
# включение режима обнаружения петель
CONFIG_SET cpe-toolsnetwork.servicesvpn.lpdet_intervalifname='1eth1'
# пароль времяпользователя в секундах до отключения порта при обнаружении петельтуннеле
CONFIG_SET cpe-toolsnetwork.servicesvpn.lpdet_shutdownpassword='10Admin'

# НАСТРОЙКАтип LAN-ip
# изменение LAN-ipvpn-соединения
CONFIG_SET network.lanvpn.ipaddrproto='192.168.1.111'
pppoe'
# НАСТРОЙКАлогин DHCP LAN
#пользователя минимальныйв адрес арендытуннеле
CONFIG_SET dhcpnetwork.lanvpn.startusername='10Admin'

# максимальное количество адресов для арендыДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ WAN
# mac-адрес WAN-порта
CONFIG_SET dhcpnetwork.lanwan.limitmacaddr='143F8:F0:82:1E:8C:A3'
# максимальноеизменение времяmtu аренды (минимум 2m)на wan
CONFIG_SET dhcpnetwork.lanwan.leasetimemtu='11h1500'

# НАСТРОЙКИ WAN WI-FI 2.4Ghz
# dns-серверыизменение дляSSID wan2.4Ghz
CONFIGWIFI_SET network.wan.dns='8.8.8.8 8.8.4.4'
# адрес шлюза
CONFIG_SET network.wan.gateway='10.1.1.1'
# адрес WAN
CONFIG_SET network.wan.ipaddr='10.1.1.111'
# маска
CONFIG_SET network.wan.netmask='255.255.255.0'
# тип соединения для WAN
CONFIG_SET network.wan.proto='static'
# hostname роутера
CONFIG_SET network.wan.hostname='SNR-CPE-ROUTER'

# НАСТРОЙКИ VPN PPPOE НА WAN
# маршрут по умолчанию
CONFIG_SET network.vpn.defaultroute='1'
# включение vpn на wan
CONFIG_SET network.vpn.disabled='0'
CONFIG_SET network.vpn.ifname='eth1'
# пароль пользователя в туннеле
CONFIG_SET network.vpn.password='Admin'
# тип vpn-соединения
CONFIG_SET network.vpn.proto='pppoe'
# логин  пользователя в туннеле
CONFIG_SET network.vpn.username='Admin'

# ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ WAN
# mac-адрес WAN-порта
CONFIG_SET network.wan.macaddr='F8:F0:82:1E:8C:A3'
# изменение mtu на wan
CONFIG_SET network.wan.mtu='1500'

# НАСТРОЙКИ WI-FI 2.4Ghz
# изменение SSID 2.4Ghz_2GHZ "SSID1" "Network-2GHz"
# изменение пароля 2.4Ghz
WIFI_SET_2GHZ "WPAPSK1" "Password123"
# вкл. автовыбора 2.4Ghz (тип: 1-по количеству станций, 2-по уровню шума, 3-по загрузке QBSS)
# интервал указывается в часах
WIFI_SET_2GHZ "Channel1" "0"
WIFI_SET_2GHZ "AutoChannelSelect" "1"
WIFI_SET_2GHZ "ACSCheckTime" "24"
# исключение каналов из автовыбора (указывать каналы через ";")
WIFI_SET_2GHZ "AutoChannelSkipList" "12;13;14"
# ручной выбор канала (если выключен автовыбор)
WIFI_SET_2GHZ "Channel1" "10"
# тип шифрования 2.4Ghz
WIFI_SET_2GHZ "AuthMode" "WPA2PSK"
 
# PMF 2.4 GHz тип "обязательно" 
# ( Если "PMFMFPC = 1" + "PMFMFPR = 0", то будет тип "опционально".) 
# ( Если "PMFMFPC = 0" + "PMFMFPR = 0", то будет тип "выключить".)
WIFI_SET_2GHZ "PMFMFPC" "1"
WIFI_SET_2GHZ "SSID1PMFMFPR" "Network-2GHz1"

# изменение пароляPMF 2.4Ghz4 GHz тип "обязательно" (coming soon with next update)
WIFI_SET_PMF_2GHZ "WPAPSK1" "Password123"mandatory"

# вкл.ШИРИНА автовыбораКАНАЛА 2.4Ghz4 (тип: 1-по количеству станций, 2-по уровню шума, 3-по загрузке QBSS)
# интервал указывается в часах
WIFI_SET_2GHZ "Channel1" "0"
WIFI_SET_2GHZ "AutoChannelSelect" "1"
WIFI_SET_2GHZ "ACSCheckTime" "24"
# исключение каналов из автовыбора (указывать каналы через ";"GHz = 20 Mhz
# ( Если "HT_BW = 1" + "VHT_BW = 0" + "HT_BSSCoexistence = 0", то будет ширина 40 Mhz )
WIFI_SET_2GHZ "AutoChannelSkipListHT_BW" "12;13;14"
# ручной выбор канала (если выключен автовыбор)"0"
WIFI_SET_2GHZ "Channel1VHT_BW" "10"
# тип шифрования 2.4Ghz0" 
WIFI_SET_2GHZ "AuthModeHT_BSSCoexistence" "WPA2PSK0"
 
# PMFширина 2.4канала GHz20 тип "обязательно" 
# ( Если "PMFMFPC = 1" + "PMFMFPR = 0", то будет тип "опционально".) 
# ( Если "PMFMFPC = 0" + "PMFMFPR = 0", то будет тип "выключить".)МГц (coming soon with next update)
WIFI_SET_BW_2GHZ "20"

# НАСТРОЙКИ WI-FI 5Ghz 
# изменение SSID 5Ghz
WIFI_SET_2GHZ5GHZ "PMFMFPCSSID1" "1"Network-5Ghz"
# изменение пароля 5GHz
WIFI_SET_2GHZ5GHZ "PMFMFPRWPAPSK1" "1Password123"

# PMF 2.4 GHz тип "обязательно" (coming soon with next updateвкл/выкл автовыбора 5Ghz (тип: 1-по количеству станций, 2-по уровню шума, 3-по загрузке QBSS)
WIFI_SET_PMF_2GHZ5GHZ "AutoChannelSelect" "mandatory1"

# ШИРИНАисключение КАНАЛАканалов 2.4из GHz = 20 Mhz
# ( Если "HT_BW = 1" + "VHT_BW = 0" + "HT_BSSCoexistence = 0", то будет ширина 40 Mhz автовыбора (указывать каналы через ";")
WIFI_SET_5GHZ "AutoChannelSkipList" "132;136;140;144;149;153;157;161;165"
# ручной выбор канала (если выключен автовыбор)
WIFI_SET_2GHZ5GHZ "HT_BWChannel1" "036"
WIFI_SET_2GHZ "VHT_BW" "0" 
WIFI_SET_2GHZ "HT_BSSCoexistence" "0"

# ширина канала 20 МГц (coming soon with next update)
WIFI_SET_BW_2GHZ "20"

# НАСТРОЙКИ WI-FI 5Ghz 
# изменение SSID 5Ghz

# PMF 5 GHz тип "обязательно" 
# ( Если "PMFMFPC = 1" + "PMFMFPR = 0", то будет тип "опционально".) 
# ( Если "PMFMFPC = 0" + "PMFMFPR = 0", то будет тип "выключить".)
WIFI_SET_5GHZ "SSID1PMFMFPC" "Network-5Ghz"
# изменение пароля 5GHz1" 
WIFI_SET_5GHZ "WPAPSK1PMFMFPR" "Password1231"

# вкл/выклPMF автовыбора5 5GhzGHz (тип: 1-по количеству станций, 2-по уровню шума, 3-по загрузке QBSS "обязательно" (coming soon with next update)
WIFI_SET_PMF_5GHZ "AutoChannelSelect" "1"mandatory"

# исключение каналов из автовыбора (указывать каналы через ";")
WIFI_SET_5GHZ "AutoChannelSkipList" "132;136;140;144;149;153;157;161;165"
# ручной выбор канала (если выключен автовыбор)
WIFI_SET_5GHZ "Channel1" "36"

# PMF 5 GHz тип "обязательно"  ШИРИНА КАНАЛА 5 GHz = 20 Mhz
# ( Если "HT_BW = 1" + "VHT_BW = 0" + "HT_BSSCoexistence = 0", то будет ширина 40 Mhz.)
# ( Если "PMFMFPCHT_BW = 1" + "PMFMFPRVHT_BW = 0" + "HT_BSSCoexistence = 1", то будет тип "опционально".) ширина 20/40 Mhz. )
# ( Если "HT_BW = 1" + "PMFMFPCVHT_BW = 01" + "PMFMFPRHT_BSSCoexistence = 01", то будет тип "выключить".) будет ширина 80 Mhz. )
WIFI_SET_5GHZ "HT_BW" "0"
WIFI_SET_5GHZ "PMFMFPCVHT_BW" "10" 
WIFI_SET_5GHZ "PMFMFPRHT_BSSCoexistence" "1"

# PMFширина 5канала GHz тип "обязательно"20 МГц (coming soon with next update)
WIFI_SET_PMF_5GHZ "mandatory"

# ШИРИНА КАНАЛА 5 GHz = 20 Mhz
# ( Если "HT_BW = 1" + "VHT_BW = 0" + "HT_BSSCoexistence = 0", то будет ширина 40 Mhz.)
# ( Если "HT_BW = 1" + "VHT_BW = 0" + "HT_BSSCoexistence = 1", то будет ширина 20/40 Mhz. )
# ( Если "HT_BW = 1" + "VHT_BW = 1" + "HT_BSSCoexistence = 1", то будет ширина 80 Mhz. )
WIFI_SET_5GHZ "HT_BW" "0"
WIFI_SET_5GHZ "VHT_BW" "0"
WIFI_SET_5GHZ "HT_BSSCoexistence" "1"

# ширина канала 20 МГц (coming soon with next update)
WIFI_SET_BW_5GHZ "20"

# УСЛОВИЕ УЧЕТА МОДЕЛИ SNR-CPE
if MODEL_IS "SNR-CPE-ME2-Lite"
then
INSTALL_LOGO "donut.svg"
INSTALL_STYLES "pink.css"
fi

if MODEL_IS "SNR-CPE-MD2"
then
INSTALL_LOGO "arbuz.svg"
INSTALL_STYLES "brown.css"
fi

if MODEL_IS "SNR-CPE-W4N-N"
then
INSTALL_LOGO "yagoda.svg"
INSTALL_STYLES "blue.css"
fi

if MODEL_IS "SNR-CPE-AX1"
then
INSTALL_LOGO "cheese.svg"
INSTALL_STYLES "yellow.css"
fi

if MODEL_IS "SNR-CPE-AX2"
then
INSTALL_LOGO "apple.svg"
INSTALL_STYLES "dark.css"
fiBW_5GHZ "20"

# УСЛОВИЕ УЧЕТА МОДЕЛИ SNR-CPE
if MODEL_IS "SNR-CPE-ME2-Lite"
then
INSTALL_LOGO "donut.svg"
INSTALL_STYLES "pink.css"
fi

if MODEL_IS "SNR-CPE-MD2"
then
INSTALL_LOGO "arbuz.svg"
INSTALL_STYLES "brown.css"
fi

if MODEL_IS "SNR-CPE-W4N-N"
then
INSTALL_LOGO "yagoda.svg"
INSTALL_STYLES "blue.css"
fi

if MODEL_IS "SNR-CPE-AX1"
then
INSTALL_LOGO "cheese.svg"
INSTALL_STYLES "yellow.css"
fi

if MODEL_IS "SNR-CPE-AX2"
then
INSTALL_LOGO "apple.svg"
INSTALL_STYLES "dark.css"
fi

# Ограничение UI для учетных записей через web-acl
# все поля в настройках wan только для чтения
CONFIG_ADD web-acl rule
CONFIG_ADD_LIST web-acl.@rule[-1].uid='2'
CONFIG_ADD_LIST web-acl.@rule[-1].model='network.wan'
CONFIG_ADD_LIST web-acl.@rule[-1].readonly='*'

# все поля в настройках vlan только для чтения
CONFIG_ADD web-acl rule
CONFIG_ADD_LIST web-acl.@rule[-1].uid='2'
CONFIG_ADD_LIST web-acl.@rule[-1].model='network.vlan'
CONFIG_ADD_LIST web-acl.@rule[-1].readonly='*'

# скрыть ссылку на CWMP в сайдбаре
CONFIG_ADD web-acl rule
CONFIG_ADD_LIST web-acl.@rule[-1].uid='2'
CONFIG_ADD_LIST web-acl.@rule[-1].path='*'
CONFIG_ADD_LIST web-acl.@rule[-1].disable='#service-cwmp'

# скрыть страницу CWMP
CONFIG_ADD web-acl rule
CONFIG_ADD_LIST web-acl.@rule[-1].uid='2'
CONFIG_ADD_LIST web-acl.@rule[-1].path='/admin/web/service/cwmp'
CONFIG_ADD_LIST web-acl.@rule[-1].disable='*/*'

# УСТАНОВКА ФАЙЛА ПРОВЕРКИ ОБНОВЛЕНИЙ АРХИВА КАСТОМИЗАЦИИ
# check for configuration update every 5 min
# установка скрипта my_update.sh в каталог /etc
# проверка раз в 5 минут
INSTALL_FILE "my_update.sh" "/etc/my_update.sh"
SET_CRONTAB <<EOF
*/5 * * * * sh "/etc/my_update.sh"
EOF


Warning
titleВНИМАНИЕ!

Не добавляйте пробелы и комментарии после команд!  Это помешает их выполнению



...