birmaga.ru
добавить свой файл

1
Возможности роутера ZyXEL Keenetic на прошивке второго поколения NDMS v2.00


Железо

Некоторое время назад на сайте ZyXEL в разделе загрузок для интернет-центра Keenetic появилась бета-версия прошивки под названием NDMS 2.0. Приглашение погонять ее получили также зарегистрированно-заинтересованные владельцы обычных «Кинетиков». В аннотации говорится, что это не очередное обновление, а второе поколение программной платформы, кардинально отличающееся от предыдущего и адресованное продвинутым пользователям. Наиболее интересное из заявленного (по сравнению с микропрограммами первого поколения):


  • Полнофункциональный механизм трансляции адресов (Full feature NAT) с поддержкой нескольких внешних IP-адресов; перенаправление портов с возможностью выбора порта назначения в локальной сети; переназначение ролей сетевых интерфейсов.

  • Поддержка множественных PPP-туннелей для доступа в Интернет и подключения к виртуальным частным сетям (VPN).

  • Возможность назначения нескольких дополнительных физических WAN-интерфейсов на порты встроенного коммутатора Ethernet.

  • Резервирование подключения к интернету через USB-модемы 3G/4G и дополнительно назначаемые WAN-интерфейсы.

  • Профессиональный интерфейс настройки через командную строку (Cisco like CLI). Все функции могут быть настроены с командной строки и сохранены в виде текстового файла.

  • Пакетная сборка прошивки «по требованию». Функциональность устройства выбирается пользователем в веб-интерфейсе устройства и прошивается автоматически.

Прилагаемый к прошивке черновик мануала по работе с командной строкой действительно «внушает» — чисто командная строка, тема отдельных статей. Здесь же попробуем разобраться, что и кому новая прошивка готовит на уровне веб-интерфейса (к нему как раз никаких мануалов нет до сих пор), а также почему ее не рекомендуют устанавливать «простым домохозяйкам».


Итак, новая прошивка скачана с сайта ZyXEL и успешно установлена на Keenetic (могут быть нюансы, но они решаемы через поддержку производителя в специальной теме и в данном случае не принципиальны). Приступим к знакомству. Веб-конфигуратор так же открывается по адресу 192.168.1.1 с логином/паролем admin/1234. Сразу видим, что новый веб-интерфейс не имеет практически ничего общего с предыдущей версией:

http://habrastorage.org/storage2/683/d47/28b/683d4728b318c95d9c035351d93fff04.png

На меня он произвел двоякое впечатление: с одной стороны, он стал симпатичнее, но с другой — я в нем осваивался гораздо дольше. (Забегая вперед можно добавить, что скин-организацию веб-интерфейса затем, в списке компонентов, можно выбрать из двух вариантов на свой вкус.)

Как и прошивка первого поколения, NDMS 2.0 поддерживает множество типов подключений, для каждого из которых теперь есть отдельная вкладка в разделе «Интернет» (IPoE, PPPoE, PPTP, L2TP, 802.1X, 3G, Yota, Wi-Fi-клиент). В отличие от V1.00, здесь можно настроить сразу несколько подключений, причем в любых комбинациях. Подключения привязываются либо к физическим интерфейсам (Ethernet-портам, USB-модему, Wi-Fi-интерфейсу), либо к уже созданному логическому интерфейсу (например, можно «вложить» один туннель PPTP в другой). Каждому интернет-подключению назначается свой приоритет, позволяющий определить, какое из них будет основным, а какое базовым, второстепенным или резервным — в зависимости от вашей фантазии и потребностей.

http://habrastorage.org/storage2/cdf/ad6/82f/cdfad682f2416541a74bc1b94f61a636.png

В настройках по умолчанию присутствует только одно интернет-подключение «Broadband connection (ISP)», которое привязано к порту WAN. На нем поднят DHCP-клиент, который автоматически получает адрес из сети провайдера при подключении кабеля к порту WAN (естественно, при условии, что провайдер этот адрес выдает). Для домашней сети по умолчанию предназначены все LAN-порты роутера и точка доступа Wi-Fi. Они объединены в один логический интерфейс (Home VLAN), на котором поднят DHCP-сервер, раздающий адреса из сети 192.168.1.1/24.


http://habrastorage.org/storage2/c34/6a1/9f5/c346a19f558c9fa38c9ed0e050bf353e.png

Для подключения к интернет-провайдеру через PPTP, равно как и по L2TP или PPPoE, нужно настроить два (!) интерфейса: один — для подключения к сети провайдера (вкладка IPoE), второй — собственно для Интернета. Если адрес в локальной сети провайдера выдается автоматически, то первый интерфейс можно считать уже настроенным — это предустановленный интерфейс Broadband Connection (ISP), о котором сказано выше. Если же провайдер выдал вам статический адрес, измените настройки интерфейса Broadband connection (ISP) и не забудьте во вкладке DNS прописать заданные DNS-серверы. Далее открываем вкладку PPTP (L2TP или PPPoE):

http://habrastorage.org/storage2/59e/d60/bd0/59ed60bd014c0d00e36638004c1cb9e0.png

Здесь помимо привычных настроек, характерных для массовых роутеров, появились пункты «Подключаться через» и «Использовать для доступа в Интернет». Первый нужен, чтобы указать роутеру, через какое подключение он должен устанавливать соединение PPTP (L2TP или PPPoE), — в нашем случае это Broadband connection (ISP), а второй говорит сам за себя: если вы хотите использовать это соединение PPTP (L2TP или PPPoE) для доступа в Интернет, установите флажок, — тогда при установленном подключении в таблице маршрутизации роутера дефолтным маршрутом будет шлюз этого подключения. После применения настроек и подключения к WAN-порту кабеля от провайдера, устройство подключится к Интернету. Если надо использовать 802.1х (есть и такие провайдеры), то включается это еще проще: как отдельное подключение не появляется, а «оживает» на указанном интерфейсе.

В принципе мы уже получили работающий роутер с доступом в интернет по PPTP. Но, разумеется, весь этот огород (прошивка и статья о ней) не ради такой банальности. Теперь предварительно рассмотрим, как поднимаются подключения к Интернету через USB-модемы. Модемы Yota, как и в первой прошивке, распознаются автоматически при включении в USB-порт, всё, что необходимо для их работы, преднастроено. Берем популярный йотовский модем Samsung SWС-U200 и втыкаем в роутер (наличие денег на счету не принципиально). Подключение проходит незаметно-быстро, модем отмигивается голубым индикатором, на странице статуса интерфейс Yota весело засветился зеленым, и на вкладке Yota появились параметры соединения. Как мы видим, состояние модема SLEEP, потому что приоритет у него по умолчанию ниже, чем у PPTP-соединения, продолжающего работать:


http://habrastorage.org/storage2/519/9b8/ae5/5199b8ae5e06a2919b6bc92edb051f91.png

Это, насколько я постиг, является очень важной особенностью NDMS v2.00. Несмотря на нормально работающее PPTP-подключение к Интернету, система немедленно установит соединение и с Yota, но использовать его для передачи данных не будет. Соединение будет находиться в резерве, так как по умолчанию приоритет интерфейса Yota ниже, чем у ISP и тем более PPTP. Типичное назначение приоритетов такое: ISP — 700, PPTP/L2TP/PPPoE — 1000, Yota — 400. Что означают эти приоритеты? А вот что. Если PPTP-сессия по каким-либо причинам упадет и не восстановится, ничего особенного не произойдет: система непрерывно будет пытаться ее восстановить, но на Yota не переключится, потому что приоритет физического подключения к сети провайдера выше и оно работоспособно. А вот если выдернуть кабель из WAN-порта — система тут же перейдет на йотовский Интернет (у меня при переключении ни одного пинга не пропадает). Поскольку PPTP-сессия может отвалиться с большой вероятностью просто по причине плановых работ в сети провайдера, рационально выставить подключению через Yota приоритет, скажем, 900. Тогда система при падении PPTP-туннеля будет переходить на мобильный Интернет, так сказать, без раздумий. Как только она обнаружит, что соединение через PPTP ожило, Yota будет переведена в резерв. К сожалению, в текущей прошивке отсутствует более точная проверка интернет-подключения периодическим пингованием, но будем надеяться, что в будущих версиях разработчики добавят эту функцию. Ведь резервирование подключения и обеспечение бесперебойного доступа в Интернет, я полагаю, это основная фишка NDMS v2.00 и эту прошивку, по слухам, обещают распространить на всю линейку роутеров Keenetic.

Кстати, чтобы деактивировать интерфейс (то есть чтобы система перестала с ним работать и вообще не реагировала на него), достаточно убрать галку «Включить интерфейс» в параметрах интерфейса. Для включения надо проделать то же, но в обратном порядке; параметры не стираются и остаются «наготове».


Не вижу причины, по которой мы не можем добавить еще одно резервное подключение, например по ADSL. В самом распространенном варианте провайдер также выдает адреса по DHCP (со статической адресацией не сложнее, но описывать чуть дольше). Для создания резервного ADSL-линка нам понадобится любой ADSL-модем с портом Ethernet и желательно с условием, что IP-адрес для управления модемом желательно вынести из IP-подсетей, настроенных на «Кинетике». Но это не смертельно, так как модем будет работать в режиме моста. Предварительно настроив ADSL-соединение на модеме и переведя его в режим моста (Bridge), подключаем его к свободному LAN-порту на роутере (в текущем примере порт LAN4). Далее в настройках интернет-центра создаем еще один IPoE-интерфейс и привязываем его к LAN4:

http://habrastorage.org/storage2/9f1/226/2bb/9f12262bb356024968febb5728b78acf.png

После создания интерфейса он появится в списке:

http://habrastorage.org/storage2/c54/2a8/7a2/c542a87a2f9d6c002a060709f7697e52.png

Теперь мы можем делать с этим интерфейсом что угодно (вплоть до удаления). Создадим РРРоЕ-подключение через него. Для этого надо перейти в закладку PPPoЕ и нажать «Добавить интерфейс». После этого вносим данные, полученные от провайдера, и сохраняем РРРоЕ-интерфейс, не забывая (!) указать в качестве выходного, или, так сказать, «несущего», интерфейса созданное нами IPoE-соединение.

http://habrastorage.org/storage2/ddd/c52/5d2/dddc525d21c735ea71a7399a298bf7d7.png

Собственно, у нас получилось, что роутер одновременно авторизован у трех провайдеров: по РРТР, PPPoE и Yota, чтобы обеспечивать капитально-бесперебойный доступ в Интернет. Приоритеты я настроил таким образом, как на скриншоте:


http://habrastorage.org/storage2/853/742/3e3/8537423e3907e200026d418e50187f51.png

То есть основное соединение — это РРТР; если вдруг с соединением что-то происходит (в частности отвалится линк), то роутер автоматически перейдет на РРРоЕ. Если и там какая-то беда, то в работу вступит Yota. При этом роутер будет постоянно пытаться восстановить РРТР- и PPPoE-соединения. WiFi client присутствует в списке по умолчанию.

На этом можно было бы остановиться, но не могу не поделиться нетривиальными знаниями о пробросе в этой прошивке портов. Можно, конечно, установить модуль UPnP, и пусть всё происходит само собой, но, например, RDP никак не хочет работать по UPnP. В связи с этим мы создадим правило проброса порта на домашний сервер. Применительно к настроенной нами схеме процесс будет выглядеть следующим образом. Для начала идем на закладку «Безопасность» и сразу же попадаем на вкладку NAT:

http://habrastorage.org/storage2/baa/714/8c3/baa7148c35c7ec214ad0ab5b8d13b8fc.png

Правила работают только между интернет-интерфейсами и интерфейсами локальными. Добавляем правило, в котором указываем «Входной» интерфейс, то есть интерфейс, на который будут приходить обращения из Интернета (у нас это PPTP). Далее указываем номер внешнего порта назначения и его тип (TCP или UDP). После этого пишем IP-адрес внутреннего сервера и, если необходимо, указываем, на какой порт транслировать запрос. Аналогичным образом настраивается проброс портов для резервных подключений (если нужно, конечно). После сохранения правил нам надо разрешить нужным портам проходить через фаервол роутера в локальную сеть. Делается это во вкладке «Межсетевой экран»:

http://habrastorage.org/storage2/240/e37/24a/240e3724a8d501e1381df603a03c66e8.png


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

В общем, как оказалось, ничего сверхсложного в настройках нет, надо просто понять логику работы прошивки:
1. Есть логические интерфейсы, которые можно привязывать как к физическим, так и к другим логическим интерфейсам.
2. Интерфейс может быть «для Интернета» — тогда используемый им шлюз будет маршрутом по умолчанию для всей системы; и может быть «не для Интернета» — такой интерфейс может использоваться, например, для подключения к удаленной сети.
3. У каждого интернет-интерфейса есть приоритет, в соответствии с которым их будет перебирать алгоритм резервирования интернет-канала.

Добавлю еще, что в прошивке NDMS v2.00 появилась интересная и, по большому счету, работающая на перспективу, особенность, которую я ранее не встречал ни в одном другом роутере или сетевом устройстве. Это заявленная в самом начале поддержка покомпонентной сборки прошивки. То есть с устройством или на сайте ZyXEL, по замыслу, поставляется базовый вариант прошивки, достаточный для первичной настройки и доступа в Интернет. Подключившись к Интернету, мы идем в меню компонентов и создаем прошивку под себя путем установки или удаления конкретных модулей. Например, мы можем убрать поддержку 3G-модемов, но оставить поддержку Yota, можно удалить Transmission и WiFi-клиент, при этом добавив FTP и CIFS. Логично будет оставить только тот тип авторизации, который необходим для доступа к конкретному провайдеру, а все остальные без сожаления удалить для освобождения памяти устройства. Оговорюсь, что на текущий момент можно спокойно оставить все компоненты в прошивке, места пока хватает, но разработчики обещают поддержку «толстых» компонентов, таких как DLNА, SIP клиент и других вкусностей. Вот тогда будет смысл в тонкой кастомизации прошивки.

http://habrastorage.org/storage2/355/4ea/4da/3554ea4da718ecb9d5f47e6d5e8be262.png

http://habrastorage.org/storage2/f94/8e3/1d9/f948e31d9f1872e84d15440c5b8f3624.png

Выбрав нужные компоненты, нажимаем кнопку «Применить» и ждем, пару минут, пока Keenetic получит с сервера ZyXEL заказанную нами прошивку и автоматически ее установит. Настройки сбрасывать не нужно.

Хочу заметить, что выбор компонентов — «полезная вещь, но опасная, как динамит». Здесь нет никакой «защиты от дурака». Можно, например, удалить компонент, необходимый, для авторизации в сети вашего провайдера (что я, собственно говоря, случайно и сделал) и потом не иметь возможности его поставить обратно, так как доступа в Интернет у вас больше нет. В этом случае придется заливать прошивку стандартным способом, выбрав файл прошивки, ранее скачанный с сайта производителя. Ну, а по красивому замыслу — собственно файл прошивки пользователю больше никогда не должен понадобиться, потому что здесь же компоненты не только выбираются вновь, но и обновляются как уже установленные, если обновления доступны (о чем сообщает таблица).

Кроме веб-конфигуратора модернизации подвергся и интерфейс командной строки (CLI), и файл конфигурации. Через CLI можно настроить абсолютно любую схему (естественно, не выходящую за функциональные ограничения устройства), неподвластную веб-интерфейсу. Замечу, что пользователи, знакомые с маршрутизаторам Cisco, попав в новый CLI от ZyXEL, будут чувствовать себя, как рыба в воде. Вот пример того, как выглядит CLI-консоль:

http://habrastorage.org/storage2/878/1d6/516/8781d65169541b1a75afb5cd4327a3a9.png

Файл конфигурации Keenetic теперь представляет собой текстовый файл, который можно скачать на локальную машину, отредактировать в любом текстовом редакторе и залить обратно в устройство. После перезагрузки устройство начнет работу c новыми настройками.


В общем и целом, прошивка NDMS v2.00 оставляет хорошее впечатление и вполне работоспособна. К достоинствам можно отнести гибкость и логику настроек, совершенно не характерные для домашних устройств, а также уже сейчас хорошо работающее резервирование интернет-канала, позволяющее создать и одновременно задействовать несколько сетевых интерфейсов. Среди них могут быть проводные интерфейсы (с использованием VLAN или без), беспроводные (точка доступа либо клиент WiFi-сети), соединения через USB модемы (3G/4G, CDMA). Прошивка поддерживает множество способов авторизации для доступа в интернет (PPPoE, L2TP, PPTP и 802.1х), а также создание безопасных VPN-тоннелей на основе распространенных протоколов L2TP и PPTP. Для людей, которые работают удаленно, теперь нет необходимости создавать защищенный тоннель до офиса на своем компьютере, это можно реализовать силами самого роутера.

Хорошо зарекомендовавший себя функционал интернет-центров ZyXEL Keenetic тоже вроде бы на месте (хотя пока, в статусе беты, судя по форумам, v2.00 работает не так гладко). В частности, осталась возможность использовать USB-порт устройства для подключения внешних USB-дисков и принтеров с возможностью одновременной работы с ними. Присутствует и встроенный торрент-клиент Transmission, и работа с USB-дисками по FTP.

Главным недостатком для меня стало отсутствие поддержки IPTV по Wi-Fi. Про мелкие недочеты и недоработки здесь писать не буду, а они, безусловно, есть. Подождем, когда прошивка выйдет из состояния беты. Пока пожелания и замечания высказываю напрямую разработчикам в ИСК (my.zyxel.ru) и в соответствующей теме на iXBT.

P. S. Скриншоты были сняты около месяца назад, с тех пор существенно изменились версии компонентов. IPTV через Wi-Fi заработало, но еще не идеально.