TUN
tun: enable: true stack: mips auto-route: true auto-redirect: true auto-detect-interface: true # dns-mode: hijack dns-hijack: - any:53 - tcp://any:53 device: utun0 mtu: 9000 strict-route: true gso: true gso-max-size: 65536 inet6-address: [fdfe:dcba:9876::1/126] udp-timeout: 300 iproute2-table-index: 2022 iproute2-rule-index: 9000 endpoint-independent-nat: false route-address-set: - ruleset-1 route-exclude-address-set: - ruleset-2 route-address: - 0.0.0.0/1 - 128.0.0.0/1 - "::/1" - "8000::/1" route-exclude-address: - 192.168.0.0/16 - fc00::/7 include-interface: - eth0 exclude-interface: - eth1 include-uid: - 0 include-uid-range: - 1000:9999 exclude-uid: - 1000 exclude-uid-range: - 1000:9999 include-mac-address: - 00:11:22:33:44:55 exclude-mac-address: - 00:11:22:33:44:66 include-android-user: - 0 - 10 include-package: - com.android.chrome exclude-package: - com.android.captiveportallogin
## Устаревший синтаксис inet4-route-address: - 0.0.0.0/1 - 128.0.0.0/1 inet6-route-address: - "::/1" - "8000::/1" inet4-route-exclude-address: - 192.168.0.0/16 inet6-route-exclude-address: - fc00::/7Включение tun
Стек режима tun, если нет проблем с использованием, рекомендуется использовать стек mips, по умолчанию используется mips
Возможные значения: system/gvisor/mixed/mips
Указывает имя TUN-устройства, на устройствах MacOS можно использовать только имена сетевых карт, начинающиеся с utun
auto-route
Заголовок раздела «auto-route»Автоматическая настройка глобальной маршрутизации, автоматически направляет весь глобальный трафик в TUN-устройство
auto-redirect
Заголовок раздела «auto-redirect»Поддерживается только на Linux, автоматически настраивает iptables/nftables для перенаправления TCP-соединений, требует включенного auto-route
На Android:
Перенаправляет только локальные IPv4-соединения. Для совместного использования VPN-соединения через точку доступа или ретранслятор используйте VPNHotspot.
На Linux:
auto-redirect с auto-route теперь может работать на роутерах без вмешательства, как и ожидалось.
auto-detect-interface
Заголовок раздела «auto-detect-interface»Автоматически определяет интерфейс для исходящего трафика. На устройствах с несколькими сетевыми картами, подключенными одновременно, рекомендуется вручную указать исходящую сетевую карту
dns-mode
Заголовок раздела «dns-mode»Способ настройки системного DNS
disabledне настраивает системный DNSnativeустанавливает адрес tun в качестве системного DNShijackдополнительно перехватывает трафик на порт 53 других интерфейсов в дополнение кnative(требуетсяstrict-routeв Windows иauto-redirectв Linux)- Если оставить пустым, сохраняется прежнее поведение: Windows и Linux по умолчанию используют
hijackпри включенномauto-route, иначеdisabled; macOS по умолчанию используетdisabled
dns-hijack
Заголовок раздела «dns-hijack»Перехват DNS, направляет соответствующие соединения во внутренний модуль dns, если протокол не указан, то используется udp://
strict-route
Заголовок раздела «strict-route»Применяет строгие правила маршрутизации при включенном auto-route
На Linux:
- Делает недоступными неподдерживаемые сети
- Маршрутизирует все соединения через tun
Это предотвращает утечку адресов и обеспечивает работу перехвата DNS на Android.
На Windows:
- Добавляет правила брандмауэра для блокирования поведения разрешения DNS для мульти-хост систем Windows, которое может вызвать утечку DNS
Это может привести к тому, что некоторые приложения (например, VirtualBox) не будут работать должным образом в определенных ситуациях.
Максимальная единица передачи, влияет на скорость в экстремальных условиях. Обычным пользователям достаточно значения по умолчанию.
Включает Generic Segmentation Offload, поддерживается только на Linux
gso-max-size
Заголовок раздела «gso-max-size»Максимальная длина блоков данных
inet6-address
Заголовок раздела «inet6-address»Указывает IPv6-адрес для tun
udp-timeout
Заголовок раздела «udp-timeout»Время истечения UDP NAT в секундах, по умолчанию 300 (5 минут)
iproute2-table-index
Заголовок раздела «iproute2-table-index»Индекс таблицы маршрутизации iproute2, создаваемой auto-route, по умолчанию используется 2022
iproute2-rule-index
Заголовок раздела «iproute2-rule-index»Начальный индекс правил iproute2, создаваемых auto-route, по умолчанию используется 9000
endpoint-independent-nat
Заголовок раздела «endpoint-independent-nat»Включает NAT, независимый от конечной точки. Производительность может немного снизиться, поэтому не рекомендуется включать, если в этом нет необходимости.
congestion-controller
Заголовок раздела «congestion-controller»Алгоритм управления перегрузкой TCP. Доступные значения: cubic, reno, bbr, bbr3. Значение по умолчанию — cubic. Действует только при использовании стека mips.
route-address-set
Заголовок раздела «route-address-set»Добавляет правила целевых IP CIDR из указанного набора правил в брандмауэр, несоответствующий трафик обходит маршрутизацию.
Поддерживается только на Linux и требует nftables, а также включенных auto-route и auto-redirect.
route-exclude-address-set
Заголовок раздела «route-exclude-address-set»Добавляет правила целевых IP CIDR из указанного набора правил в брандмауэр, соответствующий трафик обходит маршрутизацию.
Поддерживается только на Linux и требует nftables, а также включенных auto-route и auto-redirect.
route-address
Заголовок раздела «route-address»Маршрутизирует пользовательские сегменты сети вместо маршрута по умолчанию при включенном auto-route. Обычно не требует настройки.
route-exclude-address
Заголовок раздела «route-exclude-address»Исключает пользовательские сегменты сети при включенном auto-route
include-interface
Заголовок раздела «include-interface»Ограничивает маршрутизируемые интерфейсы, по умолчанию без ограничений. Конфликтует с exclude-interface, не может быть настроено одновременно.
exclude-interface
Заголовок раздела «exclude-interface»Исключает интерфейсы из маршрутизации. Конфликтует с include-interface, не может быть настроено одновременно.
include-uid
Заголовок раздела «include-uid»Включает пользователей, чей трафик будет маршрутизирован через Tun. Пользователи, не указанные в настройке, не будут маршрутизированы через Tun. По умолчанию без ограничений.
include-uid-range
Заголовок раздела «include-uid-range»Включает диапазоны пользователей, чей трафик будет маршрутизирован через Tun. Пользователи, не указанные в настройке, не будут маршрутизированы через Tun.
exclude-uid
Заголовок раздела «exclude-uid»Исключает пользователей, чей трафик не будет маршрутизирован через Tun.
exclude-uid-range
Заголовок раздела «exclude-uid-range»Исключает диапазоны пользователей, чей трафик не будет маршрутизирован через Tun.
include-mac-address
Заголовок раздела «include-mac-address»Ограничивает маршрутизацию устройств локальной сети по MAC-адресу источника. Поддерживается только в Linux и требует включенных auto-route и auto-redirect.
exclude-mac-address
Заголовок раздела «exclude-mac-address»Исключает трафик устройств локальной сети по MAC-адресу источника. Поддерживается только в Linux и требует включенных auto-route и auto-redirect.
include-android-user
Заголовок раздела «include-android-user»Включает пользователей Android, чей трафик будет маршрутизирован через Tun. Пользователи, не указанные в настройке, не будут маршрутизированы через Tun.
| Частые пользователи | ID |
|---|---|
| Владелец устройства | 0 |
| Второй профиль | 10 |
| Многоэкземплярные приложения | 999 |
include-package
Заголовок раздела «include-package»Включает пакеты приложений Android, чей трафик будет маршрутизирован через Tun. Пакеты приложений, не указанные в настройке, не будут маршрутизированы через Tun.
exclude-package
Заголовок раздела «exclude-package»Исключает пакеты приложений Android, чей трафик не будет маршрутизирован через Tun.
Устаревший синтаксис, скоро будет удален
Заголовок раздела «Устаревший синтаксис, скоро будет удален»inet4-route-address
Заголовок раздела «inet4-route-address»Маршрутизирует пользовательские сегменты сети вместо маршрута по умолчанию при включенном auto-route. Обычно не требует настройки.
inet6-route-address
Заголовок раздела «inet6-route-address»Маршрутизирует пользовательские сегменты сети вместо маршрута по умолчанию при включенном auto-route. Обычно не требует настройки.
inet4-route-exclude-address
Заголовок раздела «inet4-route-exclude-address»Исключает пользовательские сегменты сети при включенном auto-route
inet6-route-exclude-address
Заголовок раздела «inet6-route-exclude-address»Исключает пользовательские сегменты сети при включенном auto-route
Тестирование производительности сетевых стеков Tun
Заголовок раздела «Тестирование производительности сетевых стеков Tun»Сверху вниз: system/gvisor/lwip, только для справки, платформа - linux, Windows и MacOS могут иметь различия
