Ubiquiti EdgeOS
Cетевая операционная система Ubiquiti EdgeOS, разработанная специально для устройств EdgeRouter (маршрутизатор).
Ubiquiti EdgeOS полностью построена на базе открытой операционной системы Debian, существует возможность полного контроля над ОС, включая root доступ и возможность установки дополнительных модулей.
- Ubiquiti UniFi Controller
Шаг 0 - Как сбросить к заводским настройкам Ubiquiti EdgeRouter (EdgeOS)
Проще всего перед началом настройки нового оборудования, сбросить его к заводским установкам. Как показывает практический опыт, это зачастую избавляет от множества нежелательных ошибок и потерянного времени.
Это способ сброса стандартен для всех моделей EdgeRouter.
Для сброса к заводским настройкам операционной системы Ubiquiti EdgeOS, необходимо:
- отключить питание от устройства,
- после чего зажать кнопку Reset, находящуюся на передней панели маршрутизатора и включить питание;
- подождать несколько секунд, и после того как светодиодный индикатор перестанет мигать, отпустить кнопку сброса.
Шаг 1 - Первое включение EdgeRouter
На этом шаге рассмотрим подключение к Ubiquiti EdgeOS в устройстве EdgeRouter X (5-портовый маршрутизатор 10/100/1000 Base-T серии EdgeMAX).
В EdgeRouter X по умолчанию DHCP-сервер не включен. Поэтому
- подключить сетевой кабель от ПК (ноутбука) к первому порту (eth0/PoE IN):
- на ПК или ноутбуке статический IP из диапазона 192.168.1.Х, за исключением IP-адреса устройства – 192.168.1.1;
- открыть в браузере адрес http://192.168.1.1, устройство автоматически перенаправит вас по протоколу HTTPS (при необходимости, добавьте сертификат в исключения)
- По умолчанию логин и пароль ubnt.
Шаг 2 - Базовая настройка EdgeRouter X
В базовой конфигурации (Default Configuration), ваше устройство EdgeRouter X будет работать как управляемый свич. Если вы подключите к любому из портов кабель от интернет-провайдера – ничего не произойдет, доступа в интернет не будет.
Работа с MAC адресом
Информацию о MAC- адресах всех интерфейсов Ethernet можно найти с помощью приведенной ниже команды. Обратите внимание, что это также позволит вам определить, какой интерфейс связан с базовым MAC-адресом.
show interfaces ethernet detail
Команды консоли для смены MAC адреса на роутере Ubiquiti ER-X
configure set interfaces ethernet ethX mac XX:XX:XX:XX:XX:XX commit save exit
Шаг 3 - EdgeRouter X примеры настройки Firewall и удаленное управление SSH
EdgeOS построен на Debian, поэтому для просмотра правил вы можете использовать утилиту iptables, а вот настраивать проще через веб-интерфейс EdgeRouter.
По умолчанию, все правила файрвола в дропе. За настройку firewallв мир отвечает WAN_LOCAL.
Как разрешить удаленное подключение по протоколу SSH
- Отрываем веб-интерфейс EdgeRouter, переходим во вкладку "Firewall/NAT"
- добавим правило в WAN_LOCAL, а именно: разрешить пакеты tcp, разрешить логирование, во вкладке destination прописать 22. Если нужно ограничить по ip доступ к SSH, во вкладке Source пропишите нужный ip.
Всё, теперь вас могут взламывать все кому не лень. Смените пароль по умолчанию!!!
Как разрешить ping ICMP на EdgeRouter
Можно как и в предыдущем примере через веб иентрефейс, но приведу здесь код для консоли (CLI). Для того чтобы наш роутер используя протокол ICMP стал виден из Интернета, при помощи команды ping, введите нижеприведенные команды.
configure set firewall name WAN_LOCAL rule 5 action accept set firewall name WAN_LOCAL description "enable ping" set firewall name WAN_LOCAL rule 5 protocol icmp set firewall name WAN_LOCAL rule 5 icmp type 8 commit;save
Для проверки правил фервола используйте команду iptables, чтобы увидеть наше правило смотрите раздел WAN_LOCAL
$ sudo iptables -nL -v Chain WAN_LOCAL (2 references) pkts bytes target prot opt in out source destination 43 3768 RETURN icmp -- * * 0.0.0.0/0 0.0.0.0/0 /* WAN_LOCAL-5 */ icmptype 8 3317 361K RETURN all -- * * 0.0.0.0/0 0.0.0.0/0 /* WAN_LOCAL-10 */ state RELATED,ESTABLISHED 1266 99060 DROP all -- * * 0.0.0.0/0 0.0.0.0/0 /* WAN_LOCAL-20 */ state INVALID 141 8368 LOG tcp -- * * 0.0.0.0/0 0.0.0.0/0 /* WAN_LOCAL-21 */ tcp dpt:22 LOG flags 0 level 4 prefix "[WAN_LOCAL-21-A]" 141 8368 RETURN tcp -- * * 0.0.0.0/0 0.0.0.0/0 /* WAN_LOCAL-21 */ tcp dpt:22 5521 937K DROP all -- * * 0.0.0.0/0 0.0.0.0/0 /* WAN_LOCAL-10000 default-action drop */
Шаг 4 - Настройка EdgeOS в качестве OpenVPN клиент
В данном шаге я расскажу, как настроить устройство под управлением EdgeOS в качестве клиента OpenVPN, что бы была возможность отправлять весь или часть трафика в зашифрованную локальную сеть предприятия или к одному из качественных VPN провайдеров.
Важно!! EdgeOS поддерживает только UDP для OpenVPN!!
У Вас уже должен быть развёрнут OpenVPN сервер, к примеру, по моей инструкции на базе своей VPS.
В классическом случае, вы должны получить такие файлы:
- файл конфигурации (назовём его edgeosclientdan30.conf);
- пользовательский ключ (edgeosclientdan30.key);
- пользовательский сертификат (edgeosclientdan30.crt);
- доверительный сертификат для подписания клиентских сертификатов (ca.crt);
- дополнительный ключ для tls-аутентификаци (ta.key).
Теперь необходимо скопировать всё выше перечисленное на ваше устройство в директорию /config/, если вы сохраните в другую директорию конфигурационный файл, то он не будет сохранен во время обновления образа вашего устройства.
В своей инструкции я создаю один универсальный настроечный файл и мне не нужно копировать все файлы. При копировании я также переименовываю расширение файл в conf, ибо расширение ovpn не все клиенты понимают
$ scp edgeosclientdan30.ovpn ubnt@xxx.xxx.xxx.xxx:/config/auth/edgeosclientdan30.conf
Теперь, на самом устройстве, необходимо настроить клиента OpenVPN, создать и настроить сетевой интерфейс vtun0, для этого выполним:
configure set interfaces openvpn vtun0 config-file /config/auth/edgeosclientdan30.conf set interfaces openvpn vtun0 description 'myOpenVPN' commit save
Возможно, в процессе настройки вы заходите удалить интерфейс vtun0, для этого выполните команды:
configure delete interfaces openvpn vtun0 commit save
Если все настройки были указаны верно, в Web-интерфейсе должен появится новый интерфейс, как на моем скриншоте:
Как видите на скриншоте моё vpn соединение установлено и работает. Дальнейшие настройки, если они нужны, я делаю через файл ccd на сервере OpenVpn.
В случае удачного соединения ваш vtun0 получит корректный IP-адрес, если же вы где-то ошиблись роутер может показывать статус Connected, но вместо IP-адреса будет написано TBD.
В случае каких либо ошибок, лог клиента OPenVPN можно посмотреть так
show log | grep openvpn
Шаг 5 - Установка дополнительных пакетов Debian в Ubiquiti EdgeOS
Одним из неоспоримых достоинств фирменной сетевой операционной системы EdgeOS, под управлением которой работают все высокопроизводительные маршрутизаторы серии EdgeMAX, от компании Ubiquiti Networks, является то, что она построена на ядре ОС Debian. И в отличии от многих других устройств, использующих ядро Linux, но имеющих закрытую архитектуру, в маршрутизаторах EdgeRouter, вы без труда можете получить root доступ к системе. А так же, самостоятельно установить необходимые вам пакеты из репозитария Debian.
Совместимость выпусков Debian и поведение пакетов EdgeRouter - Add Debian Packages to EdgeOS: Debian Release Compatibility and Package Behavior
Базовый дистрибутив Debian был обновлен с Wheezy до Stretch в версии прошивки EdgeOS v2.0.0. Это означает, что репозиторий Debian, используемый EdgeOS v2.0.0 и более старыми версиями прошивки, отличается.
- EdgeOS v2.0.0 Release Uses Debian 9 (Stretch).
- Older EdgeOS Releases Uses Debian 7 (Wheezy).
Существуют некоторые ограничения на устанавливаемые пакеты, например, нельзя установить пакеты, требующие функции ядра, а так же, приложения требующие аудио и видео.
Расширенная настройка 1: Настройка Vlan (виртуальных каналов), Trunk Port на маршрутизаторе
Расширенная настройка 2: Конфигурация Load Balancing
Конфигурация Load Balancing предполагает использование 2-х каналов доступа в Интернет (разных провайдеров).
Подключение к первому Интернет-провайдеру осуществляется через интерфейс eth0, ко второму – через интерфейс eth1. Здесь же вы моете выбрать тип подключения для каждого соединения: DHCP, Static IP либо PPPoE. Для каждого из подключений вы можете сразу включить Firewall. Порты eth2-eth4 будут объединены в локальный свич. При выборе этой конфигурации есть важный нюанс – опция Failover Only. Если вы хотите, чтобы роутер балансировал нагрузку между двумя провайдерами – эту опцию необходимо оставить пустой. Если же вы хотите использовать eth1 только в качестве резервного интернет-подключения при отказе eth0 – установите опцию Failover Only.
Подробно на английском в статье EdgeRouter - WAN Load-Balancing
Исправление проблем:
Вы можете проверить конфигурацию и состояние балансировки нагрузки с помощью следующих команд:
show load-balance status show load-balance watchdog show load-balance config
Основные таблицы маршрутизации и таблицы маршрутизации для балансировки нагрузки можно отобразить с помощью следующих команд:
show ip route show ip route table 201 show ip route table 202
Расширенная настройка 3: Проброс портов в EdgeRouter X
Разберемся с расширенные настройки Ubiquiti EdgeOS перенаправление портов (Port Forwarding), которые находятся на вкладке
Прежде чем что-то настраивать вы должны были купить Белый Статический ИП у вашего интернет провайдера. Или вы должны были построить VPN сеть, но в этом случае вам для доступа к устройствам локальной сети проброс портов НЕ нужен.
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах