Режим TUN
Как включить режим TUN, выдать Throne необходимые права в Windows, Linux и macOS, настроить параметры TUN и решить типичные проблемы с TUN.
В режиме TUN Throne создаёт виртуальный сетевой адаптер и направляет через него трафик всего компьютера. Так охватываются и приложения, игнорирующие настройки прокси, и DNS-запросы. Используйте этот режим, когда системного прокси недостаточно. Сравнение обоих режимов — в разделе Какой режим выбрать.
Включение режима TUN
- Установите флажок
Режим TUN(Tun Mode) в главном окне или выберитеРежим работы(Operation Mode) →Режим TUNв меню трея. - При первом включении Throne запросит права, необходимые для TUN. Подтвердите запрос (см. ниже).
- Запустите профиль, если ни один не запущен.
Пока режим TUN активен, в заголовке окна отображается [Tun]. Если у Throne есть права для TUN, заголовок начинается с [Admin]. Включение и выключение режима TUN перезапускает запущенный профиль.
Режим TUN работает, только пока запущен профиль. Когда вы останавливаете профиль, приложения снова используют ваше обычное подключение. Функции kill switch в Throne нет; см. FAQ. Если включён параметр Программа (Program) → Запомнить последний профиль (Remember last profile), Throne при запуске снова запускает последний профиль и включает режим TUN, если он был включён, когда вы закрыли программу.
Что происходит при первом включении:
- Windows: Throne выводит запрос «Пожалуйста, запустите Throne от имени администратора» (Please run Throne as admin). Нажмите
Да(Yes). Throne закроется и снова запустится от имени администратора с включённым режимом TUN; перед этим Windows покажет запрос контроля учётных записей (UAC). Затем брандмауэр Windows может спросить оThroneCore. Разрешите доступ: если его заблокировать, TUN подключится, но ничего не будет загружаться. - Linux: Throne выводит запрос «Пожалуйста, предоставьте ядру права root» (Please give the core root privileges). Нажмите
Даи введите пароль в системном запросе. После этого Throne выдаст ядру права root. Снова установите флажокРежим TUN. - macOS: Throne выводит запрос «Пожалуйста, предоставьте ядру права root». Нажмите
Да. Откроется Терминал и выполнит командуsudo. Введите пароль в Терминале, затем снова установите флажокРежим TUN.
Права
Режиму TUN нужны системные права, чтобы создать адаптер и изменить маршруты компьютера.
Windows
- Throne должен работать от имени администратора. При первом нажатии на
Режим TUNпрограмма предлагает перезапуститься от имени администратора. - После того как Throne один раз запустился от имени администратора, он запрашивает права администратора при каждом запуске. Чтобы это прекратить, установите флажок
Настройки(Settings) →Основные настройки(Basic Settings) →Безопасность(Security) →Всегда запускать Throne от имени обычного пользователя(Always Start as Standard User). Тогда Throne будет запрашивать права каждый раз, когда вы включаете режим TUN. - Если включить
Программа→Запускать вместе с системой(Start with system), пока Throne работает от имени администратора, Throne будет запускаться с правами администратора при входе в систему, без запроса.
См. также FAQ.
Linux
- Права root нужны только ядру —
ThroneCore. Throne выдаёт их с помощьюpkexec: делает root владельцемThroneCoreи устанавливает бит SUID (chown root:rootиchmod u+s). pkexecвходит в состав polkit. Если его нет, Throne показывает сообщение «Please install "pkexec" first.» (сначала установите pkexec).- Никогда не запускайте сам Throne через
sudo. - Вместо бита SUID можно выдать ядру пять возможностей (capabilities):
CAP_NET_ADMIN,CAP_NET_RAW,CAP_NET_BIND_SERVICE,CAP_SYS_PTRACEиCAP_DAC_READ_SEARCH. Throne считает ядро привилегированным, только если у него есть все пять.
sudo setcap cap_net_admin,cap_net_raw,cap_net_bind_service,cap_sys_ptrace,cap_dac_read_search+ep /path/to/Throne/ThroneCore
Некоторые сторонние пакеты не могут сами изменить ядро. Они показывают сообщение «This installation cannot grant the core privileges by itself.» (эта установка не может сама выдать ядру права) вместе с инструкциями от пакета. См. также FAQ.
macOS
- Перед включением режима TUN переместите
Throne.appв/Applications. Права выдаются через Терминал, и это может не сработать, пока приложение находится в папкеDownloads. - Throne открывает Терминал с командой
sudo chown root:wheel … && sudo chmod u+s …для ядра. Введите там свой пароль, затем снова установите флажокРежим TUN. - Для
sudoнужна учётная запись администратора. Под стандартной учётной записью можно пользоваться системным прокси, но не режимом TUN.
Отключение запросов прав
Настройки → Основные настройки → Безопасность → Откл. привилегированный запрос (Disable Privilege request) запрещает Throne запрашивать права. Тогда Throne запускает режим TUN с теми правами, которые у него есть, а в логе появляется сообщение «Пользователь решил не запрашивать привилегии, некоторые функции могут не работать» (User opted for no privilege req, some features may not work). Используйте этот параметр, только если выдаёте права самостоятельно, например всегда запускаете Throne от имени администратора или задали описанные выше возможности (capabilities).
Параметры TUN
Откройте Настройки → Настройки режима TUN (Tun Settings). Если при нажатии OK режим TUN включён, Throne покажет сообщение «Перезапустите TUN, чтобы изменения вступили в силу» (Restart Tun to take effect). Выключите и снова включите Режим TUN.
| Параметр | По умолчанию | Назначение |
|---|---|---|
Stack |
system в Windows 10 и новее и в Linux, gvisor в macOS |
Как ядро обрабатывает трафик адаптера. system использует сетевой стек операционной системы, gvisor — сетевой стек внутри ядра, а mixed использует system для TCP и gvisor для UDP. В Windows 7 и 8 всегда используется gvisor. |
MTU |
1500 |
Максимальный размер пакета для адаптера. Выберите 1500 или 9000 либо введите значение от 1000 до 10000. Другие значения заменяются на 9000. |
Вкл. IPv6 в TUN (Tun Enable IPv6) |
выкл. | Назначает адаптеру IPv6-адрес, чтобы трафик IPv6 шёл через туннель. |
Строгий маршрут (Strict Route) |
вкл. в Windows 10 и новее, выкл. в остальных системах | В Windows блокирует DNS-запросы, которые пытаются пройти в обход туннеля. См. Защита от утечек DNS в Windows. |
Вкл. TUN-маршрутизацию (Enable Tun Routing) |
выкл. | Выводит из туннеля диапазоны IP и наборы правил geoip-*, которые ваша маршрутизация направляет в direct, чтобы система маршрутизировала их в обход ядра. Большие наборы правил могут вызывать очень высокую нагрузку на процессор в Windows. |
Автоматическое перенаправление (Auto Redirect) |
вкл. | Только Linux. Нужно на новых версиях ядра Linux для стеков system и mixed. Пока параметр включён, этот компьютер нельзя использовать как сетевой шлюз для других устройств. |
L3 Bridge Bypass |
выкл. | Отправляет трафик UDP и ICMP, который ваши правила направляют в direct, прямо через сетевой адаптер, а не открывает для него новое подключение. Это быстрее и сохраняет работу NAT для игр и P2P. TCP идёт обычным прямым путём. Недоступно в Windows на ARM. |
IPv4 CIDR |
172.19.0.1/24 |
IPv4-адрес адаптера. Меняйте его, только если он пересекается с сетью, которой вы пользуетесь. Восстановить адреса по умолчанию (Restore default addresses) сбрасывает оба адреса. |
IPv6 CIDR |
fdfe:dcba:9876::1/96 |
IPv6-адрес адаптера. Используется только вместе с Вкл. IPv6 в TUN. |
Обход частного диапазона (Private Range Bypass) |
вкл. | Диапазоны адресов, трафик к которым идёт прямо на ваш сетевой адаптер, а не через ядро, — по одному в строке. Восстановить диапазоны по умолчанию (Restore default ranges) восстанавливает список. Адреса loopback и широковещательные адреса всегда идут в обход туннеля. |
Диагностика (Troubleshooting) → Сброс (Reset) |
– | Перезапускает процесс ядра. Используйте, если режим TUN не запускается. |
По умолчанию список Обход частного диапазона содержит 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 169.254.0.0/16, 224.0.0.0/4, fc00::/7, fe80::/10 и ff00::/8.
Побочные эффекты
Локальная сеть
Когда Обход частного диапазона включён, компьютер обращается к принтерам, сетевым дискам, странице настроек роутера и другим локальным устройствам напрямую, вне туннеля. Если его выключить, локальный трафик идёт через ядро, и куда он направится, решают ваши правила маршрутизации. Если правило маршрутизации направляет частный диапазон в прокси или блокирует его, этот диапазон остаётся в туннеле, чтобы правило срабатывало.
Мобильный хот-спот и общий доступ к подключению в Windows
Если мобильный хот-спот Windows или общий доступ к подключению к интернету (Internet Connection Sharing) раздаёт ваш обычный сетевой адаптер, Windows игнорирует настройки, которые не пускают собственные подключения Throne в туннель. Тогда режим TUN перестаёт работать, и Throne предупреждает: «IPv4 forwarding breaks Tun mode» (переадресация IPv4 нарушает работу режима TUN). Вместо этого раздавайте через хот-спот подключение адаптера throne-tun: в параметрах мобильного хот-спота Windows в поле «Share my internet connection from» (с какого подключения раздавать интернет) выберите throne-tun. Или выключайте хот-спот, пока пользуетесь режимом TUN. См. Рецепты.
Docker, WSL и виртуальные машины
У контейнеров и виртуальных машин есть собственные виртуальные сети. Трафик между ними и вашим компьютером использует частные адреса, поэтому обычно идёт в обход туннеля. Если такая сеть использует диапазон, которого нет в списке Обход частного диапазона, добавьте его. В Linux помните, что Автоматическое перенаправление (Auto Redirect) не даёт компьютеру работать сетевым шлюзом. См. Рецепты.
Другие VPN
Два VPN на одном компьютере конкурируют за маршруты и DNS. Выключайте другие VPN-приложения, пока включён режим TUN. Как одновременно пользоваться корпоративной сетью, см. на странице Рецепты.
IPv6
Вкл. IPv6 в TUN (Tun Enable IPv6) по умолчанию выключен. Включайте его, только если ваш сервер поддерживает IPv6. Иначе возможны проблемы с подключением.
DNS
В режиме TUN DNS-запросы всех приложений попадают в Throne. Тест на утечку DNS всё равно может показывать DNS-сервер вашего интернет-провайдера для сайтов, которые ваши правила направляют напрямую. Это ожидаемо; см. DNS.
Устранение неполадок
Откройте вкладку Логи (Logs) и найдите ошибки, возникающие при запуске режима TUN. Общие шаги описаны на странице Устранение неполадок.
Windows
Подключено, но ничего не загружается. Брандмауэр Windows может блокировать ThroneCore. Windows спрашивает об этом только один раз — при первом включении режима TUN. Если вы тогда заблокировали доступ, разрешите ThroneCore в Безопасность Windows (Windows Security) → Брандмауэр и безопасность сети (Firewall & network protection) → Разрешить работу с приложением через брандмауэр (Allow an app through firewall) для частных и общественных сетей.
Антивирус. Некоторые антивирусы, например Avast и ESET, блокируют адаптер или ядро. Добавьте папку Throne в исключения.
Другой стек. В окне Настройки TUN (Tun Settings) установите для Stack значение gvisor и попробуйте снова.
«Строгая маршрутизация недоступна» (Strict routing unavailable). Windows не удалось включить строгую маршрутизацию. Снимите флажок Строгий маршрут (Strict Route) в окне Настройки TUN и снова запустите профиль. Без него DNS-запросы могут утекать; см. Защита от утечек DNS в Windows.
«Некорректное поведение устройства TUN» (Tun device misbehaving). Нажмите Сброс (Reset), чтобы перезапустить ядро, затем снова запустите профиль.
После сбоя или принудительного завершения. Виртуальный адаптер может остаться в системе. Перезагрузите Windows.
Режим TUN очень долго запускается. При запуске режима TUN Throne очищает DNS-кэш Windows. Очень большой файл HOSTS, например список блокировки рекламы на 100 000 записей, сильно замедляет эту операцию. Уменьшите файл HOSTS.
Мобильный хот-спот. См. Мобильный хот-спот и общий доступ к подключению.
Linux
«Please install "pkexec" first.» (сначала установите pkexec). Установите polkit с помощью менеджера пакетов или задайте возможности (capabilities), описанные в разделе Права в Linux.
«file exists» при запуске режима TUN. Эта ошибка возникала из-за параметра Автоматическое перенаправление (Auto Redirect) и была исправлена в версии 1.2.2. Если вы всё ещё видите её, выключите Автоматическое перенаправление и установите для Stack значение gvisor.
Нет DNS при использовании systemd-resolved. Если в /etc/systemd/resolved.conf параметр DNSOverTLS включён для всех интерфейсов, режим TUN перестаёт работать. Выключите его там или выключите его для адаптера Throne, пока адаптер существует:
sudo resolvectl dnsovertls throne-tun no
Пакеты из AUR, Nix и других репозиториев. Их поддерживает сообщество. Если в них режим TUN не работает, попробуйте официальную сборку; см. FAQ.
Throne запущен через sudo. Закройте его и запустите от имени обычного пользователя. Права root нужны только ядру.
macOS
macOS сообщает, что приложение повреждено или не может быть открыто. Снимите атрибут карантина:
xattr -d com.apple.quarantine /Applications/Throne.app
Запрос прав завершается ошибкой. Переместите Throne.app в /Applications, запустите его оттуда и снова установите флажок Режим TUN.
Стандартная учётная запись. Для режима TUN нужна учётная запись администратора. Пользуйтесь системным прокси или войдите под учётной записью администратора.
О дополнительной защите от утечек DNS в Windows см. Защита от утечек DNS в Windows.
На Android
В режиме VPN Throne для Android работает так же, как режим TUN. Его параметры находятся в Настройки (Settings) → TUN / VPN. Там по умолчанию используется стек gVisor, MTU по умолчанию — 9000, а строгий маршрут включён всегда. См. Режимы VPN и прокси.