Aspia Router и Aspia Relay. Что это и зачем?

Ранее я делал краткий анонс этой замечательной бесплатной программы для удаленного управления компьютерами Aspia, а т.к. официальной документации очень мало, будем писать свою.

Сегодня речь пойдет о программных продуктах Aspia Router и Aspia Relay.

Aspia Router пригодится вам в следующей ситуации: вам необходимо управлять компьютерами (с установленным на них Aspia Host), которые находятся за NAT и не имеют белого внешнего IP адреса или имеют динамический IP адрес.

<< Общий обзор программного продукта Aspia || Aspia FAQ: часто-задаваемые вопросы >>


Из этой статьи вы узнаете:

Как работает Aspia Router и зачем нужен Aspia Relay?

Aspia Router всегда работает совместно с Aspia Relay и не может работать без него. Aspia Relay служит для прогона трафика между подключенными компьютерами в обход Aspia Router. Оба продукта могут быть установлены как на одном сервере совместно, так и на разных для увеличения масштабируемости системы в целом и разделения нагрузки, в случае большого количества соединений.

Aspia Router работает исключительно как маршрутизатор и при попытке создать соединение между хостом и клиентом, не пропускает его через себя, а перенаправляет трафик на Relay. Тем самым не нагружая свой канал, чтобы всегда быть доступным для «сигнальных соединений». При этом, к одному Aspia Router может быть подключено множество Aspia Relay.

Установка и настройка Aspia Router на Debian Linux

Теперь, когда нам стало понятно, что и для чего используется, перейдем к установке.

Качаем инсталлятор «aspia-router-X.X.X-x86_64.deb» со страницы релизов репозитория Aspia на Github. На момент написания статьи, актуальная версия Aspia — 2.5.2. Будем работать с ней.

$ wget https://github.com/dchapyshev/aspia/releases/download/v2.5.2/aspia-router-2.5.2-x86_64.deb

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

$ sudo apt install ./aspia-router-2.5.2-x86_64.deb

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

$ sudo aspia_router --create-config

Результат выполнения команды на скриншоте. Перейдем к правке конфигурационного файла «router.json».

$ sudo nano /etc/aspia/router.json

Далее, перечислим параметры:

  • AdminWhiteList — Список IP-адресов администраторов, которым разрешено подключаться к маршрутизатору. Адреса разделяются точкой с запятой. Если список пуст, то разрешены подключения от всех администраторов. Если список содержит элементы, то подключиться могут только администраторы, указанные в этом списке.
  • ClientWhiteList — Список IP-адресов клиентов, которым разрешено подключаться к маршрутизатору. Адреса разделяются точкой с запятой. Если список пуст, то разрешены подключения от всех клиентов. Если список содержит элементы, то подключаться могут только клиенты, указанные в этом списке.
  • HostWhiteList — Список IP-адресов хостов, которым разрешено подключаться к маршрутизатору. Адреса разделяются точкой с запятой. Если список пуст, то разрешены подключения со всех хостов. Если список содержит элементы, то подключаться могут только хосты, указанные в этом списке.
  • RelayWhiteList — Список IP-адресов ретрансляторов (Aspia Relay), которым разрешено подключаться к роутеру. Адреса разделяются точкой с запятой. Если список пуст, то разрешены подключения от всех ретрансляторов. Если список содержит элементы, то подключаться могут только ретрансляторы, указанные в этом списке. Вписываем IP адрес нашего ретранслятора (в случае расположения Aspia Relay на том же сервере — указываем 127.0.0.1).
  • MinLogLevel — Уровень ведения журнала. Уменьшение значения увеличивает количество сообщений в журнале. Минимальное значение равно «0», максимальное значение равно «3». Значение по-умолчанию — 1. Оставим как есть.
  • Port — Порт, на котором будут приниматься входящие соединения. Если нет специфичной задачи, то менять не рекомендую.
  • PrivateKey — Приватный ключ шифрования роутера. Если у вас уже есть закрытый ключ, то напишите его здесь. Если это ваша первая установка, не меняйте значения. Ключ генерируется автоматически.
  • ListenInterface — IP адрес сетевого интерфейса, на котором должен работать Aspia Router. Укажите «0.0.0.0», чтобы Aspia Router работал на всех доступных интерфейсах. (Актуально для Aspia Router 2.4.0+)

На самом деле, для первого запуска, в данных настройках можно ничего не менять, но если вы точно знаете кто и с каких адресов будет подключаться к вашему роутеру, то можно указать их в разделах AdminWhiteList / ClientWhiteList / HostWhiteList / RelayWhiteList

После окончания настройки, включаем и запускаем демона Aspia Router:

$ sudo systemctl enable aspia-router
$ sudo service aspia-router start

Результат выполнения команды на скриншоте.

Для дальнейшей настройки Aspia Host на управляемых компьютерах, нам потребуется указание публичного ключа шифрования, который можно найти в файле «/etc/aspia/router.pub».

Журнал работы Aspia Router можно посмотреть командой:

$ sudo journalctl -u aspia-router

База данных роутера хранится в файле «/var/lib/aspia/router.db3». Не забудьте настроить резервное копирование данного файла, а так же конфигов роутера «/etc/aspia/router.json» и «/etc/aspia/router.pub», т.к. в них хранятся публичные и приватные ключи. Данные файлы потребуются вам, если вы захотите переустановить Aspia Router с сохранением выданных ранее идентификаторов и не перенастраивать все подключенные ранее хосты.

Установка и настройка Aspia Relay на Debian Linux

После установки Aspia Router, нам необходимо установить и настроить Aspia Relay. Без этого наш роутер работать не будет.

Снова переходим страницу релизов репозитория Aspia на Github и качаем «aspia-relay-X.X.X-x86_64.deb».

$ wget https://github.com/dchapyshev/aspia/releases/download/v2.5.2/aspia-relay-2.5.2-x86_64.deb

Переходим к установке, последовательно устанавливаем aspia-relay и генерируем конфигурационные файлы:

$ sudo apt install ./aspia-relay-2.5.2-x86_64.deb
$ sudo aspia_relay --create-config

Результат выполнения команд на скриншоте.

Переходим к настройке, открываем конфиг:

$ sudo nano /etc/aspia/relay.json

Далее, проверим параметры:

  • RouterAddress — Адрес роутера, который мы устанавливали ранее. Он может быть равен localhost, если роутер установлен на том же сервере. В случае, если роутер и ретранслятор находятся на разных серверах, указывается тот адрес, по которому ретранслятор сможет достучаться до роутера (в большинстве случаев — это будет белый внешний IP или «127.0.0.1» для локального ретранслятора).
  • RouterPort — Порт роутера. Если вы не изменяли его при установке Aspia Router, то оставьте значение по-умолчанию.
  • RouterPublicKey — Публичный ключ шифрования роутера, который вы получили при его установке (хранится в файле /etc/aspia/router.pub).
  • ListenInterface — IP адрес сетевого интерфейса, на котором должен работать Aspia Relay. Укажите «0.0.0.0», чтобы Aspia Relay работал на всех доступных интерфейсах. (Актуально для Aspia Relay 2.4.0+)
  • PeerAddress — Адрес, который пиры получат для подключения к серверу ретрансляции. Тут указываем адрес, по которому хост и клиент/консоль смогут достучаться да нашего сервера. Рекомендую указать DNS имя, например что-то вроде: relay1.aspia.example.com.
  • PeerPort — Порт, через который одноранговые узлы будут подключаться к серверу ретрансляции. Если нет специфичной задачи, то менять не рекомендую.
  • PeerIdleTimeout — Время в минутах. Если в течение этого времени данные от пиров не поступают, соединение прерывается. Рекомендую, оставить значение по-умолчанию.
  • MaxPeerCount — Максимальное количество одновременных подключений, установленных между узлами (Client/Console и Host). По-умолчанию установлено — 100. Тут всё зависит от ваших потребностей (количества администраторов и управляемых машин) и возможностей сервера, на который установлен Relay.
  • MinLogLevel — Уровень ведения журнала. Уменьшение значения увеличивает количество сообщений в журнале. Минимальное значение равно «0», максимальное значение равно «3». Значение по-умолчанию — 1. Оставим как есть.
  • StatisticsEnabled — Включить возможность передачи статистики подключений на роутер. Для просмотра статистики используйте Aspia Console (раздел управления роутером -> Ретрансляторы). Поддерживается два параметра: «true» или «false». По-умолчанию: выключено (false). Актуально для Aspia Relay 2.5.0+
  • StatisticsInterval — Интервал в секундах для отправки статистики подключений на роутер. Поддерживаются значения от «1» до «60». По-умолчанию: «5». Актуально для Aspia Relay 2.5.0+

После окончания настройки, включаем и запускаем демона Aspia Relay:

$ sudo systemctl enable aspia-relay
$ sudo service aspia-relay start

Журнал работы Aspia Relay можно посмотреть командой:

$ sudo journalctl -u aspia-relay

Подключение к Aspia Router из Aspia Console

Для того, чтобы просмотреть состояние роутера и иметь возможность управления им (добавление пользователей), необходимо подключиться к роутеру через консоль.

Откроем Aspia Console и создадим новую адресную книгу, а на вкладке «Маршрутизатор» укажем параметры подключения к нашему маршрутизатору. После установки, логин и пароль администратора «admin» и «admin».

Для управления маршрутизатором, перейдите в меню «Инструменты -> Управление маршрутизатором».

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

Подключение Aspia Host к Aspia Router

Для того, чтобы можно было подключаться к управляемым компьютерам из Aspia Console через роутер, на них должен быть установлен и настроен продукт Aspia Host.

О том, как распространить Aspia Host в сети в среде Active Directory я описал в статье: Aspia — Распространение Host и Console через GPO в Active Directory

Перейдем к настройке соединения с маршрутизатором.

Открываем программу «Хост Aspia» и переходим в меню «Aspia -> Параметры», далее на вкладку «Маршрутизатор».

Ставим галку «Включить использование маршрутизатора», указываем адрес установленного нами Aspia Router, далее указываем «Публичный ключ», который мы получили при установке Aspia Router в файле «/etc/aspia/router.pub».

Далее, если настройки выполнены верно, то при после сохранения настроек, хост подключиться к роутеру и получит идентификатор, с помощью которого можно будет подключиться к хосту через Aspia Console.


На этом я завершаю текущую статью с описанием программных продуктов Aspia Router и Aspia Relay.

Полезные ссылки:

11 thoughts on “Aspia Router и Aspia Relay. Что это и зачем?

  1. Почему пишу тут и вам. гугл вообще не находит ничего по этой теме, кроме этого сайта, это редкий ресурс где оно упоминается. В телеграмм не приняли.

  2. Товарищь Админ. Разрешите до… обратиться.
    Просьба тут же после описания, положите свой конфиг. ибо из-за ошибки при добавлении строки, потерял прилично времени.. а с реле на винде вообще так и не разобрался.
    Не подключаются они и всё тут. Возможно nat препятствует, роутер его видит, в локальной сети комп видно. соединения не идут.
    Например.
    Роутер:
    {
    «AdminWhiteList»: «»,
    «ClientWhiteList»: «»,
    «HostWhiteList»: «»,
    «Port»: «8060»,
    «PrivateKey»: «Ваш_уникальный_приватный_ключ»,
    «ListenInterface»: «0.0.0.0»,
    «RelayWhiteList»: «»
    }

    Реле на линухе на том же где и Роутер

    {
    «MaxPeerCount»: «100»,
    «PeerAddress»: «Тут_указываем_IP_адрес_видимый_из_сети_Но_желательно_dns_имя»,
    «PeerPort»: «8070»,
    «PeerIdleTimeout»: «5»,
    «RouterAddress»: «127.0.0.1»,
    «RouterPort»: «8060»,
    «RouterPublicKey»: «Ваш_публичный_ключ»,
    «ListenInterface»: «0.0.0.0»,
    «StatisticsEnabled»: «true»,
    «StatisticsInterval»: «5»
    }

    1. В целом конфиги должны быть рабочие. Вопросы вызывают только публичный и приватный ключи.
      Публичный ключ вы можете взять из файла router.pub, а приватный появляется в router.json после запуска роутера с командой «—create-config».

  3. А установка и настройка Relay/Routerдля Windows будет? Особенно интересует как их запускать как службу, чего-то не получается.

    1. У меня Router & Relay используется исключительно на Debian Linux. Возможно, в качестве тестов когда-нибудь установлю на Windows и напишу об этом.

  4. пользуюсь уже давно, скажите, есть вариант черного списка конкретных id которые уже выданы хостам и стоят на клиентских машинах. Спасибо.

    1. А зачем это вам? Идентификаторы, выдаваемые роутером хостам уникальны и закрепляются за конкретным хостом, т.е. выдача уже использованных идентификаторов невозможна на новых ПК. Только если переносить файл «%ProgramData%\aspia\host_key.json» (в нем хранится публичный ключ для текущего ПК по которому роутер и присвает идентификатор).

      Или я вообще не понял вопроса?

      1. Нужна возможность ограничить подключение к хостам, чтобы им id не выдавался. Или же при попытке подключения релей+роутер не давали возможность подключения к конкретному id. Чтобы кто-то один мог (админ) мог централизованно выдавать и забирать возможность подключения к конкретным хостам.
        Ну я понял , что такого функционала нет. Спасибо 🤝

        1. Используйте логины и пароли на разных хостах разные и всё.

  5. Пользуюсь oVPN, windows VPN, SoftEtherVPN вместе роутера, все отлично, спасибо разработчику.

    Пожелания по консоли:
    Можно ip сканер в консоль запилить — но это сверх круто будет, или импорт с xls в консоль (hostname, ip, username, фио)
    Хотелось бы покрупнее значки стандартной панели одноименной Консоли и поиск по полям комментариев и другим полям.

    1. Я не являюсь разработчиком данного программного комплекса, а просто обозреваю его на своём сайте и делюсь опытом. Пожелания по функционалу советую направлять разработчику в Issue на Github.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *