Режим полного туннеля (TUN)¶
Режим TUN создаёт виртуальный сетевой интерфейс и маршрутизирует весь IP-трафик на вашей машине через VPN, а не только приложения, поддерживающие SOCKS5. Это эквивалент традиционного VPN.
Примечание: Режим TUN требует прав root или администратора для создания сетевого интерфейса.
Включение режима TUN¶
Режим TUN включается через секцию [tun] в client.toml, а не через флаг командной строки:
Подключитесь обычной командой (флаг --tun не требуется):
Назначение IP-адреса и шлюза¶
Ваш IP-адрес клиента и IP шлюза назначаются динамически сервером через сообщение VirtualIp. Вам не нужно указывать их в конфигурации. Сервер также предоставляет DNS-серверы для туннельного трафика.
Конфигурация¶
Секция [tun] в client.toml поддерживает следующие поля:
| Поле | По умолчанию | Описание |
|---|---|---|
enabled |
false |
Установите true для включения режима TUN. |
interface_name |
(авто) | Имя TUN-интерфейса. На macOS ОС назначает имя вроде utunN. На Linux по умолчанию rvpn0. Необязательно — omit для использования имени, назначенного ОС. |
mtu |
1420 |
MTU TUN-интерфейса. Меньшие значения уменьшают фрагментацию на каналах с высокой задержкой. |
routes |
["0.0.0.0/0"] |
Маршруты для отправки через туннель. По умолчанию маршрутизируется весь трафик. Укажите отдельные CIDR для раздельной маршрутизации. |
[tun]
enabled = true
# interface_name = "rvpn0" # необязательно, по умолчанию назначается ОС
mtu = 1420
routes = ["0.0.0.0/0"]
Маршрутизация только определённого трафика¶
Вместо маршрутизации всего трафика вы можете маршрутизировать только определённые подсети:
[tun]
enabled = true
routes = [
"91.108.0.0/16", # Telegram
"149.154.0.0/16", # Telegram
"172.217.0.0/16", # Google
]
Раздельное туннелирование в режиме TUN¶
Раздельное туннелирование работает так же, как и в режиме SOCKS5. С builtin_bypass_countries = ["CN"] китайские IP автоматически исключаются из туннельных маршрутов:
Это означает, что внутренний китайский трафик продолжает использовать ваше обычное соединение, а всё остальное проходит через VPN.
Linux: Необходимые разрешения¶
На Linux бинарный файл rvpn должен создавать TUN-интерфейс и изменять таблицы маршрутизации. Либо запустите от root:
Или предоставьте бинарному файлу необходимые capabilities:
macOS: Системное расширение¶
На macOS создание TUN-интерфейса требует повышенных привилегий. Запустите с sudo или настройте LaunchDaemon:
Проверка туннеля¶
Проверьте ваш выходной IP:
Возвращённый IP должен быть IP-адресом вашего VPN-сервера.
Проверьте, что интерфейс поднят (точное имя различается):