TCP vs UDP для туннелей: что выбрать
Три типа туннеля Selfunnel — HTTP/HTTPS, RAW TCP, RAW UDP. Как не ошибиться и не мучить сам себя.
Секунда теории — без формул
TCP — «убедись, что дошло»: пакеты нумеруются, потерянные пересылаются, порядок восстанавливается. Надёжно, чуть медленнее. Так работают браузеры, SSH, RDP, почти все серверные приложения.
UDP — «отправляй и не жди»: скорость и минимальная задержка важнее стопроцентной доставки. Так работают игры и голос (Minecraft Bedrock, Valheim, TeamSpeak) и часто даже NAS-потоки.
HTTP/HTTPS-туннель — это не про протокол соединения внизу, а про «умный» режим: маршрутизация по доменному имени, автоматический SSL на нашем сервере, адрес вида nas.selfunnel.ru. Подходит для сервисов, куда заходят браузером.
Шпаргалка: что выбирать для чего
| Что открываешь | Тип туннеля |
|---|---|
| Сайт, админка, API (Jellyfin, HAlo, Home Assistant, панели) | HTTP — если сервис сам без SSL |
| Сервис со своим self-signed SSL (Proxmox, DSM, роутеры) | HTTPS — TLS end-to-end, разбор кейса |
| SSH, RDP, базы данных, Docker Registry | RAW TCP |
| Minecraft Bedrock, Valheim, Palworld, Rust, Factorio, TeamSpeak | RAW UDP |
| Minecraft Java, Terraria, CS 1.6 (игровая часть) | RAW TCP (+ UDP для Source-движков) |
Почему игры нельзя пускать через HTTP-туннель
Игровой клиент не умеет «разговаривать» HTTP-заголовками — он отправляет сырые пакеты своего протокола. Если такой поток завернуть в HTTP-туннель, сервер попытается распарсить его как HTTP-запрос и не найдёт там ничего осмысленного: клиент виснет на «подключение к серверу». Собственно поэтому в Selfunnel для игровых пресетов тип всегда RAW — вопрос не в удобстве, а в физике протокола.
Частные случаи, на которых спотыкаются
- Jellyfin/Emby: основная картина по HTTP, а Live TV/медиаприёмник кидает UDP-обнаружение — но для «смотреть извне» достаточно HTTP-туннеля.
- Home Assistant: HTTP-туннель + WebSocket внутри — работает без отдельных настроек (WebSocket всё равно TCP).
- Игры на Source-движке (CS 1.6, Garry's Mod): отчёты Steam-сервера по UDP на том же порте — открывай оба RAW-туннеля на 27015 (TCP для RCON, UDP для игры), если нужен перечень в браузере-сервер-листе.
- Valheim: 2456 (игра) обязателен; 2457/2458 — дополнительные (запросы статуса и crossplay).
Частые вопросы
Канал между агентом и сервером Selfunnel шифрован и для RAW-туннелей — UDP-поток упаковывается в защищённую сессию, наружу светится только внешний порт.
Нет смысла: это два разных соединения, у HTTP — адрес-домен, у RAW — номер порта. Для каждого нового типа — свой туннель.