Коротко — потому что «set system proxy» и «TUN/VPN» — это разные вещи. То, что вы видите в браузере (правильный IP/локация сервера), говорит о том, что v2rayN просто поставил системный HTTP/SOCKS‑прокси или настроил браузер на прокси. Это не порождает виртуальный сетевой интерфейс. Чтобы появился TUN‑интерфейс, нужно специальная поддержка со стороны самого v2ray(‑core)/GUI и права/драйверы в ОС.
Почему в вашем случае интерфейс не создаётся (самые частые причины)
- v2rayN обычно управляет «системным прокси» (HTTP/SOCKS), а не TUN‑адаптером. Поэтому интерфейс не создаётся по умолчанию.
- v2ray‑core / xray должны быть собраны/сконфигурированы с поддержкой TUN; не все сборки это делают.
- На Linux требуется модуль TUN (/dev/net/tun) и соответствующие права (CAP_NET_ADMIN/CAP_NET_RAW) или запуск с root; если у процесса нет прав — устройство не создастся.
- На Windows нужен драйвер (Wintun/TAP) и права администратора; многие GUI просто не устанавливают/не используют этот драйвер.
- Неправильная конфигурация «tun» в config.json или служба запускается под пользователем без прав → ошибки при создании интерфейса (проверьте логи).
Как проверить и исправить на Linux (пошагово)
1. Убедитесь, что модуль tun загружен и устройство доступно:
- sudo modprobe tun
- ls -l /dev/net/tun (должен быть файл устройства)
2. Посмотрите логи v2ray/v2rayN (или xray), чтобы увидеть ошибки создания tun:
- sudo journalctl -u v2ray -f (или запускайте бинарь в терминале)
3. Убедитесь, что используемый бинарь поддерживает tun (xray/core с tun). При необходимости поставьте xray-core — у него в последнее время стабильная поддержка TUN.
4. Дайте бинарю права на управление сетевых интерфейсами или запустите как root:
- sudo setcap cap_net_admin,cap_net_raw+ep $(which v2ray) (или путь к xray)
- либо запустите сервис от root (не всегда желательно, но для теста можно)
5. Правильно настройте раздел tun в config.json (примерный вид для xray/v2ray с TUN):
{
"tun": {
"enabled": true,
"device": "v2ray0",
"address": "10.8.0.2/24",
"gateway": "10.8.0.1",
"dns": "8.8.8.8",
"routes": [
{ "match": { "ip": ["0.0.0.0/0"] } }
]
}
}
(Формат может отличаться в зависимости от версии — сверяйтесь с документацией вашей сборки.)
6. После старта проверьте:
- ip link show v2ray0 (или имя, которое вы задали)
- ip addr / ip route
7. Если вы делаете «полный туннель» (весь трафик через v2ray), может потребоваться настройка iptables/NAT для проброса исходящих пакетов или корректный маршрут на шлюз, который вы указали в tun.
8. Для DNS: либо пропишите DNS, который возвращает v2ray, либо перенастройте systemd‑resolved / /etc/resolv.conf на использование того DNS, который вы задали.
Альтернативы и практические советы
- Если v2rayN не умеет/не хочет создавать TUN, используйте клиент, который поддерживает TUN: xray-core + собственная конфигурация, Qv2ray, или специализированные клиенты с TUN (на Windows — клиенты, которые устанавливают Wintun).
- Если вам достаточно «системного прокси» — оставьте set system proxy; это легче, но не даёт прозрачного перехвата всего трафика.
- Если нужен прозрачный проксинг для всех приложений, но v2ray не создаёт интерфейс, можно собрать связку tun2socks/redsocks + iptables, либо использовать VPN‑решение (WireGuard/OpenVPN) поверх прокси — но это сложнее.
Если хотите — пришлите:
- вывод ls -l /dev/net/tun,
- логи v2ray (ошибки при старте),
- версию v2ray/xray, и конфигурацию tun (если есть) —
я помогу разобраться конкретно и подскажу точные команды/исправления.