
Домашний сервер без белого IP: безопасная публикация сервисов через VPS, обратный SSH-туннель и Caddy
Andrei2025 44 минуты назад Домашний сервер без белого IP: безопасная публикация сервисов через VPS, обратный SSH-туннель и Caddy Простой 17 мин 1.2K DevOps * Linux * Настройка Linux * Кейс Из песочницы АннотацияЕсли...
<5 — 2026'da uzaya kaç SpaceX Starship fırlatması ulaşacak?
Вот важная новость с фронта ИИ: Andrei2025 44 минуты назад Домашний сервер без белого IP: безопасная публикация сервисов через VPS, обратный SSH-туннель и Caddy Простой 17 мин 1. 2K DevOps * Linux * Настройка Linux * Кейс Из песочницы АннотацияЕсли домашний сервер находится за NAT или CGNAT, не имеет белого IP-адреса, а проброс портов на роутере невозможен или нежелателен, сервисы всё равно можно опубликовать безопасно. Один из практичных вариантов — использовать VPS как публичную точку входа, а домашний сервер подключать к нему через обратный SSH-туннель.
В такой схеме домашний сервер сам инициирует исходящее SSH-соединение к VPS. На стороне VPS создаётся локальный TCP endpoint, который через SSH-туннель ведёт к сервису на домашнем сервере. Внешний HTTPS-трафик принимает Caddy, после чего проксирует запросы на локальный адрес туннеля.
Технические детали
Базовая схема:Пользователь │ │ HTTPS :443 ▼ VPS с публичным IP │ │ Caddy reverse proxy / TLS termination ▼ 127. 1:11000 на VPS │ │ Reverse SSH tunnel ▼ Домашний сервер │ ▼ Nextcloud / Home Assistant / Jellyfin / code-server / другой сервис Главный принцип безопасности: backend-сервисы не публикуются в интернет прямыми портами. Наружу доступны только 80/tcp, 443/tcp и, при необходимости, SSH-порт для администрирования VPS.
Все прикладные сервисы остаются доступными только через loopback на VPS и reverse proxy. Что получится в результатеПосле настройки будет получена следующая схема:домен вида cloud. com;HTTPS через Caddy;домашний сервис за NAT/CGNAT;reverse SSH tunnel через VPS;автозапуск туннеля через systemd;автоматическое восстановление соединения через autossh;backend-порты, закрытые от прямого доступа из интернета.
Итоговый маршрут запроса:Пользователь → HTTPS → VPS/Caddy → 127. 1 на VPS → SSH-туннель → домашний сервер 2. Цель и границы решенияВ статье рассматривается практическая конфигурация:Домашний сервер → исходящее SSH-соединение → VPS VPS: 127.
Отраслевые последствия
1:11000 → SSH-туннель → домашний сервер: 127. 1:8080 Интернет → → Caddy на VPS → 127. 1:11000 Используемые компоненты:HOME_SERVER — домашний Linux-сервер, мини-ПК, Raspberry Pi, NAS или иной узел за NAT/CGNAT;VPS — внешний сервер с публичным IPv4/IPv6-адресом;tunneluser — ограниченная учётная запись на VPS только для remote port forwarding;OpenSSH — транспортный уровень и механизм ssh -R;autossh — автоматическое восстановление SSH-сессии;systemd — запуск и удержание туннеля как службы;Caddy — reverse proxy, TLS-терминация и маршрутизация HTTP(S);UFW — базовый firewall на VPS.
Примеры ориентированы на Ubuntu/Debian-подобные системы. На других дистрибутивах логика та же, но могут отличаться имена пакетов, пути и команды управления службами. Проверено наПримерная тестовая среда:VPS: Ubuntu Server 24.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.




