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 не будет опубликован. Обязательные поля помечены *