Ваш игровой сервер в VPN, и никто не может подключиться
Туннель это не входящий путь. Выберите вход, которым пользуются игроки, и добейтесь, чтобы ответ возвращался той же дорогой, прежде чем трогать адрес привязки.
Сервер работает, VPN подключён, а снаружи никто не может войти. Все внутри туннеля могут, и из-за этого кажется, что дело в правиле доступа. Не хватает не разрешения, а пути: адреса и порта, до которых игроки могут добраться, и маршрута, по которому ответы вернутся той же дорогой. Выходной адрес VPN не является функцией входящего хостинга.
Четыре способа, которыми игроки могут добраться до сервера
Настоящий выбор это кто ваша аудитория и как входят её пакеты, и есть четыре формы, которые стоит назвать.
| Design | Who can join | What it costs |
|---|---|---|
| Private VPN players | Only members of the tunnel | Every player needs a profile and identity |
| Provider public mapping | Anyone with the assigned address and port | Depends on supported protocol and mapping lifetime |
| Your own public relay | Anyone who can reach the relay | You run and secure the relay |
| Deliberate direct entry | Anyone who can reach your line | Split routing has to stay coherent |
Частная схема самая простая и самая неудобная: авторизованные игроки входят в ограниченную сеть и достигают игры по её частному адресу. Дайте им доступ к игровой службе, а не общую учётную запись, которая может бродить по каждому вашему хосту.
Схема с ретранслятором та, которую недооценивают. Достижимый шлюз принимает публичный трафик и передаёт его через частный туннель к хосту, поэтому игроки никогда не входят в серверный VPN. Ретранслятор должен нести транспорт игры, а HTTP-прокси не является универсальным UDP-ретранслятором.
Следите за ответом так же внимательно, как за приходом
Для любого транслируемого входа запишите четыре вещи: внешний адрес, протокол, порт и внутреннюю цель. Справочник по пробросу портов от Netgate объясняет различие, на котором люди спотыкаются: он отделяет трансляцию назначения от правила брандмауэра, которое пропускает трафик дальше. Настройте одно без другого, и получится сопоставление, которое выглядит правильным и ничего не пропускает.
Затем проверьте возврат. Пересланный запрос может прийти идеально и всё равно не сработать, потому что хост отвечает через другой выход. Ретранслятор может транслировать источник внутреннего потока или сохранить источник и положиться на маршрутизацию; это разные схемы, и они меняют то, что хост игры видит как адрес игрока.
Шифрование не спасает сломанный обратный путь. Оно защищает сегмент, а не топологию.
Что туннель не делает приватным
Аутентификация, обновления и политика допуска игры по-прежнему делают свою работу. Частный внутренний туннель не делает намеренно публичный вход приватным и вовсе не шифрует участок от игрока до публичного входа. Это два разных участка с двумя разными экспозициями, и проектная заметка о том, что игра работает через VPN, описывает ровно один из них.
Запишите, какой участок защищён, а какой нет, прежде чем объявлять адрес кому-либо.
Выберите аудиторию раньше адреса
Решите, кто должен иметь возможность войти, и выберите подходящую схему. Только друзья означают частный туннель или ретранслятор со списком разрешённых. Публичное сообщество означает ретранслятор или прямой вход с реальной экспозицией, плюс модерацию. Когда это решено, используйте документированные порты игры и её поведение с объявленным адресом внутри выбранной схемы.
Не переставляйте адаптеры VPN, пока не пройдёт тест. Это даёт работающий сервер с недокументированным путём, который никто не воспроизведёт после следующего обновления.
Тест это два игрока, один внутри туннеля и один снаружи, оба завершают вход и один круг трафика. Всё меньшее не доказывает, что вход работает.