Содержание
netshe_doc_chap1
Универсальное программное обеспечение NETSHe для сетевых устройств. Часть 1. Общие сведения |
|
NETSHe Lab длительное время занимается разработками программного обеспечения для сетевых устройств, провайдеров услуг и операторов связи. Среди программного обеспечения центральное место занимает операционная система NETSHe, которая может быть использована в широком спектре сетевых устройств и сервисов. |
|
Версия 2 Март, 2020 | Станислав Корсаков, ООО «Нетше лаб» (с) 2009-2020 Ярославль |
Оглавление
Введение в NETSHe
В этом разделе Вы сможете узнать об устройстве NETSHe, основных функциях, системных требованиях NETSHe, способах и методах установки на устройства.
NETSHe представляет собой набор программного обеспечения для сетевых и встраиваемых устройств (маршрутизаторы, точки доступа), телевизионных приставок, сетевых хранилищ и многих других.
Программное обеспечение, построенное на базе ядра Линукс, включает в себя:
- набор программных пакетов, реализующих функционал ПО;
- подсистему хранения конфигурации системы/устройства;
- подсистему инициализации;
- подсистему событий, на основе которой происходит взаимодействие компонентов программного обеспечения;
- веб-интерфейс управления устройством.
Основные функции NETSHe
NETSHe реализует следующий набор функций
в части сетевого взаимодействия:
- Управление сетевыми интерфейсами (в том числе динамическими, туннельными и радио);
- Виртуальные интерфейсы и алиасы;
- Управление маршрутизацией (в том числе статической, на основе правил, динамической с применением RIP, OSPF, BGP);
- Сетевой мост;
- Объединение интерфейсов;
- DHCP-сервер (автоматическое назначение IP-адресов клиентским машинам) и DHCP-форвардер (пересыльщик DHCP запросов с внутренней сети на внешний DHCP-сервер) с гибкими правилами выделения адресов (фильтрация по MAC-адресам/статическое выделение адресов/динамическое выделение);
- Сервер и клиент службы времени, интегрированный с сервером DHCP;
в части формирования и управления трафиком:
- Межсетевой экран с поддержкой зон;
- Управление качеством обслуживания (QoS) и приоритизацией исходящего трафика;
- Использование характерных для приложений последовательностей в трафике для построения правил межсетевого экрана и качества обслуживания (L7). Данная функция допускает написание правил фильтрации для определенных видов трафика, например, пиринговых сетей, а также повышение приоритета трафика аудио- и видео-приложений;
- Фильтрация Ethernet-кадров;
- HTTP-прокси с возможностью использования вышестоящего прокси-сервера (каскадирование);
в части туннелирования соединений:
- Сервер доступа с поддержкой протоколов PPTP, PPPoE, L2TP с авторизацией на внешнем RADIUS-сервере;
- Концентратор для частных выделенных сетей (VPN) на протоколах PPTP и L2TP с поддержкой IPSEC (в связке L2TP/IPSEC) и OpenVPN;
- DM VPN хаб и спок;
- IPSec клиент и сервер;
в части радио и беспроводных сервисов:
- Расширенное управление радио-интерфейсами с поддержкой режимов клиента, базовой станции и повторителя, в том числе с режимами шифрования WEP и авторизации WPA-PSK, WPA-EAP, 802.11X;
- Хот-спот контроллер с выделением адресов клиентам, авторизацией на внешнем UAM-сервере, управлением пропускной способностью и управляемым доступом к сайтам;
в части мониторинга и управления устройствами:
- Управление программным обеспечением устройства. Возможность удаления установленных программных пакетов, установки новых, подключения новых репозиториев;
- Управление пользователями устройства с разделением уровней доступа через веб-интерфейс (полный или только для чтения);
- Управление внешними накопителями и разделами с возможностью подключения внешних накопителей с пользовательскими разделами, разделами физической памяти (своп) и т.п.;
- Мониторинг состояния системы (памяти/процессора/сетевых интерфейсов и т. п.) в режиме реального времени с наглядным отображением в виде графиков;
- Мониторинг состояния системы через SNMP протокол (сетевые интерфейсы и физические разделы);
- Резервное копирование любых каталогов устройства на внешние устройства/ftp-сервер и т. п.;
- Восстановление каталогов и файлов устройства из ранее сохраненных образов;
- Сохранение и восстановление файлов конфигурации. Сброс конфигурации в стартовую;
- Обновление прошивки устройства;
- Захват и анализ сетевого трафика, проходящего через устройство;
- Утилиты проверки доступности хостов и маршрутов к ним (ping, traceroute);
- Остановка и перезагрузка системы;
Используемое программное обеспечение и права
В составе используется, либо использовалось в качестве основы для производной работы разнообразное программное обеспечение под соответствующими лицензиями. Например:
- Ядро Linux, код которого распространяется под лицензией GPL2.
- Yahoo User Interface library (http://yui.uahoo.com). Библиотека имеет BSD лицензию.
- Некоторый код из проекта m0n0wall. Код распространяется под BSD лицензией.
- Некоторый код из проекта pfsense и от Scott Ulrich. Код распространяется под BSD лицензией.
- Некоторый код из проекта phpsysinfo, распространяемый под лицензией GPL v2.
- Некоторые иконки и изображения - часть проекта Tango (Авторы - Ulisse Perusin uli.peru@gmail.com, Steven Garrity sgarrity@silverorange.com, Lapo Calamandrei calamandrei@gmail.com, Ryan Collier rcollier@novell.com, Rodney Dawes dobey@novell.com, Andreas Nilsson nisses.mail@home.se, Tuomas Kuosmanen tigert@tigert.com, Garrett LeSage garrett@novell.com, Jakub Steiner <jimmac@novell.com>). Набор иконок распространяется под лицензией Creative Commons 2.5.
- Используемые изображения из набора Nuvola распространяются под лицензией LGPL v2.1. Автор - David Vignoni (david@icon-king.com).
Иной код, аудио-визуальные образы имеют своих авторов и распространяются в соответствии с их лицензиями.
Часть кода и изображений разработаны Станиславом Корсаковым, другими сотрудниками ООО «Нетше лаб» и распространяются под лицензией GPL v2. Остальная часть кода разработаны Станиславом Корсаковым, другими сотрудниками ООО «Нетше лаб» и распространяются на условиях коммерческой лицензии.
Если Вы обнаружили нарушение чьих-либо прав, пожалуйста, свяжитесь с нами по электронной почте info@stasoft.net.
Основная идея NETSHe
Основной идеей NETSHe является предоставление значительного функционала (зачастую отсутствующего у прямых конкурентов, либо присутствующих в более дорогих продуктах) и управляемого через веб-интерфейс.
NETSHe является универсальным программным обеспечением, функционирующем на многих аппаратных платформах. Для всех этих платформ NETSHe реализует сходные функционал и интерфейс управления, что сокращает стоимость владения устройством.
Эффективное управление через веб-интерфейс снижает требования к квалификации владельца/обслуживающего персонала, что в свою очередь приводит к снижению стоимости сопровождения эксплуатации устройств.
Консоль или веб-интерфейс?
Безусловно, консоль дает максимальную гибкость в управлении устройством и максимальные возможности использования базового программного обеспечения. С другой стороны, консоль требует максимальной квалификации от эксплуатирующего персонала. При разработке NETSHe мы старались совместить максимальную гибкость управления устройствами, характерную для консоли, с простотой использования веб-интерфейса.
Терминология
Рассмотрим некоторые термины и понятия, которые применяются в отношении или внутри NETSHe.
Сетевые интерфейсы
Сетевой интерфейс - физическое или программное устройство, посредством которого система под управлением NETSHe связывается с другими устройствами.
(http://ru.wikipedia.org/wiki/Сетевой_интерфейс)
Примерами сетевых интерфейсов являются:
- Ethernet-порт / Ethernet-интерфейс (http://ru.wikipedia.org/wiki/Ethernet). Внутри NETSHe обозначается как ethX, где X - число, записанное арабскими цифрами.
- Виртуальный Ethernet-интерфейс, также VLAN-интерфейс (http://ru.wikipedia.org/wiki/VLAN). Внутри NETSHe обозначается как ethX.Y, где X и Y - числа, записанные арабскими цифрами. При этом X обозначает реальный Ethernet-порт, а Y указывает на номер VLAN (виртуальной локальной сети).
- Алиас (или псевдоним) интерфейса. Чаще всего применяется к Ethernet-интерфейсам. Позволяет, например, назначить второй IP-адрес конкретному интерфейсу. Внутри NETSHe алиас для Ethernet-интерфейса обозначается как ethX:Y, где X и Y - числа, записанные арабскими цифрами. X обозначает реальный Ethernet-интерфейс, а Y указывает на порядковый номер алиаса / псевдонима.
- Беспроводной интерфейс - радиомодуль, установленный в систему под управлением NETSHe. Внутри NETSHe обозначается как wlanX, где X - число, записанное арабскими цифрами. Каждому радиомодулю внутри NETSHe может быть сопоставлено до 8 сетевых интерфейсов.
В приведенном примере Ethernet-интерфейс и беспроводной интерфейсы являются физическими устройствами и про них можно сказать, что они являются фиксированными интерфейсами (их нельзя изъять, не разобрав устройство). Очень часто к фиксированным интерфейсам применяется термин «порт».
Характерной чертой фиксированного интерфейса является MAC-адрес (http://ru.wikipedia.org/wiki/MAC-адрес)
Алиасы, виртуальные VLAN-интерфейсы и беспроводные сетевые интерфейсы являются программными реализациями поверх фиксированных интерфейсов, хотя и используют (могут использовать) в своей работе аппаратные возможности фиксированных интерфейсов.
Интерфейсы реализуемые программно, пусть даже с использованием дополнительно подключаемого оборудования вроде модемов, будем называть динамическими. Примерами таких являются интерфейсы, использующие множество протоколов типа «точка-точка» PPP, PPTP, PPPoE, L2TP и т.п. (http://ru.wikipedia.org/wiki/PPP_) Внутри NETSHe эти интерфейсы обозначаются как pppX (где X число, записанное арабскими цифрами), либо pppoe, l2tp, pptp, cellular (для упрощения восприятия и ассоциации с используемыми протоколами).
Также динамическими в NETSHe считаются туннельные интерфейсы. Внутри NETSHe туннельные интерфейсы типа IPv4-IPv4 обозначаются как tunX, туннельные интерфейсы типа IPv6-IPv4 обозначаются как tunsitX, а туннельные интерфейсы типа GRE обозначаются как tungreX (где X число, записанное арабскими цифрами). Пожалуйста, обратите внимание, что использование части «tun» в имени туннельного интерфейса обязательно.
Для интерфейсов типа «сетевой мост» (http://ru.wikipedia.org/wiki/Сетевой_мост) внутри NETSHe зарезервированы имена вида brX (где X число, записанное арабскими цифрами). Пожалуйста, обратите внимание, что использование части «br» в имени сетевого моста обязательно.
Особыми программными интерфейсами в NETSHe являются интерфейсы с именами bondX и teqlX. Такие интерфейсы служат для логического объединения существующих интерфейсов в «мега»-интерфейс с целью повышения пропускной способности и (или) резервирования каналов связи.
Loopback интерфейсы в NETSHe. В NETSHe можно создать неограниченное количество Loopback интерфейсов, имена которых должны начинаться с lo1 (lo1, lo2, lo3 и т. п.).
Также, в NETSHe имеются псевдо-интерфейсы. Например, политики для IPSec задаются аналогичным интерфейсам образом, но должны содержать в своем имени часть «ipsec».
Некоторые интерфейсы являются служебными внутри NETSHe, либо создаются автоматически. Чаще всего, подобные интерфейсы имеют часть «auto» в своем названии.
WAN, LAN, DMZ или зоны в NETSHe.
NETSHe (программное обеспечение) спроектировано с учетом концепции зон — логических групп сетевых интерфейсов, которые выполняют одинаковые функции и (или) к которым подключены сегменты вычислительной сети, требующие одинаковых правил взаимодействия (пропуска трафика и т.п.). Фиксированные сетевые интерфейсы, объединенные в зону, далее трактуются как порты зоны. Например, порт LAN.
Управление многими сервисами внутри NETSHe построено с учетом концепции зон. Так, например, межсетевой экран работает только с настроенными зонами.
Минимальное количество настроенных зон в NETSHe — одна зона LAN. Максимальное количество зон в NETSHe не ограничено. В целях совместимости NETSHe оперирует стандартными зонами LAN, WAN и DMZ:
- LAN — локальная сеть (http://ru.wikipedia.org/wiki/LAN).
- WAN — внешняя по отношению к маршрутизатору сеть (http://ru.wikipedia.org/wiki/WAN).
- DMZ — демилитаризованная зона (https://ru.wikipedia.org/wiki/DMZ_(компьютерные сети)).
Двойной доступ или Dual Access
В NETSHe не применяется термин Dual Access (двойной доступ) хотя механизм, который понимается под этим термином рядом производителей, реализован в NETSHe. Под данным термином понимается двухстадийное соединение с провайдером услуг.
Например: подключение к провайдеру через Ethernet-интерфейс с получением IP-адреса, маршрутов и т.п. через DHCP на первом этапе и подключение с использованием семейства протоколов типа «точка-точка» (PPPoE, PPTP, L2TP) на втором этапе.
Примером провайдера, использующего такое подключение, является Билайн:
- Подключение к сети провайдера осуществляется через Ethernet-порт с выдачей провайдером клиенту IP-адреса, маршрутов, серверов имен. По завершении первой стадии подключения клиент получает доступ к локальным ресурсам провайдера и не имеет доступ в сеть Интернет.
- На втором этапе устанавливается соединение по протоколу PPTP или L2TP с получением нового маршрута по-умолчанию, новых серверов имен и нового ip-адреса на новом интерфейсе (с именем l2tp или pptp).
- По завершении второй стадии клиент получает доступ в сеть Интернет.
Такое двухстадийное подключение реализуется в NETSHe, как показано на примерах в документации.
Клонирование MAC-адреса
Термин «Клонирование MAC-адреса» не используется в NETSHe, хотя такой механизм реализован. Ряд провайдеров выполняет «привязку» клиента к конкретному порту своего оборудования по MAC-адресу.
Оставим за скобками суть и необходимость такой операции, которая для клиента оборачивается необходимостью выходить в сеть только с одного конкретного устройства, имеющего MAC-адрес зафиксированный провайдером, либо иметь возможность изменить MAC-адрес на своих устройствах на нужный.
NETSHe предоставляет возможность поменять MAC-адрес на произвольный на любом Ethernet-интерфейсе устройства. При использовании данного механизма следует помнить, что кроме замены MAC-адреса на Ethernet-интерфейсе устройства, может потребоваться поменять и MAC-адрес на подключающемся к маршрутизатору устройстве (тот MAC-адрес, который клонируют).
Краткие сведения об устройстве NETSHe
NETSHe использует «срезы» SDK, ядра Linux и значительное число программных пакетов из состава OpenWRT, как основу для собственного SDK. «Срезы» производятся один-два раза в год и не привязаны к выходу версий OpenWRT. Чаще всего, NETSHe можно установить вместо OpenWRT, как и обратное - OpenWRT можно установить вместо NETSHe, используя стандартный механизм обновления / sysupgrade.
Обновление / замена NETSHe / OpenWRT могут быть произведены из веб-интерфейса NETSHe. Следует заметить, что конфигурации в процессе замены не сохраняются.
Мы не можем дать инструкций по установке / замене NETSHe и DD-WRT, NETSHe и других прошивок.
Пожалуйста, обратите внимание, что несмотря на использование значительного числа компонентов OpenWRT, NETSHe не является совместимой с OpenWRT системой, т.к.:
- NETSHe использует измененный SDK;
- Ряд пакетов различаются между собой (версии, примененные наборы патчей, набор компонентов, места установки);
- В NETSHe отсутствует инфраструктура UCI/UBUS;
- NETSHe использует ряд оригинальных пакетов, драйверов и патчей, отсутствующих в OpenWRT;
- В NETSHe используется оригинальная система конфигурации и запуска, основанная на едином файле настроек;
- В NETSHe присутствует собственная система событий;
- Полностью разные веб-интерфейсы;
- Отличаются минимальные системные требования.
Системные требования
Минимальными системными требованиями для NETSHe являются 8 Мегабайт ПЗУ (флэш-памяти) и 32 Мегабайта ОЗУ (оперативной памяти).
Рекомендуется использовать не менее 16 мегабайт ПЗУ и 64 мегабайт ОЗУ.
Поддерживаемым NETSHe является/может являться любое устройство, поддерживаемое OpenWRT и соответствующее вышеуказанным требованиям. Также, NETSHe поддерживает ряд устройств, для которых отсутствует поддержка OpenWRT. Поддержка иных устройств может быть реализована по заказу.
Требования к интернет-обозревателю на компьютере пользователя.
Для нормальной работы веб-интерфейса требуется любой современный интернет-обозреватель с включенным приемом cookies, исполнением Java-скриптов и установленным флэш-плеером.
Установка и обновление NETSHe
Прошивки (или firmware) NETSHe поставляются в виде двоичных файлов с именами по типу NETSHe-версия-платформа.bin и NETSHe-версия-платформа-sysupgrade.bin.
Например, NETSHe-1.2-alfa-nx-sysupgrade.bin означает, что в файле находится обновление прошивки NETSHe до версии 1.2 для устройств ALFA Networks N2/N5. Данный файл можно использовать для обновления до NETSHe уже установленной на устройство прошивки NETSHe или OpenWRT.
Файл NETSHe-1.2-tl-wr1043nd.bin содержит прошивку NETSHe версии 1.2 для установки с помощью консольных утилит или из стандартной прошивки TP-Link.
Следует знать, что на все платформы поддерживают обновление прошивок через веб-интерфейс. Некоторые платформы имеют только один файл как для первоначальной прошивки, так и для обновления (NETSHe-5.3-ac4300-sysupgrade.bin).
Как правило, установка NETSHe на устройства выполняется производителем, однако иногда требуется установить/обновить встроенное ПО самостоятельно. Этот процесс зависит от моделей устройств и описан в документации к ним.
Консольный доступ к устройству.
По умолчанию, NETSHe предоставляет пользователю средства консольного доступа к устройству по протоколу ssh в случае нормального функционирования устройства и telnet в режиме восстановления после сбоя (failsafe mode).
SSH доступ может быть получен с помощью стандартных ssh-клиентов на Linux, xBSD, MacOS или с помощью PuTTY под Windows. Адрес LAN-интерфейса, логин и пароль для SSH-доступа полностью соответствует таковым для веб-интерфейса.
В режиме восстановления после сбоя предоставляется telnet-доступ без ввода имени пользователя и пароля по адресу 192.168.1.1 (на LAN порту).
Использование веб-интерфейса
По умолчанию веб-доступ к устройствам открыт по SSL (TCP 443) со стороны LAN, однако средствами NETSHe можно изменять и номер TCP-порта, и интерфейсы привязки. Веб- интерфейс (WebUI) является полноценным и достаточным средством управления, включающем полный набор инструментов для всех задач управления. Если устройство находится под управлением NMMS (Network Management and Monitoring Server), то в качестве порта привязки как правило устанавливается TCP 5556. При этом с NMMS доступны WebUI всех контролируемых устройств и их консоли.
Общая компоновка веб-интерфейса
Веб-интерфейс может быть изменен по заказу, при этом общая компоновка предусматривает следующие элементы:
- В верхней части страницы может располагаться главное меню и логотип компании, при нажатии на который Вы будете перенаправлены на ее сайт.
- Главное меню является выпадающим и отделяет собственно рабочую часть страницы (область ввода/вывода информации от ее верхней части). В главном меню присутствуют все функции системы в сгруппированном виде, состав их может меняться в зависимости от модели или проекта.
- Ниже главного меню может присутствовать так называемая панель инструментов, которая может содержать кнопки вызова функций, типичных для материала или задачи в рабочей части страницы. Например «Новый», «Остановить сервис», «Поиск» и т. п.
- После изменения каких-либо параметров в рабочей части страницы следует сохранить изменения нажатием на кнопку «Сохранить». Часто на рабочей части присутствует опция «Перезапустить службы после сохранения», при ее нажатии вместе с «Сохранить» соответствующие службы будут перезапущены.
- В веб-интерфейсе применяются типизированные иконки для обозначения сходных задач. Так иконка применяется для обозначения действий типа «Добавить новую запись/свойство». Иконка в виде обозначает действия по удалению чего-либо/остановке службы/приложения. Иконка в виде обозначает операцию редактирования. Иконка в виде обозначает перезапуск чего-либо/обновление содержимого.
При разработке системы мы стремились дать Вам современный и элегантный инструмент, максимально оперативно и в наиболее удобной форме представляющий данные о системе и событиях, происходящих в ней.
В частности, на странице «Информация о системе» (она же стартовая страница) мы в графике и режиме близком к онлайн отрисовываем загрузку процессора и памяти, разделов устройства, а также выводим информацию о ядре системы, типе процессора его производительности, установленных контроллерах. На стартовой странице расширенного режима в виде графиков выводится информация о загрузке сетевых интерфейсов и параметрах радио интерфейсов.
Мастер настройки
Как и многие производители NETSHe включила в систему мастер настройки, который запускается при первом подключении к WebUI устройства. Шаги мастера реализуют минимально необходимые действия по стартовой настройке устройства. Однако мастер можно так же запустить в любое время с панели инструментов, в этом случае шаги мастера уже будут заполнены действующими параметрами.
Отличия документации от фактического состояния прошивки.
NETSHe — динамично развивающееся программное обеспечение, в которое постоянно вносятся изменения и улучшения. Мы стараемся поддерживать актуальным состояние документации, однако не считаем значительной проблемой некоторое несоответствие изображений в документации фактическому виду веб-интерфейса.
Например, могут не соответствовать темы оформления веб-интерфейса, некоторые служебные изображения и сообщения, немного по-разному сгруппированы поля ввода, добавлены / удалены некоторые поля ввода / пункты меню.
Сообщить об ошибке
Создатели NETSHe - люди и, значит, имеют право на ошибки.
Мы будет очень благодарны Вам за любые сообщения об ошибках, которые Вы можете разместить в соответствующем разделе сайта сообщества (http://netshe-lab.ru) или просто послав нам по электронной почте на адрес info@netshe-lab.ru.
В сообщении, пожалуйста, постарайтесь как можно подробнее описать:
Когда и при каких обстоятельствах возникла ошибка?
Как она проявляется?
Что предшествовало появлению ошибки?
Если ошибка проявляется в веб-интерфейсе - сделайте скриншот и приложите его к сообщению.
Многие модели и реализации NETSHe имеют возможность генерации отчета разработчикам через соответствующий пункт меню веб-интерфейса. Кроме того, если Вы - опытный пользователь, то приложите, по-возможности, файлы /var/log/messages, /etc/.ssxapp/main.conf и вывод команды dmesg из консоли устройств.
www.netshe-lab.ru | (+7 4852) 90-89-30 | Info@netshe-lab.ru |