Aspia router настройка windows

Table of contents

  1. Purpose
  2. Installing
  3. Creating a default configuration
  4. Configuration file
  5. Data base
  6. Public key
  7. Logs
  8. Command line
  9. Notes

1. Purpose

Gives IDs to hosts and allows peers (Hosts and Clients) to agree on how they will bypass NAT.
All Hosts and Relays are permanently connected to the Router. When the Client wants to connect to the Host, it also connects to the Router.
The Router server must have a public IP address. Router and Relay can only work together. Don’t forget to install Relay.

2. Installing

Windows x86
  Run aspia-router-2.7.0-x86.msi and follow the instructions on the screen.

Windows x86_64
  Run aspia-router-2.7.0-x86_64.msi and follow the instructions on the screen.

Linux
  sudo apt install ./aspia-router-2.7.0-x86_64.deb
  sudo systemctl enable aspia-router

To start and stop the service, use the following commands:

Windows
  net start aspia-router
  net stop aspia-router

Linux
  sudo service aspia-router start
  sudo service aspia-router stop

3. Creating a default configuration

WARNING! There must be no existing configuration file or database in the destination directory.
The router never overwrites the current configurations and creating a new configuration is possible only if the previous one does not exist.

WARNING! Administrator rights are required to create a configuration.

WARNING! Default username and password: admin/admin. Don’t forget to change this after installation! To manage users, you need to use Router Manage in the Console.

Windows x86
  cd /d "C:\Program Files (x86)\Aspia\Router"
  aspia_router --create-config

Windows x64
  cd /d "C:\Program Files\Aspia\Router"
  aspia_router --create-config

Linux
  sudo aspia_router --create-config

4. Configuration file

The configuration file contains parameters that do not change while the application is running.

Important! Perform regular configuration file backups to avoid the risk of data loss.

The Router configuration file is located in the following paths:

Windows
  C:\ProgramData\aspia\router.json

Linux
  /etc/aspia/router.json

Description of configuration file fields:

  • PrivateKey (REQUIRED FIELD) If you already have a private key, then write it here. This option is automatically generated when the configuration is created using command line option “–create-config”. Do not change this setting unless you really need to.
  • SeedKey (REQUIRED FIELD) This option is automatically generated when the configuration is created using command line option “–create-config”. Do not change this setting unless you really need to.
  • Port The port on which incoming connections will be accepted. You can leave the default value. Do not change this parameter unless you do so consciously. The default value is 8060.
  • ListenInterface Interface address on which the server will listen for incoming connections. Specify empty string if you want to listen for connections on all interfaces. Do not change this setting unless you really need to.
  • ClientWhiteList The IP address (not hostnames) list of clients who are allowed to connect to the router. Addresses are separated by semicolons. If the list is empty, then connections from all clients are allowed. If the list contains items, then only the clients specified in this list can connect. Do not change this setting unless you really need to.
  • HostWhiteList The IP address (not hostnames) list of Hosts who are allowed to connect to the router. Addresses are separated by semicolons. If the list is empty, then connections from all Hosts are allowed. If the list contains items, then only the Hosts specified in this list can connect. Do not change this setting unless you really need to.
  • AdminWhiteList The IP address (not hostnames) list of admins who are allowed to connect to the Router. Addresses are separated by semicolons. If the list is empty, then connections from all admins are allowed. If the list contains items, then only the admins specified in this list can connect. Do not change this setting unless you really need to.
  • RelayWhiteList The IP address (not hostnames) list of relays who are allowed to connect to the Router. Addresses are separated by semicolons. If the list is empty, then connections from all Relays are allowed. If the list contains items, then only the Relays specified in this list can connect. Do not change this setting unless you really need to.

5. Data base

The database file contains information about users and issued IDs for Hosts. Currently the sqlite database is used. If you need to view the contents or make changes to the database, then you can use any graphical editor for this type of database.

Important! Perform regular database file backups to avoid the risk of data loss.

The database file is located in the following paths:

Windows
  C:\ProgramData\aspia\router.db3

Linux
  /var/lib/aspia/router.db3

6. Public key

The contents of the public key file are needed to configure Relays and Hosts.
The public key file is located in the following paths:

Windows
  C:\ProgramData\aspia\router.pub

Linux
  /etc/aspia/router.pub

7. Logs

Logging for the Router is disabled by default. To configure the Router logging parameters, use the following recommendations:

  • To set the log level, declare an environment variable ASPIA_LOG_LEVEL with a value from 0 to 2. Decreasing the value increases the number of messages in the log.
  • To enable logging to a file (if it is not enabled by default for platform), declare environment variable ASPIA_LOG_TO_FILE with a value other than 0. If the environment variable is declared with a value of 0, then logging to file will be disabled.
  • To enable logging to stdout (if it is not enabled by default for platform), declare environment variable ASPIA_LOG_TO_STDOUT with a value other than 0. If the environment variable is declared with a value of 0, then logging to stdout will be disabled.
  • Log files can have a limited size and after reaching the maximum file size a new log file will be created. By default, the maximum log file size is limited to 2 MB. If you need to change this size, then declare environment variable ASPIA_MAX_LOG_FILE_SIZE with a numeric value in bytes. The variable can take a value from 1024 (1 KB) to 10485760 (10 MB).
  • By default, log files older than 14 days are automatically deleted. If you want to change this value, then declare environment variable ASPIA_MAX_LOG_FILE_AGE with a numeric value in days. The variable can take a value from 0 to 366. If the variable is set to 0, then the log files will not be automatically deleted.

The log file for Windows is located in the following path:

C:\Windows\Temp\aspia\aspia_router-*.log

For Linux, you can enable log output to a file through environment variables or use the command to output the log:

sudo journalctl -u aspia-router

8. Command line

The Router supports the following command line arguments:

Argument Description
--install Performs a Router service installation. Administrator rights are required to execute. The command is only available in Windows.
--remove Performs removal of the Router service. Administrator rights are required to execute. The command is only available in Windows.
--start Starts the Router service. Administrator rights are required to execute. The command is only available in Windows.
--stop Stops the Router service. Administrator rights are required to execute. The command is only available in Windows.
--keygen Generates private and public keys. The keys are displayed in the terminal. Running the command does not affect the current configuration.
--create-config Creates an initial configuration.
--help Displays help about command line arguments.

9. Notes

  • Hosts and Relays connect to the Router using a public key.
  • Clients and the Console connect using a username and password. You can add additional users when managing Routers in the Console.
  • It is recommended that you set up regular backups of your configuration files and database.
  • Don’t forget to add rules in your firewall to access the Router. The Router does not add rules automatically.
  • It is recommended to limit the list of Relays that can be connected to the Router. Whitelist the required Relays.
  • When uninstalling, the Router does not delete its configuration files and database.
  • When updating the Router, do not forget to back up the configuration files and database.
  • After changing the configuration files, you must restart the Router service. The Router reads the configuration at startup!

Основное отличие

Разница настройки и использования Aspia будет заключаться лишь — в необходимости для работы с внешним подключением дополнительно  установить и настроить: Aspia Router и Aspia Relay + настроить Aspia Host для работы с Aspia Router.
Поэтому первым рассмотрим способ настройки компонентов для подключения без прямого доступа к ПК, выходящего в интернет через NAT. В остальном разницы между способами использования нет,  Aspia Client\Console\Host будут использоваться одинаково.

Настройка Aspia Router

  1. Скачиваем Aspia Router и Aspia Relay с репозитория: ссылка . Подчеркнем еще раз, что данные компоненты доступны лишь для ОС Windows и Linux.
  2. Устанавливаем Aspia Router и Aspia Relay на сервере, который будет всегда доступен для всех хостов/консолей/клиентов. В идеале, на выделенный/виртуальный сервер у какого-либо хостера, либо на сервер внутри локальной сети с пробросом портов, но тут есть нюанс

    Aspia Router и Aspia Relay между собой могут «общаться» по любым адресам, т.е. как «127.0.0.1» (в случае установки на одном сервере), так и по внутренним адресам вида «192.168.0.1», так и по внешним (если установлены на разных хостингах, например).
    А вот общение консоли/клиента/хоста с маршрутизатором должно осуществляться исключительно через один и тот же адрес, который будет доступен всем участникам и если у вас есть внешние клиенты (вне периметра вашей локальной сети), то необходимо обязательно указывать в конфиге внешний адрес для подключений. Из этого вытекает тот факт, что подключения по внешнему адресу фаервола изнутри локальной сети, как и проброс портов должны корректно отрабатываться.

  3. Создаем конфигурацию по умолчанию для Aspia Router через командную строку с правами администратора:

  • Для Windows
    • cd /d «C:\Program Files (x86)\Aspia\Router» 
    • aspia_router —create-config 
  • Для Linux
    • sudo aspia_router —create-config  

ВНИМАНИЕ! В указанной директории не должно быть уже существующих файлов конфигурации или базы данных. Роутер никогда не перезаписывает текущие конфигурации, и создание новой конфигурации возможно только в случае отсутствия предыдущей.

   4. Заполняем конфигурационные файлы (при необходимости; т.к. в большинстве случаев конфигурацию по умолчанию не нужно редактировать) :

  • Для Windows:  C:\ProgramData\aspia\router.json
  • Для Linux:  /etc/aspia/router.json
    • PrivateKey (ОБЯЗАТЕЛЬНОЕ ПОЛЕ): Если у вас уже есть закрытый ключ, введите его здесь. Этот параметр автоматически генерируется при создании конфигурации с помощью параметра командной строки «—create-config». Не изменяйте эту настройку, если вам действительно нет в этом необходимости.
    • Port: Порт, на котором будут приниматься входящие соединения. Вы можете оставить значение по умолчанию. Не изменяйте этот параметр, если вы не делаете это осознанно . Значение по умолчанию — 8060
    • ListenInterface: Адрес интерфейса, на котором сервер будет слушать входящие соединения. Укажите 0.0.0.0, если вы хотите прослушивать соединения на всех интерфейсах. Не изменяйте эту настройку, если вам действительно нет в этом необходимости
    • ClientWhiteList: Список IP-адресов (без имен хостов) клиентов, которым разрешено подключаться к роутеру. Адреса разделяются точкой с запятой. Если список пуст, то разрешены подключения от всех клиентов. Если список содержит элементы, то только клиенты, указанные в этом списке, могут подключаться. Не изменяйте эту настройку, если вам действительно нет в этом необходимости.
    • HostWhiteList: Список IP-адресов (без имен хостов) хостов, которым разрешено подключаться к роутеру. Адреса разделяются точкой с запятой. Если список пуст, то разрешены подключения от всех хостов. Если список содержит элементы, то только хосты, указанные в этом списке, могут подключаться. Не изменяйте эту настройку, если вам действительно нет в этом необходимости.
    • AdminWhiteList: Список IP-адресов (без имен хостов) администраторов, которым разрешено подключаться к роутеру. Адреса разделяются точкой с запятой. Если список пуст, то разрешены подключения от всех администраторов. Если список содержит элементы, то только администраторы, указанные в этом списке, могут подключаться. Не изменяйте эту настройку, если вам действительно нет в этом необходимости.
    • RelayWhiteList: Список IP-адресов (без имен хостов) ретрансляторов, которым разрешено подключаться к роутеру. Адреса разделяются точкой с запятой. Если список пуст, то разрешены подключения от всех ретрансляторов. Если список содержит элементы, то только ретрансляторы, указанные в этом списке, могут подключаться. Не изменяйте эту настройку, если вам действительно нет в этом необходимости.

   5. Запуск/Остановка службы:

  • Для Windows: net start aspia-router / net stop aspia-router
  • Для Linux: sudo systemctl enable aspia-router; sudo service aspia-router start / sudo service aspia-router stop

   6. Откройте файл публичного ключа и скопируйте его. Он пригодится для настройки ретранслятора и хостов.

  • Для Windows: C:\ProgramData\aspia\router.pub 
  • Для Linux: /etc/aspia/router.pub

Расположение файлов маршрутизатора

1. Логи: чтобы задать уровень журнала, объявите переменную окружения ASPIA_LOG_LEVEL со значением от 0 до 3. Уменьшение значения 
значения увеличивает количество сообщений в журнале.

  • Для Windows: C:\Windows\Temp\aspia\aspia_router-*.log
  • Для Linuxsudo journalctl -u aspia-router

2. Настройки

  • Для Windows: C:\ProgramData\aspia\router.json
  • Для Linux: /etc/aspia/router.json

3. База данных
Для Windows: C:\ProgramData\aspia\router.db3
Для Linux: /var/lib/aspia/router.db3

ПРИМЕЧАНИЯ:
1. Хосты и ретрансляторы подключаются к маршрутизатору с использованием открытого ключа.
2. Клиенты и консоль подключаются с помощью имени пользователя и пароля. При управлении маршрутизаторами в консоли можно добавить дополнительных пользователей 
При управлении маршрутизаторами в консоли можно добавить дополнительных пользователей.
3. Рекомендуется регулярно создавать резервные копии конфигурационных файлов и базы данных.
4. Не забудьте добавить правила в брандмауэре для доступа к Маршрутизатору. Маршрутизатор не добавляет правила автоматически.
5. Рекомендуется ограничить список ретрансляторов, которые могут быть подключены к маршрутизатору. Внесите необходимые ретрансляторы в белый список.
6. При деинсталляции маршрутизатор не удаляет свои конфигурационные файлы и базу данных.
7. При обновлении маршрутизатора не забудьте сделать резервную копию конфигурационных файлов и базы данных.
8. Информацию о том, как подключиться к маршрутизатору для управления им (включая имя пользователя и пароль), см. 
на странице использования Aspia.
9. После изменения конфигурационных файлов необходимо перезапустить службу Router. Маршрутизатор считывает конфигурацию 
при запуске!

Настройка Aspia Relay

Назначение Relay: пропускает через себя трафик между пирами (хостами и клиентами). Сервер Relay должен иметь публичный IP-адрес. Релейных серверов может быть много, и они могут располагаться на отдельных от маршрутизатора машинах. 
Маршрутизатор. Количество Relay-серверов может быть от одного до нескольких. Необходимо установить хотя бы один сервер Relay. 
Router и Relay могут работать только вместе.

1. Установка Relay (требуются права администратора)
Для Windows:

  • запустите aspia-relay-2.5.2-x86.msi и следуйте инструкциям на экране.

Для Linux:

  • sudo apt install ./aspia-relay-2.5.2-x86_64.deb

2. Создание конфигурации по умолчанию (требуются права администратора)
Для Windows:

  • cd /d «C:\Program Files (x86)\Aspia\Relay»
  • aspia_relay —create-config

Для Linux:

  • sudo aspia_relay —create-config

ВНИМАНИЕ! В каталоге назначения не должно быть существующего файла конфигурации. Relay никогда не 
перезаписывает текущие конфигурации, и создание новой конфигурации возможно только в том случае, если предыдущая конфигурация 
не существует.(другими словами: удали файл relay.cfg если он появился после создания конфига для Router)

3. Откройте файл конфигурации и заполните поля
Для Windows:

  • C:\ProgramData\aspia\relay.json

Для Linux:

  • /etc/aspia/relay.json
    • RouterAddress (REQUIRED FIELD): Адрес маршрутизатора. По этому адресу сервер Relay подключается к маршрутизатору. Он может быть равен localhost (или 127.0.0.1), если маршрутизатор установлен на том же компьютере.
    • RouterPort: Если вы не изменяли порт в конфигурационном файле маршрутизатора, то это поле следует оставить со значением значение по умолчанию. Если же вы изменили конфигурацию маршрутизатора, то запишите требуемое значение. Можно оставить значение по умолчанию. Не изменяйте этот параметр, если вы не делаете этого сознательно. По умолчанию используется значение 8060.
    • RouterPublicKey (REQUIRED FIELD): Должен содержать открытый ключ маршрутизатора, который вы получили при его установке. Введите сюда открытый ключ, который содержится в файле router.pub, созданном маршрутизатором маршрутизатором.

    • ListenInterface: Адрес интерфейса, на котором сервер будет прослушивать входящие соединения. Укажите 0.0.0.0, если необходимо прослушивать соединения на всех интерфейсах. Не изменяйте этот параметр, если в этом нет необходимости.
    • PeerAddress (REQUIRED FIELD): Адрес, который будут получать пиры для подключения к Relay-серверу. Это собственный адрес Relay-сервера, через который оба пира (клиент/консоль и хост) могут обращаться к нему. 

ВНИМАНИЕ! Этот адрес должен быть доступен всем участникам соединения(Клиент/Консоль/Хост). Следует учитывать, что оба участника соединения (Host и Client/Console) должны иметь возможность подключаться к этому адресу. Учитывайте это при настройке сетевого оборудования, если вы настраивать проброс портов на маршрутизаторе. Если маршрутизатор находится за NAT, то необходимо обеспечить 
доступ к этому адресу для внешних и внутренних соединений. Более подробную информацию о том, как обеспечить доступ к этому адресу для внешних и внутренних соединений, см. в документации к своему сетевому оборудованию. 

    • PeerPort: Порт, через который пиры будут подключаться к Relay-серверу. Можно оставить значение по умолчанию. Не изменяйте этот параметр, если вы не делаете этого сознательно. По умолчанию используется значение 8070.
    • PeerIdleTimeout: Время в минутах. Если в течение этого времени от пиров не поступает никаких данных, соединение разрывается прервется. Можно оставить значение по умолчанию. Не изменяйте этот параметр, если вы не делаете этого сознательно. Значение по умолчанию равно 5.
    • MaxPeerCount: Максимальное количество одновременных соединений, устанавливаемых между пирами. Вы можете оставить значение по умолчанию. Не изменяйте этот параметр, если вы не делаете этого сознательно. По умолчанию значение равно 100.
    • StatisticsEnabled: Включает или отключает автоматическую отправку статистики на маршрутизатор. Можно оставить значение по умолчанию. Может принимать значения: true или false. По умолчанию используется значение false.
    • StatisticsInterval: Интервал в секундах для автоматической отправки статистики на маршрутизатор. Можно оставить значение по умолчанию. Может принимать значение от 1 до 60. По умолчанию используется значение 5.

4. Запуск службы
Для Windows:

  • net start aspia-relay

Для Linux:

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

5. Остановка службы
Для Windows:

  • net stop aspia-relay

Для Linux:

  • sudo service aspia-relay stop

Расположение файлов Relay
1. Логи: Чтобы задать уровень журнала, объявите переменную окружения ASPIA_LOG_LEVEL со значением от 0 до 3. 
значения увеличивает количество сообщений в журнале.
Для Windows:

  • C:\Windows\Temp\aspia\aspia_relay-*.log

Для Linux:

  • sudo journalctl -u aspia-relay

2. Настройки
Для Windows:

  • C:\ProgramData\aspia\relay.json

Для Linux:

  • /etc/aspia/relay.json

ПРИМЕЧАНИЯ:
1. Не забудьте добавить правила в свой брандмауэр для доступа к Relay. Relay не добавляет правила автоматически.
2. При деинсталляции ретранслятор не удаляет свои конфигурационные файлы.
3. После изменения конфигурационных файлов необходимо перезапустить службу Relay. Relay считывает 
конфигурацию при запуске!


Настройка Aspia Host


  Aspia 
Host Назначение: позволяет принимать входящие соединения от клиентов и консолей для управления компьютером, на котором он установлен. 

1. Установка Aspia Host

  • Хост доступен только для операционной системы Windows.
  • Запустите файл aspia-host-2.5.2-x86.msi и следуйте инструкциям, появляющимся на экране.

2. Включение Aspia Router в настройках

  • Перейдите в настройки (Aspia -> Параметры… -> Маршрутизатор)
  • Включить использование маршрутизатора
  • Напишите адрес вашего маршрутизатора
  • Запишите публичный ключ маршрутизатора

Логи
Для установки уровня журнала объявите переменную окружения ASPIA_LOG_LEVEL со значением от 0 до 3. Уменьшение значения 
значения увеличивает количество сообщений в журнале.
Для Windows:
C:\Users\<имя_пользователя>\AppData\Local\Temp\aspia\aspia_host-*.log
C:\Windows\Temp\aspia\aspia_host_service-*.log
C:\Windows\Temp\aspia\aspia_desktop_agent-*.log

На этом настройка для работы с внешними соединениями завершена.
Для локальной работы достаточно будет использовать лишь Aspia Host и Aspia Cline/Console без дополнительных манипуляций по настройке.
Далее распространяем Aspia Host на машинах, к которым нужно подключаться и Aspia Client/Console на машины, с которых будем производить подключение.
Как использовать Aspia Client/Console/Host читайте на следующей странице.

Рано или поздно системные администраторы задумываются о собственном решении для удаленного управления ПК. Это может быть связано с уходом с российского рынка привычных продуктов, финансовыми вопросами или соображениями безопасности. В любом случае такие решения есть и вопреки распространенному мнению установить и поддерживать их несложно и недорого. Сегодня мы рассмотрим как установить и настроить на собственном сервере Aspia — бесплатный комплекс программ для организации собственной инфраструктуры удаленного управления ПК.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Aspia — продукт с открытым исходным кодом, выпускается под лицензией GPL 3, развивается с 2016 года и обладает достаточно широкими возможностями по удаленному управлению ПК, отличается хорошей скоростью работы даже на медленных каналах связи и весьма скромными системными требованиями.

Серверная часть может быть запущена на операционных системах Ubuntu 20.04 и Debian 11, под иные версии разработчик пакетов не собирает и работоспособность системы не гарантируется. Для ее развертывания вам будет достаточно виртуальной машины с 1 ядром ЦПУ и 1 ГБ RAM, размер диска также можно выбрать минимальным. Этого будет достаточно для обслуживания достаточно большой инфраструктуры, а при необходимости систему можно легко масштабировать благодаря модульной архитектуре.

В качестве системы для управления (хоста) поддерживается только Windows, это достаточно серьезное ограничение, но в большинстве случаев несущественное, так как большую часть парка клиентских ПК все еще составляет данная ОС.

Клиентские приложения для управления сервером и подключения к хостам доступны для всех платформ, включая macOS. Таким образом Aspia имеет как свои плюсы, так и минусы, но является достойным кандидатом для создания собственной инфраструктуры удаленного управления, особенно если ваш парк клиентских машин состоит из Windows.

Aspia — модульная система и на первый взгляд может показаться достаточно сложной, поэтому коротко разберем ее основные компоненты и рассмотрим схему взаимодействия между ними. В состав Aspia входят:

  • Aspia Router — маршрутизатор, является собственной реализацией ID-сервера, необходимого узлам не имеющим собственного выделенного IP-адреса для обхода NAT. Занимается выдачей идентификаторов и балансировкой нагрузки.
  • Aspia Relay — ретранслятор, пропускает через себя трафик между клиентом и хостами. Ретрансляторов может быть несколько, в этом случае маршрутизатор будет балансировать между ними нагрузку.
  • Aspia Host — хост, устанавливается на удаленный компьютер и принимает входящие подключения от управляющих устройств.
  • Aspia Client — предназначен для подключения и управления удаленными ПК (хостами).
  • Aspia Console — консоль, поддерживает функции адресной книги, позволяет подключаться и управлять удаленными ПК (хостами), а также администрировать серверную часть (маршрутизатор).

Теперь посмотрим как они взаимодействуют друг с другом. На схеме ниже синими стрелками показано служебное взаимодействие, зелеными — трафик сеанса управления удаленным ПК.

Aspia-Remote-Desktop-Install-001.png

Aspia Host при запуске на удаленном ПК связывается с Aspia Router, регистрируется и получает собственный ID, в дальнейшем будучи запушенным хост постоянно синхронизируется с роутером и передает ему свое состояние, в ответ хост получает список ретрансляторов для подключения. Если мы хотим подключиться к удаленному ПК, то мы используем Aspia Client (на схеме не показан) или Aspia Console, взаимодействие с остальными участниками схемы у них одинаковое.

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

После чего клиент (консоль) подключается к указанному ретранслятору и через него получает доступ к выбранному хосту. При этом оба, и хост и клиент (консоль) могут находиться за NAT и не иметь выделенного IP-адреса, эти вопросы решает ретранслятор, к которому подключаются оба узла и через который проходит весь трафик сеанса.

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

Подготовка к установке

Для развертывания собственной инфраструктуры удаленного управления ПК много ресурсов не понадобится. Достаточно недорогой виртуальной машины с выделенным IP-адресом и высокой доступностью, поэтому рекомендуем приобресnи VPS у любого надежного провайдера. Также рекомендуем сразу зарегистрировать доменное имя и привязать к данному VPS два адреса:

  • router.example.com
  • relay.example.com

Почему так, ведь они все равно ведут на один узел? А для того, чтобы в последствии вы могли спокойно масштабировать инфраструктуру не меняя настроек системы и клиентов. Решили вынести ретранслятор на отдельный узел — нет проблем, поменяли одну DNS-запись и все снова работает.

В качестве ОС сервера следует выбрать Ubuntu 20.04 или Debian 11.

Установка Aspia Router

Прежде всего скачаем и установим пакет маршрутизатора, ниже будет представлена команда на скачивание последней на момент написания статьи версии Aspia 2.7.0, по мере выхода новых версий адрес и наименование пакетов придется изменить:

wget https://github.com/dchapyshev/aspia/releases/download/v2.7.0/aspia-router-2.7.0-x86_64.deb
apt install ./aspia-router-2.7.0-x86_64.deb

Сформируем конфигурацию роутера:

aspia_router --create-config

Затем откроем файл /etc/aspia/router.json и откорректируем в нем опцию RelayWhiteList, указав список ретрансляторов, которым разрешено работать с маршрутизатором, если адресов несколько, то они разделяются точкой с запятой.

"RelayWhiteList": "127.0.0.1",

Сохраняем файл, добавляем службу в автозагрузку и запускаем ее:

systemctl enable aspia-router
systemctl start aspia-router

На этом настройка маршрутизатора закончена.

Установка Aspia Relay

Точно также скачиваем и устанавливаем последний пакет:

wget https://github.com/dchapyshev/aspia/releases/download/v2.7.0/aspia-relay-2.7.0-x86_64.deb
apt install ./aspia-relay-2.7.0-x86_64.deb

И сформируем конфигурацию ретранслятора:

aspia_relay --create-config

Откроем файл /etc/aspia/relay.json и внесем следующие изменения:

"PeerAddress": "relay.example.com",
"RouterAddress": "127.0.0.1",
"RouterPublicKey": "ROUTER_PUBKEY",
"StatisticsEnabled": "true",

PeerAddress — адрес ретранслятора, лучше всего отдавать клиентам по FQDN (доменному имени), что позволит наиболее гибко управлять инфраструктурой. RouterAddress — адрес маршрутизатора, так как у нас они находятся на одном узле, то указываем 127.0.0.1.

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

cat /etc/aspia/router.pub

Опция StatisticsEnabled включает автоматическую отправку статистики на маршрутизатор, это позволит вам в реальном режиме времени видеть активные соединения.

Сохраняем изменения, добавляем службу в автозагрузку и запускаем ее:

systemctl enable aspia-relay
systemctl start aspia-relay

На этом настройка серверной части завершена

Настройка брандмауэра

Для работы роутера и ретранслятора нам потребуется открыть порты 8060 TCP и 8070 TCP, ниже приведена минимальная конфигурация iptables, также открыт порт 22 TCP для управления сервером по SSH:

#Разрешаем уже установленные и связанные соединения
iptables -A INPUT -i ens33 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
#Разрешаем входящий SSH
iptables -A INPUT -i ens33 -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
#Разрешаем входящие Aspia Router
iptables -A INPUT -i ens33 -p tcp --dport 8060 -m conntrack --ctstate NEW -j ACCEPT
#Разрешаем входящие Aspia Relay
iptables -A INPUT -i ens33 -p tcp --dport 8070 -m conntrack --ctstate NEW -j ACCEPT
#Запрещаем остальные входящие соединения
iptables -A INPUT -i ens33 -j DROP

Где ens33 — имя внешнего интерфейса сервера.

Изменяем формат ID на роутере

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

Скачаем и установим инструмент для работы с SQLite:

apt install sqlite3

Остановим службу маршрутизатора:

 systemctl stop aspia-router

Перейдем в директорию с базой данных:

cd /var/lib/aspia/

И подключим ее:

sqlite3 router.db3

Выполним команду:

INSERT INTO hosts (id, key) VALUES (1000, 0x53544152544b4559);

И выйдем из базы данных:

.quit

В данном случае 1000 — это желаемое стартовое значение идентификатора, теперь они будут присваиваться начиная с 1001, данную операцию следует выполнить до того, как вы начали регистрировать на маршрутизаторе хосты.

Установка Aspia Console

Для управления сервером и подключения к хостам скачаем и установим пакет Aspia Console, прежде всего настроим маршрутизатор. Для этого перейдем в Инструменты — Управление маршрутизатором, для подключения используем логин и пароль admin:admin. После чего переходим на закладку пользователи и первым делом меняем пароль пользователю admin, также рекомендуем сразу переименовать эту учетную запись.

Затем создаем нужное число пользователей, у каждого из них есть два типа сессий:

  • Клиент — позволяет подключаться к удаленным ПК
  • Администратор — позволяет управлять маршрутизатором

В основном нам потребуются клиенты, заводим их по числу операторов.

Aspia-Remote-Desktop-Install-004.png

Теперь мы можем вернуться в консоль и создать адресную книгу, адресная книга хранится в виде файла в локальном расположении и содержит в открытом виде логины и пароли, поэтому настоятельно рекомендуется защитить ее при помощи шифрования.

Aspia-Remote-Desktop-Install-005.png

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

Aspia-Remote-Desktop-Install-006.png

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

Aspia-Remote-Desktop-Install-007.png

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

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

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

Установка Aspia Host

На удаленном ПК скачиваем MSI-пакет Aspia Host и устанавливаем его. Затем запускаем и переходим к настройкам. Прежде всего указываем адрес маршрутизатора и его публичный ключ:

Aspia-Remote-Desktop-Install-002.png

Настраиваем политики безопасности, тут уже по собственному усмотрению:

Aspia-Remote-Desktop-Install-003.png

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

Все это хорошо, но как быть, если подобных узлов не один десяток, настраивать каждый вручную? Совсем необязательно. Настройте и проверьте один узел, после чего выполните экспорт настроек в файл aspia-host-config.json, в дальнейшем следует расположить данный файл в одной директории с инсталлятором хоста и настройки подхватятся автоматически.

Aspia-Remote-Desktop-Install-008.png

Если нам нужно несколько разных настроек хоста, для разных подразделений, то просто настраиваем один узел как нам надо и экспортируем его настройки.

Установка Aspia Client

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

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

Aspia-Remote-Desktop-Install-009.png

Таким образом мы можем удобно и безопасно подключать к своим узлам третьих лиц не предоставляя им постоянного доступа.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе «Архитектура современных компьютерных сетей» вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Aspia — это OpenSource приложение для удаленного управления компьютерами внутри локальной сети и за её пределами благодаря реализации ID сервера для обхода NAT.

Не нашел на хабре актуальной информации об этом бесплатном аналоге таких программ как TeamViewer, Radmin, AmmyAdmin, AnyDesk, а та информация какая есть — уже давно устарела, поэтому попробую восполнить данную пустоту своим обзором/мануалом.

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

Возможности Aspia на момент написания статьи (версия 2.5.2):

  • Управление рабочим столом компьютера с подключением по IP или ID (через ID сервер). Возможен режим полного управления и режим просмотра.

  • Передача файлов через собственный файловый менеджер.

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

  • Текстовый чат между оператором и подключенным хостом.

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

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

  • Обход NAT с помощью настройки собственного ID сервера и возможностью подключения к удаленным ПК по ID, вместо имени хоста или IP.

  • Возможность балансировки нагрузки на ID сервер с помощью установки нескольких ретрансляторов на разных серверах (подробности ниже).

Кроме всего прочего, Aspia поддерживает Linux Debian (со стороны операторов и ID сервера), Windows (со стороны операторов, удаленных ПК, сервера), MacOS (только для операторов). Версии для Windows упакованы в корректный подписанный MSI, для Linux в Deb пакеты, а MacOS в Dmg. Актуальность пакетов поддерживается разработчиком.

Примечание: со слов разработчика: приложение под Linux для удаленных ПК планируется, но на данный момент в стадии разработки.

Модульность Aspia или компоненты программы

Aspia состоит из нескольких компонентов. Каждый компонент отвечает за реализацию конкретного функционала.

  • Aspia Host (хост) — устанавливается на клиентских ПК, управление которыми необходимо осуществлять. Необходимый компонент, только Windows.

  • Aspia Console (консоль) — необходим для подключения к удаленным ПК и управления Aspia Router. Имеется адресная книга для сохранения списков удаленных ПК. Устанавливается на ПК операторов. Есть версии под Windows, Debian, MacOS.

  • Aspia Client (клиент) — легкая версия клиента для подключения к удаленным ПК. Устанавливается на ПК операторов. Есть версии под Windows, Debian, MacOS.

  • Aspia Router (маршрутизатор) — реализация ID сервера, используется для обхода NAT. Устанавливается на сервер. Есть версии под Windows и Debian.

  • Aspia Relay (ретранслятор) — работает совместно с Router и служит для балансировки нагрузки. При небольших нагрузках возможно использование Router + Relay на одном физическом сервере. Есть версии под Windows и Debian.

Aspia Router и Aspia Relay — схема работы и зачем нужны

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

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

Процесс выбора ретранслятора работает таким образом, что клиенту/консоли и хосту отдаётся адрес ретранслятора, на котором, в данный момент, больше свободных слотов для подключения. Количество свободных слотов (или размер пула), как и фактический внешний адрес ретранслятора настраивается в конфиге ретранслятора.

Какие компоненты Aspia выбрать

Для начала, вам необходимо определиться с тем, нужны ли вам Router и Relay.

  • Если все управляемые ПК расположены внутри периметра вашей локальной сети и/или подключены по VPN, то вам будет достаточно связки Aspia Host + Aspia Console.

  • Если у вас есть ПК, расположенные вне периметра вашей сети без прямого доступа к ним по VPN и выходящие в интернет через NAT, то помимо Aspia Host + Aspia Console, вам потребуется установить и настроить сервера Aspia Router + Aspia Relay.

Между Aspia Console и Aspia Client есть существенные отличия:

  • Aspia Client служит для быстрого подключения к удаленным компьютерам и только для этого.

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

Далее, можно переходить к установке компонентов.

Распространение Aspia Host на пользовательские ПК

Перед тем, как распространить Aspia Host, его необходимо предварительно установить на какой-либо компьютер, настроить и экспортировать настройки в json файл (или взять из %programdata%\aspia\host.json).

Далее, распространить MSI и конфиг на удаленные компьютеры (автоматикой или вручную).

Как распространить, если есть Active Directory

Все компоненты Aspia поставляются в корректно упакованных MSI, поэтому распространять их в доменной среде можно штатными механизмами Active Directory через установку программ в GPO (Конфигурация компьютера/Политики/Конфигурация программ/Установка програм).

Aspia Host все свои настройки хранит в конфигурационном файле, который находится в директории «%programdata%/aspia/host.json», а настраивать его можно как через GUI Aspia Host, так и вручную через конфиг.

Файл конфига можно распространить на ПК пользователей автоматически через GPO Active Directory (Конфигурация компьютера/Настройка/Конфигурация Windows/Файлы).

Как распространить, если нет Active Directory

Если в вашей среде нет Active Directory по каким-либо причинам, то вы можете положить заранее настроенный файл конфига рядом с msi файлом с названием aspia-host-config.json и при установке конфиг подтянется, а Aspia Host запустится сразу с актуальными настройками.

В некоторых случаях, необходимо выполнить настройку в два клика, для этого можно упаковать установщик MSI и конфиг для него в SFX архив (в нём необходимо настроить запуск инсталлятора, копирование конфига в %programdata%/aspia, перезапуск службы), далее отдать его пользователю. О том, как создать SFX архив хорошо расписано, например, на oszone.ru. На этом останавливаться не будем.

Для периодического обновления конфига, если необходимо, можно использовать Batch/PowerShell скрипты для замены конфига по расписанию. Скриптом можно подтягивать конфиг с расшаренной папки, с FTP или с web-сайта.

Обратите внимание, что в директории «%programdata%\aspia\» кроме самого конфига «host.json», при подключении к маршрутизатору, так же имеется файл «host_key.json» — он содержит идентификатор по которому Aspia Router авторизует хост и выдаёт ID. Этот файл копировать на другие компьютеры не нужно.

Распространение Aspia Console и адресной книги

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

Поэтому суть распространения Aspia Console такая же как и для Aspia Host. Только вместо конфига мы настраиваем адресную книгу и распространяем её либо доменом, либо в составе SFX архива, либо скриптами по расписанию.

Примечание: чтобы настроить автоматическое открытие адресной книги, необходимо щелкнуть ПКМ по вкладке с книгой и выбрать «Закрепить вкладку».

Настройка Aspia Router в связке с Aspia Relay

Aspia Router и Aspia Relay следует устанавливать на сервере, который будет всегда доступен для всех хостов/консолей/клиентов. В идеале, на выделенный/виртуальный сервер у какого-либо хостера, либо на сервер внутри локальной сети с пробросом портов, но тут есть нюанс.

Собственно, нюанс

Aspia Router и Aspia Relay между собой могут «общаться» по любым адресам, т.е. как «127.0.0.1» (в случае установки на одном сервере), так и по внутренним адресам вида «192.168.0.1», так и по внешним (если установлены на разных хостингах, например).

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

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

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

Установка заключается в скачивании deb пакета из репозитория автора проекта, его установке, генерировании и настройке конфигурационного файла:

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

Открываем конфиг файл и правим параметры:

sudo nano /etc/aspia/router.json

Подробное описание всех параметров

  • AdminWhiteList — Список IP-адресов администраторов, которым разрешено подключаться к маршрутизатору. Адреса разделяются точкой с запятой. Если список пуст, то разрешены подключения от всех администраторов. Если список содержит элементы, то подключиться могут только администраторы, указанные в этом списке.

  • ClientWhiteList — Список IP-адресов клиентов, которым разрешено подключаться к маршрутизатору. Адреса разделяются точкой с запятой. Если список пуст, то разрешены подключения от всех клиентов. Если список содержит элементы, то подключаться могут только клиенты, указанные в этом списке.

  • HostWhiteList — Список IP-адресов хостов, которым разрешено подключаться к маршрутизатору. Адреса разделяются точкой с запятой. Если список пуст, то разрешены подключения со всех хостов. Если список содержит элементы, то подключаться могут только хосты, указанные в этом списке.

  • RelayWhiteList — Список IP-адресов ретрансляторов (Aspia Relay), которым разрешено подключаться к роутеру. Адреса разделяются точкой с запятой. Если список пуст, то разрешены подключения от всех ретрансляторов. Если список содержит элементы, то подключаться могут только ретрансляторы, указанные в этом списке. Вписываем IP адрес нашего ретранслятора (в случае расположения Aspia Relay на том же сервере — указываем 127.0.0.1).

  • Port — Порт, на котором будут приниматься входящие соединения. Если нет специфичной задачи, то менять не рекомендую.

  • PrivateKey — Приватный ключ шифрования роутера. Если у вас уже есть закрытый ключ, то напишите его здесь. Если это ваша первая установка, не меняйте значения. Ключ генерируется автоматически.

  • ListenInterface — IP адрес сетевого интерфейса, на котором должен работать Aspia Router. Укажите «0.0.0.0», чтобы Aspia Router работал на всех доступных интерфейсах.

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

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

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

Для просмотра журнала работы, используется следующая команда:

sudo journalctl -u aspia-router

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

Установка Aspia Relay не сложнее, чем Aspia Router: скачиваем deb пакет из репозитория автора проекта, устанавливаем, генерируем и настаиваем конфигурационный файл.

wget https://github.com/dchapyshev/aspia/releases/download/v2.5.2/aspia-relay-2.5.2-x86_64.deb
sudo apt install ./aspia-relay-2.5.2-x86_64.deb
sudo aspia_relay --create-config

Открываем конфиг файл и правим параметры:

sudo nano /etc/aspia/relay.json

Подробное описание всех параметров

  • RouterAddress — Адрес Aspia Router, который мы устанавливали ранее. Он может быть равен «localhost» или «127.0.0.1» , если маршрутизатор установлен на том же сервере. В случае же, если маршрутизатор и ретранслятор находятся на разных серверах, указывается тот адрес, по которому ретранслятор сможет подключиться к маршрутизатору.

    В большинстве случаев — это будет белый внешний IP или «127.0.0.1» для локального ретранслятора.

  • RouterPort — Порт маршрутизатора. Если вы не изменяли его при установке Aspia Router, то оставьте значение по-умолчанию.

  • RouterPublicKey — Публичный ключ шифрования роутера, который был сгенерирован при установке Aspia Router (хранится в файле /etc/aspia/router.pub).

  • ListenInterface — IP адрес сетевого интерфейса, на котором должен работать Aspia Relay. Укажите «0.0.0.0», чтобы Aspia Relay работал на всех доступных интерфейсах.

  • PeerAddress — Адрес, который пиры (хосты/консоли/клиенты) получат для подключения к ретранслятору. Тут указываем адрес, по которому хост и клиент/консоль смогут достучаться да нашего сервера. Рекомендую указать DNS имя, например что-то вроде: relay1.aspia.example.com, чтобы в случае переезда ретранслятора не пришлось менять много настроек.

  • PeerPort — Порт, через который пиры будут подключаться к серверу ретрансляции. Если нет специфичной задачи, то менять не рекомендую.

  • PeerIdleTimeout — Время таймаута, в минутах. Если в течение этого времени данные от пиров не поступают, соединение прерывается. Рекомендую, оставить значение по-умолчанию.

  • MaxPeerCount — Максимальное количество одновременных подключений, установленных между узлами (Хост/Консоль/Клиент). По-умолчанию установлено — 100. Тут всё зависит от ваших потребностей (количества администраторов и управляемых машин) и возможностей сервера, на который установлен Relay.

  • StatisticsEnabled — Включение возможности передачи статистики подключений на маршрутизатор. Для просмотра статистики используйте Aspia Console (раздел управления роутером -> Ретрансляторы). Поддерживается два параметра: «true» (включено) или «false» (выключено).

  • StatisticsInterval — Интервал, в секундах, для отправки статистики подключений на маршрутизатор. Поддерживаются значения от «1» до «60».

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

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

Для просмотра журнала работы, используется следующая команда:

$ sudo journalctl -u aspia-relay

Резервное копирование Aspia Router + Aspia Relay

При резервном копировании Aspia Router и Aspia Relay, необходимо сохранять следующие файлы:

/etc/aspia/router.json

Конфигурационный файл маршрутизатора

/etc/aspia/router.pub

Публичный ключ для подключений к маршрутизатору

/var/lib/aspia/router.db3

База данных маршрутизатора

/etc/aspia/relay.json

Конфигурационный файл ретранслятора

Настройка подключения к Aspia Router через Aspia Console

Для подключения консоли к маршрутизатору и получения возможности управления им, необходимо:

  • Открыть консоль, создать книгу и настроить её через меню «Правка -> Свойства адресной книги»

  • На вкладке «Маршрутизатор» поставить галку «Использовать маршрутизатор» и указать адрес маршрутизатора, имя пользователя и пароль (по-умолчанию «admin:admin»)

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

    • На вкладке «Пользователи» обязательно измените пароль по-умолчанию на свой и создайте пользователей, если необходимо. Пользователи используются для подключения операторов к маршрутизатору.

    • На вкладке «Ретрансляторы» вы сможете увидеть подключенный к вашему маршрутизатору ретранслятор и информацию о нем, а если щелкнуть по нему в списке, то еще и список текущих установленных соединений.

    • На вкладке «Хосты» вы сможете увидеть список подключенных хостов и информацию о них.

Заключение

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


Ссылки, которые будут вам полезны:

  • Сайт проекта Aspia: aspia.org

  • Репозиторий с исходниками на Github: github.com/dchapyshev/aspia

  • Канал в телеграм: t.me/aspia_ru

  • Профиль разработчика на хабе: habr.com/ru/users/lentin/

  • Дополнительную информацию по работе с Aspia можно найти в моём блоге: it-35.ru/tags/aspia

Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку

В данной статье постараюсь собирать наиболее часто возникающие вопросы при внедрении и использовании бесплатной программы для удаленного управления компьютерами Aspia.

Стартовый обзор на данный программный комплекс я делал в более ранней статье.

Оглавление:

  • Установка и настройка:
    • Aspia Router, Relay, Host, Console, Client — что и для чего предназначено?
    • Какие минимальные системные требования к работе Aspia Router + Relay?
    • Как установить и настроить Aspia Router + Relay?
    • Как установить Aspia Router + Relay в Docker среде?
    • Какие порты использует программный комплекс Aspia?
    • Как распространить Aspia Host и Aspia Console на ПК?
    • Как настроить синхронизацию адресной книги для Aspia Console?
  • Общие вопросы после установки:
    • Как настроить автоматическое открытие адресной книги в Aspia Console?
    • Как подключиться к компьютеру, находящемуся за NAT?
    • Как выполнить подключение к хосту по ID через консоль с компьютера оператора?
    • Как выполнить подключение к хосту по IP через консоль с компьютера оператора?
    • Какие еще параметры поддерживает Aspia Client при запуске из консоли?
    • Как сделать так, чтобы ID на роутере выдавались в формате XXXX или другом?
  • Обновление и перенос:
    • Что делать, если Aspia Host, Client, Console не могут соединиться с сервером обновлений на Windows 7?
    • Как обновить Aspia Router и Aspia Relay до актуальной версии?
    • Как правильно перенести Aspia Router на другой сервер?
    • Как правильно перенести Aspia Relay на другой сервер?
    • Как работает сервер обновлений Aspia?

Установка и настройка

Aspia Router, Relay, Host, Console, Client — что и для чего предназначено?

Назначение всех модулей Aspia и обзор возможностей я разобрал в статье: Aspia — Бесплатная программа для удаленного управления ПК

Какие минимальные системные требования к работе Aspia Router + Relay?

Официальных минимальных системных требований разработчиком не заявлено, но есть ограничение по версиям операционных систем Linux: Ubuntu 20.04 и Debian 11.

Ограничение вызвано тем, что разработчик собирает Linux-пакеты исключительно под Ubuntu 20.04. В целом, код будет работать и на других версиях Linux, но для этого, вам придется скомпилировать пакет самостоятельно из исходных кодов под свою систему.

Из собственного опыта:

В спокойном состоянии Aspia Router + Relay на одном сервере под управлением Debian 11 потребляют, суммарно, примерно 40 Mb RAM и нагружают процессор на целых 0%. При одновременном подключении к 5-и хостам потребление оперативной памяти не увеличивается, использование процессора, так же, остаётся на нуле.

Из отзывов в Telegram канале: Aspia Router + Aspia Relay могут отлично работать на очень малых ресурсах (RAM: 256 MB + HDD 1 Gb).

Могу порекомендовать отличный VPS хостинг Beget под данную задачу: 1 CPU / 1GB RAM / 10 GB NVME / 250 mbit/sec за 210 рублей в месяц. Есть возможность установить Debian 11, Ubuntu 20.04, Ubuntu 22.04.

Как установить и настроить Aspia Router + Relay?

Данный вопрос подробно разобран в статье: Aspia Router и Aspia Relay. Что это и зачем?

Как установить Aspia Router + Relay в Docker среде?

Aspia Router и Aspia Relay не имеют официального образа для Docker, но один прекрасный человек paprikkafox создал образ, написал инструкцию и предоставил ко всему этому доступ в репозитории на hub.docker.com/r/paprikkafox/aspia-server

Какие порты использует программный комплекс Aspia?

Программным комплексом Aspia по-умолчанию используются следующие порты:

  • Aspia Router: TCP 8060. Используется для входящих подключений ретрансляторов (Aspia Relay) и сигнальных подключений хостов (Aspia Host), в т.ч. получения ID.
  • Aspia Relay: TCP 8070. Используется для входящих подключений хостов (Aspia Host).
  • Aspia Host: TCP 8050. Используется для входящих подключений операторов через клиентов (Aspia Client) и консолей (Aspia Console).

Как распространить Aspia Host и Aspia Console на ПК?

  • Распространение в среде Active Directory через политики описано в статье: Aspia — Распространение Host и Console через GPO в Active Directory
  • Если среды Active Directory нет, то:
    • Aspia Console распространяется вручную, через MSI пакеты с передачей ранее сохраненной адресной книги.
    • Aspia Host распространяется вручную через MSI пакеты. Настройки можно подцепить через импорт/экспорт параметров в настройках, либо при установке расположить файл «aspia-host-config.json» рядом с инсталлятором.

Как настроить синхронизацию адресной книги для Aspia Console?

Адресная книга Aspia Console содержит список идентификаторов/IP адресов компьютеров, его всегда хотелось бы держать в актуальном состоянии. Я предлагаю два решения данной проблемы: через Active Directory и с помощью скрипта, но оба они будут работать по одному принципу:

  1. У вас есть один ответственный оператор, который вносит изменения в книгу
  2. Эталонный файл адресной книги можно расположить в общей шаре, к которой у всех потенциальных «получателей» книги есть доступ на чтение.
  3. У вас есть возможность настроить автоматический запуск скриптов на ПК операторов или ПК находятся в домене Active Directory.

Пример реализации синхронизации через Active Directory, был описан мною ранее в статье Aspia — Распространение Host и Console через GPO в Active Directory

Другой вариант — это обновлять через Batch скрипт, примерно следующего содержания:

@echo off
SET LocalDevice="Z:"
SET AddressBookPath="\\fileserver\Share\Aspia\ContactBooks"
SET AddressBookName="Aspia_book.aab"
net use %LocalDevice% %AddressBookPath%
copy %LocalDevice%\%AddressBookName% %ProgramData%\aspia\%AddressBookName% /Y
net use %LocalDevice% /DELETE
  • «LocalDevice» — буква подключаемого сетевого диска (должна быть свободна в локальной системе)
  • «AddressBookPath» указывается путь до шары с адресной книгой,
  • «AddressBookName» — название файла на сервере.

По итогу: после настройки подобного скрипта на автозапуск в папке «%ProgramData%\aspia\» у вас будет лежать всегда актуальная адресная книга, которую необходимо единожды подключить в консоли с автоматическим открытием после запуска.

В случае с терминальным сервером, рекомендую настроить путь назначения для адресной книги как «%appdata%/aspia/», чтобы у каждого оператора была своя копия книги и попытки записи в неё не вызывали конфликтов блокировок.

Общие вопросы после установки

Как настроить автоматическое открытие адресной книги в Aspia Console?

Для того, чтобы Aspia Console «запомнила» адресную книгу и открывала её при запуске, необходимо кликнуть правой кнопкой мыши по вкладке с адресной книгой и выбрать «Закрепить вкладку».

Как подключиться к компьютеру, находящемуся за NAT?

Найти сервер с белым IP адресом (например в Beget за 210 рублей в месяц) и настроить связку Aspia Router + Aspia Relay. Подробнее о настройке описано в статье: Aspia Router и Aspia Relay. Что это и зачем?

Как выполнить подключение к хосту по ID через консоль с компьютера оператора?

  • Устанавливаем на компьютере оператора Aspia Client
  • Настраиваем подключение Aspia Client к маршрутизатору через меню «Aspia -> Параметры -> Маршрутизатор»
  • Открываем консоль и пишем команду:
"C:\Program Files (x86)\Aspia\Client\aspia_client.exe" --address <ID хоста> --session-type desktop-manage --username <login> --password <password>

Как выполнить подключение к хосту по IP адресу через консоль с компьютера оператора

  • Устанавливаем на компьютере оператора Aspia Client
  • Открываем консоль и пишем команду:
"C:\Program Files (x86)\Aspia\Client\aspia_client.exe" --address <IP адрес> --session-type desktop-manage --username <login> --password <password>

Какие еще параметры поддерживает Aspia Client при запуске из консоли?

Откройте консоль и выполните команду:

«C:\Program Files (x86)\Aspia\Client\aspia_client.exe» —help

Как сделать так, чтобы ID на роутере выдавались в формате XXXX или другом?

Все идентификаторы для хостов выдаются роутером по порядку начиная с ID 1, а работает это с помощью автоинкремента в SQLite базе данных.

Изменить это поведение можно с помощью добавления одной строки в базу данных роутера.

База данных в Aspia Router находится в следующих директориях: «/var/lib/aspia/router.db3» в Linux или «%ProgramData%\aspia\router.db3» в Windows.

Последовательность действий:

  • Останавливаем службу/демона Aspia Router
  • Открываем файл базы данных с помощью любого редактора SQLite (Например HeidiSQL)
  • Выполняем следующий SQL запрос:
    • INSERT INTO «router».»hosts» («id», «key») VALUES (1000, 0x53544152544b4559);
  • Готово. Запускаем службу/демона Aspia Router.

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

Обновление и перенос

Что делать, если Aspia Host, Client, Console не могут соединиться с сервером обновлений на Windows 7?

Данная проблема связана с тем, что Microsoft прекратила официальную поддержку Windows 7 еще 14 января 2020 года, а с этого времени «протухли» некоторые корневые сертификаты, которые выдавали SSL сертификаты для многих сайтов.

Что можно сделать:

  • Обновить корневые сертификаты Windows 7. Как? Можно почитать тут: forum.oszone.net/thread-351166.html
  • Включить игнорирование «протухших» сертификатов в Aspia (только для версии 2.5.2+) путём указания переменной окружения «ASPIA_NO_VERIFY_TLS_PEER» со значением «0».

Как обновить Aspia Router и Aspia Relay до актуальной версии?

При выходе новой версии Aspia Router и Aspia Relay, вам необходимо сделать следующие шаги:

  • Сделать резервные копии следующих файлов:
    • Конфигурационный файл роутера: /etc/aspia/router.json
    • Публичный ключ роутера: /etc/aspia/router.pub
    • База данных роутера: /var/lib/aspia/router.db3
    • Конфигурационный файл ретранслятора: /etc/aspia/relay.json
  • Скачать свежие релизы Aspia Router и Aspia Relay с официального репозитория
  • Далее, вам необходимо последовательно выполнить установку:
    • apt install ./aspia-relay-X.X.X-x86_64.deb
    • apt install ./aspia-router-X.X.X-x86_64.deb
  • Не забываем ознакомиться с README.pdf (находится рядом с релизами в репозитории) на предмет новых параметров конфигов.

Как правильно перенести Aspia Router на другой сервер?

Чтобы корректно «переехать» с одного сервера на другой, необходимо на новом сервере выполнить полноценную установку Aspia Router (Установка Aspia Router на Debian Linux).

После установки, не генерируя новые конфиги, выполнить перенос на новый сервер следующих файлов в тоже расположение:

  • Конфигурационный файл роутера: «/etc/aspia/router.json» в Linux или «%ProgramData%\aspia\router.json» в Windows.
  • Публичный ключ роутера: «/etc/aspia/router.pub» в Linux или %ProgramData%\aspia\router.pub» в Windows.
  • База данных роутера: «/var/lib/aspia/router.db3» в Linux или «%ProgramData%\aspia\router.db3»

Как правильно перенести Aspia Relay на другой сервер?

Чтобы корректно «переехать» с одного сервера на другой, необходимо на новом сервере выполнить полноценную установку Aspia Relay (Установка Aspia Relay на Debian Linux).

После установки, не генерируя новые конфиги, выполнить перенос на новый сервер следующих файлов в тоже расположение:

  • Конфигурационный файл ретранслятора: «/etc/aspia/relay.json» в Linux или «%ProgramData%\aspia\relay.json».

Как работает сервер обновлений Aspia?

Подробности о работе сервера обновлений, его настройке и вариантах Web-интерфейсов я описал в статье: Aspia — Как работает сервер обновлений


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

  • Стартовый обзор Aspia на сайте — внутри ссылки на другие статьи
  • Официальный сайт разработчика Aspia: aspia.org

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows photo gallery 2012
  • Установка windows 11 на несовместимый компьютер через реестр
  • Windows defender for windows server 2012 r2
  • Bitlocker windows 7 ultimate
  • Ноут не видит динамики windows 10