TCP-туннели
Как открыть доступ из интернета к SSH, PostgreSQL, Minecraft и другим TCP-сервисам через TCP-туннель fxTunnel: выбор порта, доступ по IP, флаги.
TCP-туннель пробрасывает любой TCP-сервис: SSH, базу данных, игровой сервер. Снаружи он доступен по адресу fxtun.ru:<порт>.
$fxtunnel tcp <порт> [флаги]Автоматический порт
Если порт не указан, сервер выберет свободный сам:
$fxtunnel tcp 22
→ TCP: fxtun.ru:12345
→ Forwarding to localhost:22При переподключении, например после обрыва сети, клиент запрашивает тот же порт.
Конкретный порт
Флаг --remote-port (-r) задаёт порт на сервере. Он должен быть в диапазоне 10000–20000 и не занят другим туннелем:
$fxtunnel tcp 22 --remote-port 12222
→ TCP: fxtun.ru:12222Порт вне диапазона сервер отклонит с ошибкой port … is outside allowed range.
Порт 11211 (Memcached) занять нельзя: сервер ответит port 11211 is blocked for security reasons.
Примеры
SSH
$fxtunnel tcp 22 --remote-port 12222Подключение:
$ssh user@fxtun.ru -p 12222PostgreSQL
Базу лучше не открывать всему интернету — разрешите доступ только своей сети:
$fxtunnel tcp 5432 --remote-port 15432 --allow-ip 203.0.113.0/24Подключение:
$psql -h fxtun.ru -p 15432 -U myuser mydbMinecraft
Сервер Minecraft (Java Edition) слушает порт 25565:
$fxtunnel tcp 25565
→ TCP: fxtun.ru:12345Друзья добавляют сервер в игре по адресу fxtun.ru:12345.
Доступ только с нужных IP
--allow-ip пускает только перечисленные адреса, соединения с остальных сервер сразу закрывает. Флаг можно повторять; поддерживаются одиночные IP и подсети в CIDR-нотации:
$fxtunnel tcp 22 --allow-ip 203.0.113.10 --allow-ip 10.0.0.0/8Время жизни туннеля
--auto-close закрывает туннель, если к нему не подключались указанное время (от 1m до 24h). Таймер сбрасывает каждое новое подключение; трафик внутри уже открытого соединения его не сбрасывает.
--max-lifetime закрывает туннель через указанное время независимо от активности (от 1m до 7d).
$fxtunnel tcp 22 --auto-close 30m --max-lifetime 8hВсе флаги
| Флаг | Описание | По умолчанию |
|---|---|---|
--remote-port, -r | Порт на сервере, 10000–20000; 0 — выбрать автоматически | 0 |
--allow-ip | Разрешённые IP или подсети, можно повторять | все адреса |
--auto-close | Закрытие при простое, от 1m до 24h | — |
--max-lifetime | Максимальное время жизни, от 1m до 7d | — |