Андрей Смирнов
Время чтения: ~17 мин.
Просмотров: 60

Базовая настройка Ubiquiti Unifi Security Gateway

Ubiquiti Unifi Security Gateway (USG) — довольно самобытный, 3-портовый, гигабитный роутер Ubiquiti, порожденный ради расширения линейки серии Unifi до, что называется, полного комплекта. Будучи компактным и объективно весьма симпатичным, он обладает достаточно высокой (но не запредельной, о нет) производительностью, и стоит при этом весьма недорого, что обуславливает его популярность среди апологетов оборудования семейства Unifi.

Отличительной и довольно обескураживающей особенностью Ubiquiti USG является отсутствие standalone консоли управления: настраивать его можно только через UniFi Controller. Это можно считать как плюсом, так и минусом. Лично нам такая особенность кажется слегка, гм, необычной. Впрочем, в рамках данного материала мы хотели все-таки рассмотреть сценарий настройки роутера, а не подивиться его диковинностью, поэтому приступим.

1. Как упоминалось выше, роутеру для работы нужен UniFi Controller. Его можно скачать с сайта Ubiquiti (https://www.ubnt.com/download/unifi), либо приобрести аппаратный вариант — Ubiquiti Unifi Cloud Key. Настройку Unifi Controller мы уже описывали в статье БАЗОВАЯ НАСТРОЙКА UBIQUITI UNIFI CONTROLLER И БЕСШОВНОГО WIFI, поэтому ограничимся ссылкой на нее, и приступим к настройке роутера.

2. К 1-му порту роутера подключаем кабель провайдера доступа в интернет, во второй порт — коммутатор, смотрящий в локальную сеть, и заходим в Unifi Controller. Спустя недолгое время USG должен появиться в списке устройств. Нажимаем Adopt, чтобы присоединить его к нашей инфраструктуре Unifi:

Роутер немного поразмыслит:

…и присоединится к сети. Мы используем новейшую, 5-ю версию Unifi Controller, поэтому после присоединения USG объявит в строке статуса, что ему нужно обновиться. Мы не против. Жмем UPGRADE:

Подтверждаем наше намерение, нажав Confirm:

…и спустя несколько минут роутер будет готов к работе. Нажав на него в списке устройств, справа мы получим компактную консоль управления роутером. Собственно, сразу нажимаем Configuration и осваиваемся:

3. В секции General можно только задать имя устройства (Alias), поэтому сразу переходим к настройке интерфейса WAN. Роутер поддерживает 3 режима подключения к интернету: динамический IP, статический IP и PPPoE.В нашем примере используется динамический адрес, поэтому выбираем Connection TypeUsing DHCP и нажимаем Queue Changes. Тут же можно задать 2 DNS-сервера и VLAN:

По большому счету, настройка роутера уже завершена. Он не слишком богат опциями, а большая часть управления дополнительным функционалом (за исключением порт-форвардинга и DynDNS, которые выполняются тут же, в соответствующих секциях) осуществляется через консоль Unifi в разделе Settings:

4. Уже тут, в конфигураторе Unifi, настраиваются сервер VPN, VPN Site-to-Site, клиенты VPN, DHCP-сервер, WINS, и тому подобное. Из наиболее интересных функций мы бы хотели отдельно выделить: — DHCP guarding. Функция требует применения коммутатора серии Unifi, и позволяет глобально указать доверенный DHCP-сервер. Функция нужная и полезная, в роутерах встречается редко, а уж в таких дешевых и вовсе никогда, поэтому зачет! — Deep Packet Inspection (DPI). Как понятно из ее названия, функция позволяет проводить глубокую инспекцию пакетов на лету, и выдавать на гора подробную статистику, как пользователи используют интернет. Включаем ее галочкой Enable deep packet inspection в разделе Site:

После включения DPI роутер немного подумает и примется собирать статистику использования интернета. Спустя некоторое время в Dashboard появится статистика, а нажав в центр счетчика трафика:

мы попадем в раздел с довольно подробными диаграммами:

На этом аспекты базовой настройки Ubiquiti USG кажутся разобранными. Чего мы не увидели: настроек брандмауэра (выполняются через CLI), роутинга (тоже прячется в CLI), standalone DHCP-сервера, который прямо таки необходим роутеру, возможности отключения NAT. Такой вот роутер-кастрат. Утешения ради сообщаем, что как минимум для роутинга и брандмауэра Ubiquiti пообещала обеспечить графический интерфейс в чуть более новой Unifi Controller линейки 5.x. Ждем-с.

26 ноября 2019, 14:22

Данная история началась с того, что у меня появилась вышеупомянутая железка для тестов. Те кто с ней уже сталкивались, знают, но для остальных поясню, устройство неплохое, но изначально в веб конфигураторе не очень функциональное. Хотя прошивка внутри очень похожа на Edge-router этой же компании. Давайте же начнём!

Для начала давайте определимся для начала, что у вас уже должно быть настроено. Без этого ничего не получится, либо настройка будет более сложной, в общем я пошёл по простому пути. Итак вам понадобятся:

  • Уже настроенный vpn канал, через который вы заходите на заблокированные ресурсы
  • Статический IP адрес у своего провайдера (не обязательно)
  • Базовые знания в сетях и маршрутизации
  • Базовые знания ssh и командной строки

Да, конечно можно просто настроить на USG vpn туннель и пустить весь трафик через него, но в этом случае мы получим задержки до всех ресурсов интернета. Это не наш путь, будем направлять через vpn только трафик заблокированных ресурсов.

Шаг первый, получаем список заблокированных IP

Вариантов сделать это — несколько. Я предлагаю выбрать способ, по моему мнению самый простой, при помощи BGP. BGP это протокол маршрутизации, достаточно сложный в понимании для рядового пользователя, но нам многого и не надо. Не так давно появился ресурс, который по данному протоколу отдаёт список заблокированных IP адресов (для ознакомления естественно). Но для работы с этим сервисом необходимо сделать некоторые манипуляции. 

  • Проматываем ближе к концу страницы
  • Жмём на кнопку «активировать управление BGP»

Для начала, заходим на данный ресурс.

Проматываем ближе к концу страницы и жмем на кнопку «активировать управление BGP»

Далее будет насколько настроек, выбираем необходимые нам, а номер AS выбираем из промежутка 64512-65534. Это приватные номер AS.

Теперь жмём на кнопку сохранить и ждём около 5 минут для применения настроек на удаленном сервере. Если у вас динамический IP, можно не указывать номер AS и в дальнейшем использовать 64999, но настройки работать у вас не будут.

Шаг второй, выбираем, куда направлять трафик

Далее, по логике вещей нам надо перенаправить весь трафик на эти IP через уже настроенный VPN канал. Для этого необходимо узнать IP адрес, который получает ваш USG на туннельном сервере. Как это сделать? Подключаемся к гейтвею по SSH. И вводим там следующую команду:

show interfaces

В результате мы получим список всех интерфейсов и IP адресов на них назначенных. Ищем там строчку наподобие последней:

У вас может быть другое имя интерфейса и адрес, нам нужен только второй параметр. Запоминаем его и идём дальше.

Шаг третий, опциональный, чиним провайдерские DNS

Некоторые замечательные провайдеры интернет очень любят перехватывать DNS запросы на сторонние сервера и подсовывать свои ответы, так что даже все пути по попытке обойти блокировку могут оказаться тупиковыми. Перестрахуемся от этого и добавим статические маршруты до кастомных днс, например, гугла. Заходим на веб морду своего Cloud key или UniFi controller. Идём по пути Settings — Routing & Firewall — Create new route и вписываем там следующее:

  • Name: Любое какое вам нравится
  • Enabled: галочка
  • Destination network: 8.8.8.8/32
  • Distance: 1
  • Static route type: Next hop
  • Next hop: пишем IP из предыдущей части, в моем случае 10.1.0.1

Я использую немного другие ДНС сервера, поэтому итоговая картинка у меня чуть другая.

Далее добавляем ещё один роут, в котором вместо 8.8.8.8/32 пишем 8.8.4.4/32. Далее ждём некоторое время для применения настроек и идём дальше.

Шаг пятый, проверяем все настройки тестово

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

  • Вводим все команды в командной строке
  • Создаём кастомный файл настроек

Сейчас мы воспользуемся первым, для проверки того, что мы все делаем правильно, и что бы случайно не запороть конфиг и не потерять управление. Подключаемся к USG по SSH и вводим следующее:

configure  set interfaces bridge br0 address 192.168.254.1/30  set protocols bgp 64999 parameters router-id 192.168.254.1 set protocols bgp 64999 neighbor 163.172.210.8 remote-as 65432 set protocols bgp 64999 neighbor 163.172.210.8 ebgp-multihop 255 set protocols bgp 64999 neighbor 163.172.210.8 soft-reconfiguration inbound set protocols bgp 64999 neighbor 163.172.210.8 route-map import rkn set protocols bgp 64999 neighbor 163.172.210.8 timers holdtime 240  set policy route-map rkn  set policy route-map rkn description "RKN next hop" set policy route-map rkn rule 1 action permit set policy route-map rkn rule 1 set ip-next-hop 10.1.0.1  commit
  • Первой строчкой мы входим в режим конфигурации, второй строчкой мы поднимем bridge интерфейс и назначим ему серый pi адрес. Он необходим для дальнейшей настройки BGP и может быть любым серым IP адресом, не использующимся в вашей маршрутизации. 
  • Далее его же пишем вместо моего 192.168.254.1. 
  • Так же не забываем поменять 64999 на свой номер AS, который мы так же выбрали ранее. 
  • И в последнем разделе мы создадим карту маршрутизации для получаемых IP адресов и перенаправим их в VPN тоннель. Не забывайте поменять 10.1.0.1 на свой.

Остальные настройки не меняем. Последняя же строчка применяет данные настройки на устройстве. Немного ждём и смотрим что все заработало, для этого вводим:

exit show ip bgp

Тут лишь малая часть всего списка.

Мы должны получить список из кучи сетей с параметром next hop в IP адрес вашего туннеля. Если же его нет — вы что то сделали неправильно, можно перезагрузить гейтвей и начать все с начала. Если же все отлично — можете попробовать открыть какой нибудь рутрекер и перейти к закреплению данного кастомного конфига.

Шаг шестой, создаём кастомный конфиг

Данные настройки можно вполне официально добавить на устройство через специальный файл config.gateway.json. Потому как все, что вы применили через командную строчку, даже в случае сохранения на устройстве, перезапишется при любом действии с USG через веб конфигуратор. Что бы этого избежать, можно создать файл с кастомными необходимыми настройками и положить его по правильному пути, тогда при любом изменении в веб морде или перезагрузке устройства — они будут автоматически подтягиваться на USG. 

Создать данный файл вы можете либо самостоятельно, используя официальный мануал Ubiquiti, либо скачав и изменив под себя мой файл конфига тут. Внимательно смотрите что и где вы изменяете, есть вероятность потерять управление над своим устройством! Если вдруг это произошло — достаточно удалить созданный файл и перезагрузить USG.

Конфиг необходимо разместить в правильном месте в Colud Key или в UniFi Configurator. Напишу более популярные пути:

  • Cloud Key: /usr/lib/unifi/data/sites/default
  • UniFi Configurator: (в виде аддона для HassKit.io): папка_с_конфигом_hassio/addons/data/a0d7b954_unifi/unifi/data/sites/default/
  • Ubuntu server: /usr/lib/unifi/data/sites/default

Последняя папка defaults может быть другой, в зависимости от первоначальной настройки вашей экосистемы.

Для того что бы убедиться, что у вас в принципе рабочий VPN, рекомендую перед применением всех кастомных настроек, поставить следующую галочку в настройках, и посмотреть, будут ли открываться какие нибудь сайты с заблокированными ресурсами:

Так же в конфиг добавлен раздел с правилами для Hairpin Nat, что позволяет получить доступ к своему белому IP внутри локальной сети. Если вам это не нужно — удалите данные настройки и проверьте итоговый файл на корректность, например тут. Жду ваших комментариев и дополнений с исправлениями, ибо я мог где то и накосячить. Но проверка показала что способ работает.

Одним прекрасным зимним днем, после очередного вызова по поводу отсутствия сети у сотрудника, я решил что дальше так продолжаться не может и ударил кулаком по столу хлопнул очередную кружку чая. Подсчитав бюджет нашего IT отдела я немного приуныл, не видать нам корпоративного WiFi-я, и засел за изучение других вариантов. Заяндексив в гугле: корпоративный wifi дешево, я засел за изучение. От всех уголков интернета мне предлагали купить себе чудо заморское под названием UniFi. Еще немного гугления в яндексе и я уже был готов благодарить богов за создателей компании Ubiquiti. С чистой совестью я закрыл браузер и хлопнул еще одну кружку чая. С того момента прошло несколько месяцев и вот настал тот светлый час, когда мне на телефон позвонили… Оторвавшись от своих мыслей я поднял трубку и услышал: твоя неведомая хрень приехала. Можешь… Дальше я уже не слышал, потому что бежал по лестнице на склад… Далее я постараюсь без всякой лирики провести мини обзор. Осторожно. Под катом много фоток.

Эпизод первый: Unboxing

Заказывал я UAP LR-3. Вот они красавцы: Рядом с третьей коробкой лежит планка памяти DDR-3 Начинаем распаковку. Коробочка делится на 2 отсека:

  1. Собственно сами тарелочки + крепеж + инструкция
  2. PoE блоки питания + кабели + крепежные винты

Никаких дисков в комплекте не шло. В разложенном виде весь комплект уместился на 1-м квадратном метре пола: В комплекте ничего лишнего:

  1. 3 точки доступа
  2. 3 блока питания PoE
  3. 3 кабеля питания для БП
  4. 3 металлических кольца для крепления точек к фальшпотолку
  5. 3 держателя для точек (на фото не указаны)
  6. 9 болтов для крепления держателей
  7. Одна инструкция

Интересная особенность. На блоке питания есть кнопка сброса настроек подключенной к нему точки. В первых ревизиях ее не было и, если что-то случалось с точкой, приходилось лезть под потолок, снимать точку, и выполнять перезагрузку. Сейчас, конечно, все стало удобнее. А вот и сама точка с держателем: До финишной установки держатель лучше не защелкивать, ибо открыть его потом будет проблематично. Ну и на закуску блок питания с пресловутой кнопочкой reset.:

Эпизод второй: Установка

Точки позиционируются как корпоративные, поэтому никаких предустановленных ip адресов не имеют. Так что, хотябы изначально, в сети должен функционировать DHCP сервер. Если вы утянули точку с работы купили точку себе домой — это может стать небольшой проблемой. Идем дальше. Web-морды точки не имеют, но ubiquiti любезно предоставляет нам контроллер под windows, linux и mac. Вот он то управляется через web интерфейс. Итак если вы счастливый обладатель windows или mac — идем на офф. сайт и качаем свеженькую версию контроллера. Не знаю как с mac-ом, но с установкой на windows проблем у меня не было. Отдельно стоит упомянуть про linux системы. Жмякаем на офф сайте ссылку: Release notes and other downloads и попадаем на страницу с описанием установки для ubuntu и debian. Обладателям других систем предлагается скачать zip архив и попытаться запустить все самостоятельно. Стоит упомянуть что по этой инструкции поставить контроллер на debian 7 (ну конечно же, ведь инструкция написана для 5 и 6 версии debian) мне не удалось, но в интернетах нашлась инструкция как это все заставить работать. Итак:

  1. Курим инструкцию по установке mongo-db
  2. Добавляем ключи безопасности:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
  3. Добавляем репозиторий mongo-db:echo 'deb downloads-distro.mongodb.org/repo/debian-sysvinit dist 10gen'>>/etc/apt/sources.list
  4. Обновляемся:sudo apt-get update
  5. Устанавливаем mongo-db:sudo apt-get install mongodb-10gen

Уффф… Половина пути пройдена. Можно приступать к установке контроллера.

  1. Добавляем ключи безопасности:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50
  2. Добавляем репозиторий:echo 'deb www.ubnt.com/downloads/unifi/distros/deb/squeeze squeeze ubiquiti' >> /etc/apt/sources.list
  3. Обновляемся:sudo apt-get update
  4. Ставим контроллер:sudo apt-get install unifi
  5. Открываем init скрипт в своем любимом редакторе:nano /etc/init.d/unifi
  6. Ищем строку: JAVA_HOME — :/JAVA_, либо как-то по другому но с префиксом JAVA_HOME, и заменяем ее на «JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64»
  7. Перезапускаем контроллер:sudo service unifi restart

Все. Поздравляю. Теперь можно зайти на: https://:8443/manage и заполнить все необходимое. Подробно на создании новых SSID я останавливаться не буду, ибо это делается элементарно в пару кликов. Остановлюсь только на одном моменте. Если вы хотите WPA-Enterprise и настроили radius сервер, то для всех точек нужно создавать один и тот же секрет, а не для каждой точки свой. Но это вопрос отдельной статьи.

Эпизод третий: О сколько нам открытий чудных…

Сюда я бы хотел вынести небольшой обзор фишек данного решения + мои наблюдения за пользователями Итак приступим. Киллер фишкой которая показана даже на коробке — это показ зоны покрытия сети. Карт можно загружать сколько угодно и переключаться между ними. Точку на карту можно устанавливать перетаскиванием на нее мышкой. Масштаб карты устанавливается нажатием на треугольник справа. Вещь это здоровская и вау эффект она создает отличный, но, к сожалению, абсолютно бесполезная. Дело тут в том, что при расчете зоны покрытия не учитываются стены и перегородки. Оттого реальная зона покрытия будет отличаться он представленной. Но, в ее защиту, скажу что толк от карты все же есть. Можно видеть в какой комнате существуют проблемы с подключением, увидеть сколько юзеров подключено именно к этой точке. Ну и, конечно же, оценить примерную зону покрытия. Идем дальше. Вкладка статистика: Вот тут уже веселее. Тут можно бегло оценить какая точка нагружена больше, а также увидеть подлеца лидера — скачавшего и передавшего больше всего данных. Вкладка: Access Points Показывает все точки найденные в сети и управлять ими. Если какая-либо из точек была зарегистрирована на другом контроллере — управлять ей не получится, но видеть мы ее будем. Вкладка: Users Вот мы и добрались до самой вкусной вкладки. Тут отображается вся текущая активность пользователей. Кто качает, с какой скоростью, уровень сигнала, сколько скачал, сколько отдал и т.д. Еще тут можно заблокировать особо рьяных качунов 🙂 либо заставить клиента переподключиться к сети. В заключении текущего эпизода хочу поделиться своими наблюдениями:

  1. Все любят халяву. Тут дело в чем. Я создал 2 точки: корпоративную (WPA-Enterprise) и гостевую (без шифрования, без интернета, без доступа в корп. сеть). На следующий день в гостях у меня побывали около сотни android-ов, WindowsPhone-ов, парочки Nokia и один IPhone. Было даже парочка ноутбуков из общежития напротив.
  2. Все проблемы пользователей — создают себе пользователи. Теперь я в этом убедился. Когда один дятел пользователь начинает долго и нудно накачивать гигабайты — все остальные нервно курят в сторонке наслаждаясь пингами в 3000 мс.
  3. Иногда бывает что клиент подключается к точке с низким уровнем сигнала. Тогда помогает переподключение к wifi, либо принудительный разрыв связи на контроллере.
  4. Даже самые дешевые wifi адаптеры могут устойчиво работать с хорошими точками доступа. Бывало что дешевенькие карточки на дешевеньких точках разогревались до такой степени, что плавили пластиковый корпус. Сейчас такого нет.
  5. Мощности сигнала точек хватает чтобы пробить 3 этажа в здании советской постройки. Правда стена в полтора метра толщиной все еще прекрасно гасит сигнал

Кирпичное производство

Казалось бы причем здесь кирпичи, но за время тестов я успел прикончить одну точку. Не знаю кто конкретно в этом виноват, но одна точка у меня, предположительно, не включилась. Ну да ладно обо всем по порядку. Я включил точку в сеть и ушел по своим делам. Когда вернулся обнаружилось что точка не подает признаков жизни и лишь раз в несколько минут конвульсировала своими светодиодами. На лицо были все признаки убитой прошивки. Вот тогда то я и сделал свой первый кирпич. Дальнейшее расследование показало что на контроллере стояла галка автообновления прошивки. Возможно я такой «счастливчик» и во время обновления пропадало электричество, а возможно точка изначально была поломанной. В любом случае ubiquiti позаботилась о таких бедолагах как я и прошивку я таки обновил по tftp и эта точка перестала меня больше беспокоить. Если кому-то «повезло» так же как и мне — привожу инструкцию по воскрешению:

  1. Копируем себе прошивку с контроллера /usr/lib/unifi/dl/firmware/BZ2/3.1.3.2187/firmware.bin, либо качаем с офф. сайта
  2. Отключаем свой комп от сети и подрубаем LAN порт на блоке питания в свой ethernet порт
  3. Настройте свой сетевой интерфейс на 192.168.1.1/24. В дальнейшем точка будет иметь IP 192.168.1.20
  4. Отключаем питание от точки. Нажимаем кнопку сброса. Не отпуская кнопку сброса подаем питание на точку. Продолжаем удерживать кнопку сброса. Примерно через 14 секунд у вас начнет мигать индикатор на точке: желтый/зеленый/выключен. Все кнопку можно отпускать. Собственно попинговать точку у меня не получилось, но прошивка обновилась без проблем.
  5. Если у вас windows, то в командной строке вбиваем:tftp -i 192.168.1.20 PUT [путь к файлу прошивки]firmware.bin
  6. Все прошивка должна залиться. Теперь главное запастись терпением и ждать. Когда прошивка обновится — отключите питание, включите снова и нажмите кнопку перезагрузки в течении ~7 секунд. Зеленый индикатор начнет мигать. Отпустите кнопку сброса и передерните питание на точке.

На сайте пишут что если ждать в сервисном режиме слишком долго, то обновить по tftp не получится и придется перезаходить в сервисный режим. Я делал не торопясь и все равно не смог дождаться когда отключится tftp. Так что торопиться не стоит. И еще одно замечание. Одному зайти в сервисный режим не так-то просто: двух рук определенно мало, но при должной сноровке попасть туда все таки можно.

Выводы

4 коробки по 3 точки в каждой нам обошлись в 1700 вечно зеленых, в то время как железный контроллер других производителей стоит около 10000 без учета точек доступа. 1 Точка может обслуживать более 100 клиентов. Новое поколение с AC стандартом обслуживают более 200 пользователей, но цена у них, пока, в 3 раза выше. Если на точке пропадает сеть — она автоматически превращается в репиттер, и меняет свой статус на контроллере. Обрывы связи прекратились и я могу спокойно пить свой чай. Каждую неделю мы с напарником проводим конкурс на самого отчаянного качуна. Правда пока мы не решили что с ними делать — поэтому ведем маленький блокнотик 😉 Точки смотрятся очень футуристично, особенно если кабели подвести с обратной стороны стены. Висит себе тарелочка, светится зеленым. Очень здорово.

Благодарности

Прежде всего хотелось бы поблагодарить ubiquiti за создание такого замечательного продукта, который позволил и нам приобщиться к миру корпоративного wifi. Также хотелось бы поблагодарить Алексея — директора Атластелеком. За то, что он смог не только поставить нам оборудование, но и дал его нам на тест. Оказалось что в Беларуси не так-то просто найти сей заморский продукт. Ну и конечно же спасибо тебе %gtuser% за то, что смог дочитать эту заметку до конца.Используемые источники:

  • https://treolink.ru/bazovaya-nastroika-ubiquiti-unifi-security-gateway
  • https://sprut.ai/client/article/2110
  • https://habr.com/post/361195/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации