Давайте дружить в Телеграме: рассказываем про новые фичи и общаемся в комментах Подписаться
support@serv.host
Личный кабинет

FRP: Как играть с друзьями на домашнем сервере без белого IP и VPN

FRP - как играть с друзьями без белого IP

Ты поднял сервер Minecraft у себя дома, зовёшь друзей, а они не могут подключиться. Знакомая история? Разберёмся, почему так происходит и как это решить с помощью технологии под названием FRP, не покупая дорогой белый IP и не заставляя друзей ничего устанавливать.

Статья написана максимально простым языком, специально для тех, кто впервые арендовал VPS и слышит слова "NAT" или "проксирование" в первый раз.


Почему друзья не могут подключиться?

Представь, что твой компьютер - это квартира в большом доме. У дома один общий почтовый адрес (это твой роутер), а у каждой квартиры - свой номер, который снаружи никто не видит. Почтальон (интернет) знает адрес дома, но не знает, в какую именно квартиру нести письмо, если его туда не позвали.

Что такое белый IP

Белый (публичный) IP - это адрес, по которому тебя видно из всего интернета напрямую, как отдельный дом с собственным адресом на карте. Если он у тебя есть, друзья могут подключиться к твоему серверу напрямую, введя твой IP.

Почему у большинства его нет

Провайдеры интернета обычно выдают серый (внутренний) IP - то есть твой "адрес" виден только внутри сети провайдера, а наружу все пользователи выходят под одним общим адресом. Это дешевле для провайдера и по историческим причинам просто так исторически сложилось (белых адресов на всех физически не хватает).

Что такое NAT и CG-NAT простыми словами

NAT (Network Address Translation) - это как ресепшн в большом офисном центре. Снаружи все звонки идут на один общий номер ресепшена, а ресепшен уже сам решает, кому из сотрудников передать звонок. Проблема в том, что если тебе никто не звонил "правильно" заранее - ресепшн просто не знает, куда переводить входящий звонок.

CG-NAT (Carrier-Grade NAT) - это тот же принцип, только провайдер объединяет за одним белым IP не одну твою квартиру, а сразу сотни или тысячи абонентов. Получается ресепшн не на один офис, а сразу на весь квартал. В этом случае даже настройки на твоём роутере не помогут. Ты физически не управляешь этим "ресепшном", потому что он находится у провайдера.

Почему открытие порта часто не помогает

Обычно совет "подключиться напрямую" звучит так: зайди в роутер и открой порт. Это называется проброс портов - способ сказать роутеру: "если кто-то стучится в этот порт, отправляй это конкретному устройству у меня дома".

Но это работает только если у тебя есть белый IP. Если ты сидишь за CG-NAT (а это очень частая ситуация у мобильных операторов и многих домашних провайдеров), проброс портов ничего не даст - снаружи до твоего роутера просто не достучаться, потому что он сам спрятан за общим адресом провайдера.

             Интернет

         👤 Друг
            │
            │ пытается подключиться
            │
            ▼
     🌐 203.0.113.10:25565
            │
            ▼
┌──────────────────────────────┐
│        Провайдер (CG-NAT)    │
│                              │
│  Один белый IP на множество  │
│       абонентов сразу        │
└──────────────────────────────┘
            │
     ✖ Нет маршрута
     к твоему роутеру
            │
            ▼
┌──────────────────────────────┐
│        Твой роутер           │
│   Серый IP (100.x.x.x или    │
│   10.x.x.x / 172.x / 192.168)│
└──────────────────────────────┘
            │
            ▼
     💻 Minecraft Server

Какие есть способы решить проблему?

Раз напрямую не получается - используют посредника с белым IP. Обычно для этого берут:

  • FRP - "прокидывает" нужный порт игры через VPS, ничего не устанавливая у друзей.
  • WireGuard - создаёт виртуальную приватную сеть между устройствами.
  • OpenVPN - более старая технология, решающая похожую задачу, что и WireGuard.

У всех трёх в основе одна идея: взять сервер с белым IP (обычно недорогой VPS) и через него "показать" твой домашний сервер внешнему миру. Разница - в том, как именно это делается и что придётся сделать твоим друзьям.


Что такое FRP?

FRP (Fast Reverse Proxy) - это программа, которая берёт один нужный порт твоего домашнего сервера и "выводит" его наружу через VPS с белым IP.

Важно понимать: FRP - это не VPN. Он не создаёт отдельную сеть и не шифрует весь трафик между устройствами. Он занимается куда более простой вещью - перенаправлением конкретного порта.

Представь трубу: с одной стороны в неё "втекает" твой сервер Minecraft дома, а с другой стороны она "вытекает" наружу - прямо на VPS. Для игрока со стороны выглядит так, будто сервер расположен прямо на этом VPS, хотя на самом деле он стоит у тебя дома.

                    Исходящее соединение (туннель FRP)
┌─────────────────────────────────────────────────────────────────────────────┐
│                                                                             │
│   🏠 Домашний компьютер                                        ☁ VPS        │
│                                                                             │
│  ┌───────────────────────┐                              ┌─────────────────┐ │
│  │ Minecraft Server      │                              │ FRP Server      │ │
│  │        :25565         │                              │ (frps)          │ │
│  ├───────────────────────┤                              ├─────────────────┤ │
│  │ FRP Client (frpc)     │═════════════════════════════▶│ Принимает       │ │
│  │                       │      постоянный туннель      │ соединения      │ │
│  └───────────────────────┘                              └─────────────────┘ │
│                                                                             │
│      ❌ Нет белого IP                                     ✅ Белый IP       │
│      (CG-NAT)                                             203.0.113.10      │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘


                               Игрок подключается сюда

                               👤 Друг
                                  │
                                  │
                        203.0.113.10:25565
                                  │
                                  ▼
                        ┌─────────────────┐
                        │ VPS (frps)      │
                        │ 203.0.113.10    │
                        └─────────────────┘
                                  │
                                  │ передаёт трафик
                                  ▼
═══════════════════════════════ FRP Tunnel ═══════════════════════════════
                                  │
                                  ▼
                        ┌─────────────────┐
                        │ FRP Client      │
                        │ (frpc)          │
                        └─────────────────┘
                                  │
                                  ▼
                        ┌─────────────────┐
                        │ Minecraft       │
                        │ Server :25565   │
                        └─────────────────┘

Программа-клиент (frpc) ставится у тебя дома рядом с игровым сервером. Программа-сервер (frps) ставится на VPS. Друг просто подключается к адресу VPS, а FRP уже сам перебрасывает его подключение к тебе домой.


Почему FRP отлично подходит для Minecraft?

  • Игрокам ничего не нужно устанавливать. Никаких VPN-клиентов, никаких конфигов - просто вводят адрес сервера, как в любой обычный публичный сервер.
  • Подключение выглядит как к обычному серверу. Друг даже не заметит разницы между "настоящим" сервером на VPS и твоим домашним через FRP.
  • Можно использовать красивый домен - например, play.mycoolserver.ru вместо голого IP-адреса, что выглядит куда приятнее.
  • Работает почти с любой игрой, а не только с Minecraft - принцип "прокинуть порт" универсален.
  • Достаточно открыть только один нужный порт, а не всю сеть, что заметно проще и безопаснее, чем полноценный VPN на всех.

FRP отлично подходит не только для Minecraft, вот ещё несколько примеров игр с доменными серверами, где такая схема прекрасно работает:

  • Minecraft
  • Terraria
  • Valheim
  • Factorio
  • Satisfactory
  • CS2

Настройка FRP

Теперь, когда стало понятно, как работает FRP, можно перейти к настройке.

FRP состоит из двух частей:

  • frps - серверная часть, которая запускается на VPS с белым IP.
  • frpc - клиент, который запускается на домашнем компьютере, где работает Minecraft.

Именно frpc создаёт постоянный туннель до VPS, через который затем проходят подключения игроков.


Настройка сервера (VPS)

Создай файл frps.toml.

bindPort = 7000

auth.method = "token"
auth.token = "my-super-secret-token"

Разберёмся, что означает каждая строка.

ПараметрОписание
bindPortПорт, на котором FRP ожидает подключения клиентов (frpc). Этот порт должен быть открыт в фаерволе VPS.
auth.methodСпособ авторизации клиента. Для домашнего использования достаточно token.
auth.tokenСекретный ключ. Он должен быть одинаковым на сервере и клиенте. Без него подключиться к вашему VPS не получится.

После запуска frps сервер начинает ждать подключения домашнего компьютера.


Настройка клиента (Домашний ПК)

Создай файл frpc.toml.

serverAddr = "123.123.123.123"
serverPort = 7000

auth.method = "token"
auth.token = "my-super-secret-token"

[[proxies]]
name = "minecraft"
type = "tcp"

localIP = "127.0.0.1"
localPort = 25565

remotePort = 25565

Разберём основные параметры.

ПараметрОписание
serverAddrIP-адрес или домен VPS, на котором работает frps.
serverPortПорт, указанный в bindPort на сервере.
auth.tokenТот же самый токен, что используется на VPS.
nameЛюбое удобное название подключения. Используется только внутри FRP.
typeТип проксирования. Для Minecraft используется tcp.
localIPАдрес сервера внутри компьютера. Обычно 127.0.0.1.
localPortПорт, который использует игра на домашнем компьютере. Для Minecraft по умолчанию это 25565.
remotePortПорт, который будет открыт на VPS. Именно к нему будут подключаться игроки.

Что получится?

После запуска frps и frpc схема будет выглядеть так:

    Игрок
      │
      ▼
203.0.113.10:25565
      │
      ▼
VPS (frps)
      │
      ▼
FRP-туннель
      │
      ▼
Домашний ПК
Minecraft :25565

Теперь игроки будут подключаться к VPS, а FRP автоматически перенаправит весь трафик на домашний сервер Minecraft.

Примеры конфигов для разных игр

Настройка клиента FRP (frpc) под конкретную игру - это буквально один небольшой блок в конфиге. Меняются, по сути, только два числа: localPort (порт, на котором игра работает у тебя дома) и remotePort (порт, который будет открыт снаружи на VPS). Остальное можно просто скопировать.

Ниже - блоки [[proxies]] для файла frpc.toml (их нужно добавить после общих настроек подключения к твоему VPS, где уже указаны адрес сервера и токен).

Minecraft (Java Edition) - по умолчанию использует TCP-порт 25565:

[[proxies]]
name = "minecraft"
type = "tcp"
localIP = "127.0.0.1"
localPort = 25565
remotePort = 25565

Terraria - TCP-порт 7777:

[[proxies]]
name = "terraria"
type = "tcp"
localIP = "127.0.0.1"
localPort = 7777
remotePort = 7777

Valheim - использует несколько соседних UDP-портов (обычно 24562458), поэтому проще прокинуть их все:

[[proxies]]
name = "valheim-game"
type = "udp"
localIP = "127.0.0.1"
localPort = 2456
remotePort = 2456

[[proxies]]
name = "valheim-query"
type = "udp"
localIP = "127.0.0.1"
localPort = 2457
remotePort = 2457

Factorio - UDP-порт 34197:

[[proxies]]
name = "factorio"
type = "udp"
localIP = "127.0.0.1"
localPort = 34197
remotePort = 34197

Satisfactory - UDP-порт 7777:

[[proxies]]
name = "satisfactory"
type = "udp"
localIP = "127.0.0.1"
localPort = 7777
remotePort = 7777

CS2 - сервера на движке Source обычно слушают порт 27015, и трафик по нему идёт как по TCP, так и по UDP, поэтому лучше прокинуть оба варианта:

[[proxies]]
name = "cs2-tcp"
type = "tcp"
localIP = "127.0.0.1"
localPort = 27015
remotePort = 27015

[[proxies]]
name = "cs2-udp"
type = "udp"
localIP = "127.0.0.1"
localPort = 27015
remotePort = 27015

Общий принцип во всех примерах один: localPort смотрит на игру у тебя дома, remotePort - это то, к чему будут подключаться друзья на твоём VPS (адрес_vps:remotePort). Если хочешь, чтобы порт снаружи отличался от порта игры (например, из соображений безопасности), просто укажи в remotePort другое значение - игра при этом даже не заметит разницы.


Чем FRP отличается от WireGuard?

WireGuard - это современная и очень быстрая технология для создания VPN. Проще говоря, она соединяет несколько устройств в одну общую виртуальную сеть, как будто все компьютеры физически стоят в одной комнате, даже если на самом деле они разбросаны по разным городам.

Плюсы WireGuard

  • Высокая скорость работы.
  • Хорошая безопасность - весь трафик шифруется.
  • Можно объединить сразу несколько устройств в одну сеть, а не только "прокинуть" один порт.

Минусы для игровых серверов

  • Каждому другу нужно установить WireGuard на свой компьютер.
  • Каждому нужен отдельный конфиг-файл для подключения.
  • Перед игрой обязательно нужно включать VPN, а потом не забыть его выключить.

Это отлично подходит, если ты хочешь объединить свои личные устройства в одну сеть или дать доступ узкому кругу людей, которые не против немного повозиться с настройкой. Но заставлять каждого случайного друга ставить VPN-клиент только ради одной игры на вечер - не самый дружелюбный вариант.

                          Интернет

      👤 Друг №1                 👤 Друг №2                 👤 Друг №3
      WireGuard                 WireGuard                 WireGuard
           │                         │                         │
           └──────────────┬──────────┴─────────────────────────┘
                          │
                          │ VPN-туннели
                          ▼
                 ┌────────────────────────┐
                 │ ☁ VPS с белым IP       │
                 │                        │
                 │ WireGuard Server       │
                 │ 10.10.0.1              │
                 └──────────┬─────────────┘
                            │
                            │ VPN-туннель
                            ▼
                 ┌────────────────────────┐
                 │ 🏠 Домашний компьютер  │
                 │                        │
                 │ WireGuard Client       │
                 │ 10.10.0.2              │
                 │                        │
                 │ Minecraft Server       │
                 │ :25565                 │
                 └────────────────────────┘

Чем FRP отличается от OpenVPN?

OpenVPN решает примерно ту же задачу, что и WireGuard, - создаёт VPN-сеть. Но это более старая технология, которая появилась на много лет раньше.

Если сравнивать с FRP:

  • OpenVPN тоже требует установки VPN-клиента у каждого, кто подключается.
  • Настройка обычно сложнее и запутаннее, чем у WireGuard или тем более у FRP.
  • Чаще всего OpenVPN используют в корпоративной среде - например, чтобы сотрудники подключались к рабочей сети из дома, а не для того, чтобы вечером поиграть в Minecraft с друзьями.

Для игровых серверов среди друзей это не самый удобный вариант - слишком много лишних шагов для того, кто просто хочет зайти и поиграть.


Что выбрать?

ЗадачаFRPWireGuardOpenVPN
Открыть домашний сервер Minecraft✅ Лучший выбор⚠️ Можно⚠️ Можно
Играть с друзьями без установки VPN
Получить аналог "белого IP" для одного сервиса
Открыть только один нужный порт
Объединить несколько ПК в одну сеть✅ Лучший выбор
Удалённо подключаться к домашнему ПК⚠️ Только отдельные сервисы
Доступ к NAS, RDP, SSH и другим сервисам⚠️ Для каждого отдельно
Передавать весь интернет-трафик через VPN
Использовать одну сеть между телефоном, ПК и ноутбуком
Не устанавливать дополнительное ПО друзьям
Минимальная настройка для игроков
Корпоративная инфраструктура✅ Лучший выбор
Высокая скорость работы⚠️ Обычно немного ниже
Простота для новичков⚠️ Средняя❌ Сложнее остальных

FRP стоит выбирать, если нужно открыть один или несколько сервисов (например, сервер Minecraft) в интернет без покупки белого IP. Это самый простой вариант для игр, потому что друзьям не придётся устанавливать VPN - они подключаются как к обычному публичному серверу.

WireGuard лучше подходит, когда нужно объединить несколько устройств в одну защищённую сеть. Он позволяет получить доступ ко всем внутренним сервисам и устройствам, но требует установки VPN-клиента на каждом компьютере.

OpenVPN решает те же задачи, что и WireGuard, но чаще используется в уже существующих корпоративных сетях или там, где нужна совместимость со старыми устройствами и программным обеспечением.

Логика простая:

  • Если задача - просто дать друзьям зайти на сервер, не нагружая их установкой чего-либо, FRP выигрывает за счёт простоты: настройка нужна только у тебя, а друзья ничего не замечают.
  • Если задача - объединить несколько своих устройств в одну сеть (например, для удалённого доступа к домашним компьютерам или NAS), WireGuard подходит лучше, потому что даёт полноценную сеть, а не один проброшенный порт.
  • Если у тебя уже есть готовая VPN-инфраструктура на OpenVPN (например, на работе или в старом проекте) и не хочется поднимать что-то новое - логично использовать то, что уже настроено и работает.

Когда FRP - лучший выбор?

FRP отлично ложится на такие ситуации:

  • Хочу поиграть с друзьями сегодня вечером, без лишней возни.
  • Хочу открыть сервер, который стоит у меня дома, а не арендовать дорогой хостинг.
  • Не хочу покупать белый IP у провайдера (это часто платная и не всегда доступная опция).
  • Не хочу заставлять каждого друга устанавливать и настраивать VPN ради одной игры.
  • Хочу, чтобы сервер был доступен по красивому домену, а не по случайному набору цифр.

Если хотя бы пара пунктов из списка про тебя - FRP, скорее всего, то, что нужно.


Итоги

Белый IP есть не у всех, а из-за CG-NAT проброс портов часто вообще не спасает. Чтобы всё же открыть домашний сервер для друзей, обычно используют посредника с белым IP - и здесь на сцену выходят FRP, WireGuard и OpenVPN.

WireGuard и OpenVPN создают полноценные VPN-сети, но требуют установки и настройки у каждого участника. FRP устроен проще: он просто "выводит" нужный порт через VPS, и для игроков всё выглядит так, будто сервер и так был публичным.

Если твоя цель - просто открыть домашний сервер Minecraft или другой игры без белого IP и без установки VPN у каждого друга, то FRP - один из самых удобных и простых вариантов.


Где взять VPS под FRP?

Главная прелесть этой схемы в том, что сам FRP сервер (frps) практически не потребляет ресурсов. Ему не нужны гигабайты оперативной памяти и мощные процессоры, ведь вся нагрузка от самой игры всё равно лежит на твоём домашнем ПК. Главные требования к VPS - минимальный пинг, стабильный белый IP и адекватная цена.

Выбрать и арендовать подходящий виртуальный сервер буквально за пару кликов можно на данном проверенном хостинге - там найдётся множество вариантов с белым IP под любые задачи и с минимальной задержкой.