TCP‑прокси в nginx: практическая настройка на личном VPS в 2026 году
TCP‑прокси в nginx: как поднять на личном VPS в 2026 году. Практическая инструкция для SANSARA: готовый сервер за пару кликов, настройка stream‑блоков, работа на iPhone, Android, Windows, macOS. Обзор ошибок и FAQ.
Чтобы организовать TCP‑прокси на вашем личном VPS, достаточно включить модуль ngx_stream_core_module в nginx и описать правила в блоке stream. Если вы используете SANSARA, то сервер уже готов: регистрируетесь, получаете данные в кабинете, импортируете в клиент — терминал и ручная установка панелей не нужны. Начинаете с выбора локации из 9+ стран и заканчиваете рабочим туннелем за несколько минут.
Коротко:
- TCP‑прокси в nginx работает на транспортном уровне (TCP), а не HTTP, и подходит для баз данных, игровых серверов, SSH‑туннелей и других протоколов поверх TCP.
- В SANSARA вы получаете личный VPS с предустановленным ПО; вам не нужно подключаться по SSH и собирать nginx из исходников.
- Доступны локации в Европе и других регионах — вы выбираете узел ближе к себе или к целевым сервисам.
- Канал выделенный: ваш трафик идёт через отдельный сервер, а не через общий перегруженный пул.
- Подключение одинаково просто на iPhone, Android, Windows и macOS — импортируете конфигурацию из кабинета или через Telegram‑бота SANSARA.
- Настройка прокси сводится к правке одного конфигурационного файла и перезагрузке nginx.
Что это и кому подходит
TCP‑прокси — это сервер, который принимает входящие TCP‑соединения и перенаправляет их на другой сервер, не разбирая содержимое пакетов. В отличие от HTTP‑прокси, он не анализирует заголовки и работает на уровне транспортного протокола.
Примеры использования:
- Проброс портов для игрового сервера (Minecraft, Rust и другие).
- Доступ к базе данных (PostgreSQL, MySQL) через промежуточный узел.
- Организация защищённого канала для удалённого доступа к внутренним сервисам.
- Балансировка TCP‑трафика между несколькими бэкендами.
В nginx за это отвечает модуль ngx_stream_core_module. Он позволяет описывать правила перенаправления в блоке stream, похожем на привычный http, но для TCP/UDP.
Если вы не хотите тратить время на настройку ОС, компиляцию nginx с нужными флагами и отладку фаервола, проще взять готовый личный VPS в SANSARA. Вы получаете сервер с уже настроенным ПО, а ваша задача — добавить несколько строк конфигурации.
Как настроить по шагам (с личным VPS SANSARA)
Шаг 1. Получите личный VPS в SANSARA
- 01Зарегистрируйтесь в SANSARA.
- 02В кабинете выберите локацию (доступно 9+ стран, включая европейские узлы).
- 03Активируйте сервер — данные для подключения появятся в личном кабинете.
- 04Импортируйте конфигурацию в клиент на своём устройстве (подробнее в разделе про устройства).
На этом этапе у вас уже есть работающий личный сервер с публичным IP. Дальше всё сводится к настройке nginx.
Шаг 2. Проверьте, что nginx собран с потоковым модулем
Обычно в дистрибутивах типа Debian/Ubuntu модуль ngx_stream_core_module включён по умолчанию. Убедиться можно так:
`bash nginx -V 2>&1 | grep -o with-stream `
Если вы видите with-stream, всё в порядке. Если нет — потребуется пересборка nginx с флагом --with-stream. В SANSARA, как правило, модуль уже присутствует.
Шаг 3. Настройте блок stream в nginx
Основная конфигурация TCP‑прокси пишется в файле, который подключается в секции stream (не в http).
- 01Откройте основной конфиг nginx (например, /etc/nginx/nginx.conf).
- 02Убедитесь, что в самом начале есть строчка вида:
`nginx load_module modules/ngx_stream_module.so; `
(актуально для некоторых версий; если её нет и всё работает — не трогайте).
- 01Добавьте блок stream на верхнем уровне (вне http):
`nginx stream { upstream backend_tcp { server 192.0.2.10:25565; # ваш бэкенд: IP и порт }
server { listen 25565; # порт, который слушает прокси proxy_pass backend_tcp; proxy_responses 0; # для чистого TCP обычно 0 proxy_timeout 3600s; error_log /var/log/nginx/tcp_error.log; } } `
Здесь:
- upstream backend_tcp — описание сервера, куда проксируется трафик.
- server внутри stream — описание самого прокси: порт listen и proxy_pass на апстрим.
- 01Сохраните файл и проверьте конфигурацию:
`bash nginx -t `
- 01Если тест прошёл, перезагрузите nginx:
`bash systemctl reload nginx `
Теперь входящие соединения на порт 25565 вашего сервера будут перенаправляться на указанный бэкенд.
Шаг 4. Настройте фаервол
Убедитесь, что порт, указанный в listen, открыт в фаерволе. Например, для ufw:
`bash ufw allow 25565/tcp `
После этого TCP‑прокси готов к работе.
Пример конфигурации для нескольких бэкендов
Если нужно распределять нагрузку между несколькими серверами, используйте upstream с несколькими server:
`nginx stream { upstream game_servers { server 192.0.2.10:25565; server 192.0.2.11:25565; }
server { listen 25565; proxy_pass game_servers; proxy_timeout 30s; } } `
Nginx будет использовать round‑robin по умолчанию.
Устройства: iPhone, Android, Windows, macOS
После настройки TCP‑прокси на вашем личном VPS в SANSARA нужно подключиться к нему с устройств.
Общий принцип
В SANSARA вы получаете готовую конфигурацию для клиента. В зависимости от устройства:
- В кабинете есть инструкции и файлы для импорта.
- Telegram‑бот SANSARA помогает быстро получить настройки для вашего устройства.
Вы не вводите параметры вручную — импортируете профиль, и клиент подключается к вашему выделенному узлу.
iPhone и Android
- 01Установите клиент из официального магазина приложений.
- 02В SANSARA откройте кабинет или напишите Telegram‑боту SANSARA.
- 03Получите конфигурацию (файл или ссылку для импорта).
- 04Импортируйте её в клиент — подключение активируется автоматически.
После этого трафик с телефона идёт через ваш личный сервер, где работает настроенный TCP‑прокси.
Windows
- 01Скачайте клиент с официального сайта.
- 02Запустите, откройте настройки импорта.
- 03Используйте конфигурацию из кабинета SANSARA или от Telegram‑бота SANSARA.
- 04Активируйте профиль — клиент подключится к вашему VPS.
В фоне клиент поддерживает соединение, и все TCP‑подключения проходят через ваш прокси.
macOS
Процесс аналогичен Windows:
- Установите клиент.
- Импортируйте конфигурацию из SANSARA.
- Включите подключение.
Система будет использовать ваш защищённый канал для выхода в сеть.
Частые ошибки и как их избежать
- 01Конфигурация в блоке http вместо stream
Если вы пишете server с proxy_pass внутри http, nginx будет ожидать HTTP‑трафик. Для чистого TCP используйте только stream.
- 01Порт закрыт фаерволом
После настройки listen проверьте, что порт открыт в ufw, iptables или облачном фаерволе провайдера.
- 01Модуль stream не загружен
Убедитесь, что nginx -V показывает with-stream. Если нет — пересобирайте nginx или используйте сборку с модулем.
- 01Ошибки прав доступа на сокеты
Если nginx работает от пользователя www-data или nginx, а бэкенд слушает на привилегированном порту (<1024), возможны проблемы. Либо запустите бэкенд на высоком порту, либо настройте права/системные сервисы правильно.
- 01Неправильный IP бэкенда
Указывайте внутренний IP, если бэкенд на том же сервере (например, 127.0.0.1), или внешний, если сервер другой. Не путайте локальный и публичный адреса.
- 01Клиент не использует прокси
Убедитесь, что в настройках клиента выбран правильный профиль и он активен. На устройствах иногда нужно дополнительно разрешить использование туннеля в настройках системы.
FAQ
Чем TCP‑прокси в nginx отличается от обычного HTTP‑прокси?+
HTTP‑прокси понимает заголовки HTTP и может менять их, делать балансировку на основе URL и т.д. TCP‑прокси работает на уровне TCP, не разбирая содержимое, и подходит для любых протоколов поверх TCP (базы данных, игры, SSH).
Нужно ли мне знать командную строку, чтобы настроить прокси на VPS в SANSARA?+
Минимально — да, чтобы отредактировать конфиг nginx и перезагрузить его. Но сам сервер уже установлен и настроен, вам не нужно компилировать ПО или настраивать сеть с нуля.
Можно ли проксировать UDP через nginx?+
Да, если nginx собран с модулем stream и поддержкой UDP. В конфигурации указывается listen 53 udp; и proxy_pass на UDP‑бэкенд. Но чаще для UDP используют специализированные решения.
Сколько бэкендов можно добавить в один upstream?+
Технических ограничений почти нет. Вы можете перечислять десятки серверов. Nginx будет распределять нагрузку по round‑robin, если не настроены веса или другие методы.
Что делать, если после настройки соединение обрывается по таймауту?+
Проверьте: открыт ли порт на VPS, доступен ли бэкенд с сервера (telnet бэкенд порт), правильно ли указан IP и порт в proxy_pass. Также посмотрите логи nginx (error_log из stream‑блока).
Сравнение подходов к проксированию TCP‑трафика
| Подход | Плюсы | Минусы |
|---|---|---|
| nginx stream‑модуль | Гибкость, балансировка, мониторинг, стабильность | Требует настройки конфига, понимания nginx |
| SSH туннель (-L/-D) | Простота, не нужен отдельный сервер | Менее стабилен при обрывах, нет балансировки |
| Специализированный прокси (haproxy и др.) | Высокая производительность, богатые функции | Дополнительное ПО, больше точек отказа |
Для большинства сценариев на личном VPS в SANSARA достаточно nginx: он уже стоит, конфигурация понятна, а возможностей хватает для персонального использования и небольших проектов.
Итог
- Включите модуль ngx_stream_core_module в nginx и настройте блок stream для перенаправления TCP‑трафика на нужный бэкенд.
- Используйте личный VPS в SANSARA, чтобы избежать ручной установки ОС и панелей — сервер готов к работе после активации в кабинете.
- Откройте порт прокси в фаерволе и проверяйте доступность бэкенда с сервера, чтобы исключить сетевые проблемы.
- На всех устройствах (iPhone, Android, Windows, macOS) импортируйте конфигурацию из кабинета SANSARA или через Telegram‑бота SANSARA для быстрого подключения.
- Следите за логами nginx и корректностью конфигурации — большинство ошибок связаны с опечатками в IP или портах и закрытыми портами.
С такой настройкой вы получите стабильный TCP‑прокси на своём выделенном узле, через который можно безопасно работать с любыми сервисами поверх TCP.
Ещё по теме
Читайте также
CTA · SANSARA
Личный VPS — без терминала и очередей
Регистрация, импорт профиля и стабильный канал на телефон и компьютер. Тот же принцип, о котором мы пишем в блоге — на практике.