Общий доступ к VPN Windows для проводной консоли: шлюз на ПК или роутер
Консоли за ПК с Windows нужен нижестоящий сегмент, адресация, трансляция и клиент, который пересылает пакеты. Сравните это с роутером, которому принадлежит туннель.
Консоли, которые не могут запустить клиент VPN, иногда занимают туннель ПК с Windows, и такая схема чаще терпит неудачу, чем работает, по причинам, не связанным с VPN. ПК должен стать шлюзом: отдельный интерфейс вниз, адресация для консоли, трансляция и клиент, готовый пересылать пакеты другого устройства. Туннель, работающий для собственных приложений ПК, ничего из этого не доказывает.
Сравнение, которое стоит сделать, — между этой схемой и роутером, которому принадлежит туннель для всей сети. Они различаются обслуживанием, поведением при сбое и тем, сколько политики видно сразу.
Что должен делать шлюз на ПК
Шлюзу нужен интерфейс, обращённый к консоли, диапазон адресов для этого сегмента и правило трансляции, которое переписывает трафик консоли на туннель. Нужно также, чтобы клиент пересылал пакеты, которые он сам не создавал, а это другая настройка, чем принимать собственный трафик. Разрешение имён должно идти тем же путём, иначе консоль разрешает игровой сервис по одному маршруту, а затем подключается по другому. Каждый из этих пунктов — отдельный шаг настройки со своим способом отказа.
console -> dedicated ethernet -> windows sharing / nat
-> selected tunnel interface -> internetОбщий доступ к интернет-подключению в Windows даёт ровно такую форму: одно подключение назначается публичным, другое частным. Это назначение важнее, чем ожидают, потому что интерфейс, доходящий до домашнего роутера, не обязательно тот, который несёт туннель.
Сравнения, которые решают
Три различия отделяют шлюз на ПК от шлюза на роутере, и именно они проявляются спустя месяцы. Таблица ставит их рядом.
| Aspect | Windows PC gateway | Router gateway |
|---|---|---|
| Tied to a user session | Yes; sleep or sign-out ends it | No |
| Policy visibility | Split across client and sharing layer | One ruleset |
| Address service | Private side of the sharing feature | Router scope |
| Recovery after reboot | Manual, per session | Automatic |
Привязка к сеансу пользователя — первое различие и то, которое застаёт врасплох. ПК, который уходит в сон, выходит из системы или устанавливает обновление, перестаёт быть шлюзом, и консоль теряет свой путь, хотя ни одна настройка не менялась. Видимость политики — второе, поскольку правила клиента и уровень общего доступа живут в двух местах и ни один не описывает другой. Служба адресов — третье, и она объясняет консоль, у которой есть адрес, но которая всё равно никуда не попадает.
Ничто из этого не делает схему с ПК неправильной. Оно делает её временным решением, что приемлемо, когда требование временное.
Пересылаемый трафик — другая категория
Клиент на настольном ПК может обрабатывать пакеты, пересылаемые для другого устройства, иначе, чем свои. Список включённых приложений охватывает процессы на ПК и ничего не говорит о трафике консоли, а выключатель, защищающий локальные приложения, может вообще не защищать пересылаемый путь. Подтвердите документированное поведение клиента для пересылаемого трафика, а не выводите его из успешной загрузки страницы на ПК. Там, где это поведение неясно, вся схема опирается на предположение.
Адресация консоли должна приходить из схемы общего доступа, а не из копирования на неё адреса туннеля ПК. Копирование даёт дублированный адрес, неверный шлюз и резолвер, указывающий на то, чего консоль не достигнет. Позвольте нижестоящей службе раздать конфигурацию, затем проверьте, что консоль действительно получила.
Проверяйте трафик консоли, а не ПК
Единственный осмысленный тест наблюдает путь консоли. На ПК команды ниже показывают раскладку интерфейсов, таблицу соседей по нижестоящему каналу и то, отвечает ли консоль на служебном порту. Запускайте их, когда игровой сеанс действительно подключён.
Get-NetIPConfiguration | Select-Object InterfaceAlias, IPv4Address
Get-NetAdapter | Select-Object Name, Status, LinkSpeed
arp -a | findstr 192.168.137.
Test-NetConnection 192.168.137.10 -Port 3074Интерфейс без адреса на нижестоящей стороне означает, что общий доступ так и не начался, и это другая проблема, чем консоль, которая не может подключиться. Запись для консоли в таблице соседей доказывает, что канал и адресация живы. Неудачный тест порта после этого указывает на пересылку или на отношение клиента к пересылаемому трафику, а не на кабель. Сравните выходной адрес консоли с адресом ПК, прежде чем заключать, что используется именно туннель.
Держите схему задокументированной с именами интерфейсов и диапазонами адресов. Когда она сломается после следующего обновления, эта страница сэкономит час повторного поиска.