Настройки
Вы можете управлять настройками AdGuard VPN для Linux из командной строки. Чтобы просмотреть текущую конфигурацию, введите:
adguardvpn-cli config show
Режим VPN: TUN или SOCKS5
Вы можете выбрать, как AdGuard VPN маршрутизирует трафик.
Режим TUN
Требуются права администратора.
Когда включён режим TUN, AdGuard VPN:
- Создаёт виртуальный интерфейс третьего уровня (tunX или utunX, в зависимости от операционной системы).
- Обновляет системную таблицу маршрутизации таким образом, чтобы маршрут по умолчанию (или только для выбранных подсетей, если используются исключения) отправлялся через этот интерфейс.
- Прозрачно захватывает IP-пакеты для всех приложений, соответствующих правилам маршрутизации — конфигурация для каждого приложения не требуется.
- Маршрутизирует DNS-запросы через туннель, чтобы предотвратить утечки (если домен/приложение не исключены).
Чтобы установить туннельный режим по умолчанию, введите:
adguardvpn-cli config set-mode TUN
Режим SOCKS5
Когда включён режим SOCKS5, AdGuard VPN:
- Запускает локальный SOCKS5-прокси, который по умолчанию прослушивает порт 127.0.0.1:1080 (это можно настроить с помощью команд
set-socks-hostиset-socks-port). - Только приложения, явно настроенные на использование этого прокси, будут отправлять свой трафик через AdGuard VPN.
- Самостоятельно не изменяет системные маршруты или DNS. Трафик не перенаправляется автоматически.
Чтобы предотвратить DNS-утечки, используйте клиент, который обрабатывает имена хостов через прокси (часто обозначается как socks5h в таких инструментах, как curl). Если приложение обрабатывает имена хостов локально, системный DNS может обходить прокси.
curl -x socks5://127.0.0.1:1080 https://example.com
curl -x socks5h://127.0.0.1:1080 https://example.com
Чтобы установить режим SOCKS5, введите:
adguardvpn-cli config set-mode SOCKS
AdGuard VPN CLI проксирует TCP и UDP в режиме SOCKS5. Однако некоторые приложения не поддерживают UDP через прокси SOCKS. Например, если вы выберете в браузере SOCKS5, по умолчанию будут использоваться протоколы на основе TCP (HTTP/1.1 и HTTP/2).
Настройки SOCKS
Чтобы установить порт SOCKS, введите:
adguardvpn-cli config set-socks-host <host>
Замените <host> на порт, который хотите использовать. Для использования хоста, отличного от 127.0.0.1, необходимо задать имя пользователя и пароль. Чтобы установить имя пользователя и пароль SOCKS, введите:
adguardvpn-cli config set-socks-username <username>
adguardvpn-cli config set-socks-password <password>
Замените <username> и <password> на желаемые имя пользователя и пароль. Чтобы очистить имя пользователя и пароль SOCKS, введите:
adguardvpn-cli config clear-socks-auth
Чтобы установить порт SOCKS5, введите:
adguardvpn-cli config set-socks-port <port_number>
Замените <port_number> на порт, к которому вы хотите подключиться.
DNS-адрес
Для установки DNS-сервера введите:
adguardvpn-cli config set-dns <server_address>
Замените <server_address> на адрес вашего DNS-сервера. Чтобы использовать этот DNS-сервер на системном уровне, введите:
adguardvpn-cli config set-change-system-dns on
Если установить параметр в значение off, системные DNS-настройки останутся без изменений, и DNS-запросы могут обходить VPN-туннель.
В режиме SOCKS5 команды set-dns и set-change-system-dns неактивны. Поведение DNS определяется исключительно настройками каждого приложения.
Режим маршрутизации VPN-туннеля: NONE, AUTO или SCRIPT
С помощью AdGuard VPN CLI вы можете выбирать, как трафик будет маршрутизироваться через VPN-туннель. Режим маршрутизации управляет системной маршрутизацией, когда интерфейс TUN активен. В режиме SOCKS5/прокси трафик не перенаправляется автоматически; в этом случае приложения должны быть настроены на использование локального SOCKS5-прокси.
NONE — без изменений маршрутизации
AdGuard VPN CLI открывает интерфейс TUN, но не изменяет системную таблицу маршрутизации. Маршрут к туннелю не установлен по умолчанию, поэтому трафик продолжает использовать существующие маршруты операционной системы.
Используйте эту опцию, если хотите управлять маршрутами вручную или с помощью сторонних инструментов.
Чтобы установить режим NONE (без маршрутизации), введите:
adguardvpn-cli config set-tun-routing-mode NONE
AUTO — автоматическая маршрутизация
AdGuard VPN CLI создаёт и поддерживает минимальный набор маршрутов, необходимый для работы туннеля на уровне системы. Типичное поведение включает:
- Установка и настройка маршрутов таким образом, чтобы допустимый трафик (в соответствии с вашими настройками разрешения, запрета и исключения) проходил через интерфейс TUN.
- Сохранение доступа к локальным сетям (обычно подсетям RFC1918) и другим исключениям, чтобы ваша локальная сеть, принтеры и роутеры оставались доступными.
- Реагирование на переподключения и изменения конечных точек путём повторного применения маршрутов по мере необходимости.
Используйте режим AUTO, если вам нужна конфигурация, которая «просто работает», с защитой всей системы и без необходимости настройки для каждого приложения.
Чтобы установить режим AUTO (автоматическая маршрутизация), введите:
adguardvpn-cli config set-tun-routing-mode AUTO
SCRIPT — маршрутизация, определяемая пользователем
AdGuard VPN CLI выполняет пользовательский скрипт, который добавляет или удаляет маршруты при изменении состояния туннеля. Вы полностью контролируете, что проходит через туннель, а что нет.
Чтобы установить режим SCRIPT (пользовательский скрипт маршрутизации), введите:
adguardvpn-cli config set-tun-routing-mode SCRIPT
Чтобы создать скрипт для маршрутизации с соответствующими разрешениями, введите:
adguardvpn-cli config create-routes-script
Используйте SCRIPT, если вам нужно тонкое раздельное туннелирование, корпоративные политики маршрутизации или пользовательские исключения, выходящие за рамки того, что предоставляет AUTO.
Примеры
Пользовательский скрипт для Linux:
#!/bin/sh
INTERFACE="$1"
# Example 1: Route only specific corporate networks through VPN
ip route add 192.168.100.0/24 dev "$INTERFACE" # Corporate network
ip route add 10.0.0.0/8 dev "$INTERFACE" # Private networks
ip route add 172.16.0.0/12 dev "$INTERFACE" # Another private range
# Example 2: Route everything except local networks
# ip route add 0.0.0.0/1 dev "$INTERFACE"
# ip route add 128.0.0.0/1 dev "$INTERFACE"
# ip -6 route add 2000::/3 dev "$INTERFACE" || true
# ip route del 192.168.0.0/16 dev "$INTERFACE" 2>/dev/null || true
# ip route del 10.0.0.0/8 dev "$INTERFACE" 2>/dev/null || true
Пользовательский скрипт для macOS:
#!/bin/sh
INTERFACE="$1"
# Example 1: Route only specific corporate networks through VPN
route add 192.168.100.0/24 -iface "$INTERFACE" # Corporate network
route add 10.0.0.0/8 -iface "$INTERFACE" # Private networks
route add 172.16.0.0/12 -iface "$INTERFACE" # Another private range
# Example 2: Route everything except local networks
# route add 1.0.0.0/8 -iface "$INTERFACE"
# route add 2.0.0.0/7 -iface "$INTERFACE"
# route add 4.0.0.0/6 -iface "$INTERFACE"
# route add 8.0.0.0/5 -iface "$INTERFACE"
# route add 16.0.0.0/4 -iface "$INTERFACE"
# route add 32.0.0.0/3 -iface "$INTERFACE"
# route add 64.0.0.0/2 -iface "$INTERFACE"
# route add 128.0.0.0/1 -iface "$INTERFACE"
# route add -inet6 2000::/3 -iface "$INTERFACE" || true
# route delete 192.168.0.0/16 2>/dev/null || true
# route delete 10.0.0.0/8 2>/dev/null || true
Set protocol
Чтобы установить протокол, используемый AdGuard VPN (HTTP2, QUIC или автоматический выбор между ними), введите одну из команд:
adguardvpn-cli config set-use-quic on
Отчёты о сбоях
Если вы включите автоматические отчёты о сбоях, AdGuard VPN уведомит разработчиков, если что-то пойдёт не так. Чтобы включить настройку, введите:
adguardvpn-cli config send-reports on
Чтобы отключить её, поменяйте значение на off.
Канал обновления
Чтобы изменить канал обновления, введите:
adguardvpn-cli config set-update-channel <channel>
Замените <channel> на release, beta или nightly, в зависимости от ваших предпочтений.
Подсказки
AdGuard VPN может показывать вам подсказки после выполнения команд — например, что делать дальше или как исправить ошибку. Этот параметр включён по умолчанию, но вы можете отключить его, введя:
adguardvpn-cli config set-show-hints off
Чтобы снова включить его, замените off на on.
Подробное логирование
Чтобы сообщить об ошибке, вам может потребоваться поделиться отладочными логами с разработчиками или командой поддержки. Чтобы включить отладочные логи, введите:
adguardvpn-cli config set-debug-logging on
Отключите эту настройку после экспорта логов.
Show notificatoins
Настройка отвечает за появление системных уведомлений при включении/выключении AdGuard VPN или ожидании переподключения, например:
Пользователь включает VPN — появляется уведомление VPN подключён.
Пользователь отключает VPN — появляется уведомление VPN отключён.
Пользователь ждёт, когда VPN-соединение будет восстановлено — появляется уведомление Ожидание соединения.
adguardvpn-cli config set-show-notifications on
Исключения
Есть два режима. В Общем режиме сайты из списка исключений не маршрутизируются через VPN. В Выборочном режиме только сайты из списка исключений маршрутизируются через VPN. Для каждого режима существует отдельный список исключений.
Чтобы узнать, что можно сделать с исключениями, напишите в интерфейсе командной строки: adguardvpn-cli site-exclusions -h.
Вот основные варианты:
add добавляет указанные исключения
Пример:
adguardvpn-cli site-exclusions add, где%DOMAIN_NAME%— это сайт, который вы хотите добавить в исключения.noteЧтобы добавить много исключений, перечислите их через пробелы.
clear очищает список исключений в текущем режиме
Пример:
adguardvpn-cli site-exclusions clearmode показывает текущий режим и позволяет переключаться между ними
Пример:
adguardvpn-cli site-exclusions mode selective(с помощью этой команды включается Выборочный режим)remove удаляет одно или несколько исключений (если они разделены запятыми)
Пример:
adguardvpn-cli site-exclusions remove %DOMAIN_NAME%, где%DOMAIN_NAME%— это сайт, который вы хотите добавить в исключения.show показывает текущий список исключений
Пример:
adguardvpn-cli site-exclusions show