Ранее я делал краткий анонс этой замечательной бесплатной программы для удаленного управления компьютерами Aspia, а т.к. официальной документации очень мало, будем писать свою.
Сегодня речь пойдет о программных продуктах Aspia Router и Aspia Relay.
Aspia Router пригодится вам в следующей ситуации: вам необходимо управлять компьютерами (с установленным на них Aspia Host), которые находятся за NAT и не имеют белого внешнего IP адреса или имеют динамический IP адрес.
<< Общий обзор программного продукта Aspia || Aspia FAQ: часто-задаваемые вопросы >>
Из этой статьи вы узнаете:
- Как работает Aspia Router и зачем нужен Aspia Relay
- Как установить и настроить Aspia Router на Debian Linux
- Как установить и настроить Aspia Relay на Debian Linux
- Как подключиться и управлять Aspia Router из Aspia Console
- Как подключить Aspia Host к Aspia Router и получить идентификатор для подключения
Как работает 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.
Полезные ссылки:
- Обзор Aspia: полезные ссылки внутри
- Официальный сайт Aspia: aspia.org
- Официальный репозиторий Aspia на GitHub: github.com/dchapyshev/aspia
Почему пишу тут и вам. гугл вообще не находит ничего по этой теме, кроме этого сайта, это редкий ресурс где оно упоминается. В телеграмм не приняли.
Товарищь Админ. Разрешите до… обратиться.
Просьба тут же после описания, положите свой конфиг. ибо из-за ошибки при добавлении строки, потерял прилично времени.. а с реле на винде вообще так и не разобрался.
Не подключаются они и всё тут. Возможно 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”
}
В целом конфиги должны быть рабочие. Вопросы вызывают только публичный и приватный ключи.
Публичный ключ вы можете взять из файла router.pub, а приватный появляется в router.json после запуска роутера с командой “–create-config”.
А установка и настройка Relay/Routerдля Windows будет? Особенно интересует как их запускать как службу, чего-то не получается.
У меня Router & Relay используется исключительно на Debian Linux. Возможно, в качестве тестов когда-нибудь установлю на Windows и напишу об этом.
пользуюсь уже давно, скажите, есть вариант черного списка конкретных id которые уже выданы хостам и стоят на клиентских машинах. Спасибо.
А зачем это вам? Идентификаторы, выдаваемые роутером хостам уникальны и закрепляются за конкретным хостом, т.е. выдача уже использованных идентификаторов невозможна на новых ПК. Только если переносить файл “%ProgramData%\aspia\host_key.json” (в нем хранится публичный ключ для текущего ПК по которому роутер и присвает идентификатор).
Или я вообще не понял вопроса?
Нужна возможность ограничить подключение к хостам, чтобы им id не выдавался. Или же при попытке подключения релей+роутер не давали возможность подключения к конкретному id. Чтобы кто-то один мог (админ) мог централизованно выдавать и забирать возможность подключения к конкретным хостам.
Ну я понял , что такого функционала нет. Спасибо 🤝
Используйте логины и пароли на разных хостах разные и всё.
Пользуюсь oVPN, windows VPN, SoftEtherVPN вместе роутера, все отлично, спасибо разработчику.
Пожелания по консоли:
Можно ip сканер в консоль запилить – но это сверх круто будет, или импорт с xls в консоль (hostname, ip, username, фио)
Хотелось бы покрупнее значки стандартной панели одноименной Консоли и поиск по полям комментариев и другим полям.
Я не являюсь разработчиком данного программного комплекса, а просто обозреваю его на своём сайте и делюсь опытом. Пожелания по функционалу советую направлять разработчику в Issue на Github.