Вопрос по CG-NAT/Double NAT VPN

Мой новый интернет-провайдер объяснил, что сервисы Xbox Live всегда будут с умеренными ограничениями, и перенаправление портов будет невозможно. Кажется, я делю публичный IP-адрес с несколькими людьми, логично.

У них также есть этот странный внутренний сайт, за использование которого нужно платить перед полноценным доступом в интернет (похоже на Wi-Fi в самолёте)

Поскольку у меня нет доступа к их роутеру, я установил Openwrt на запасной Raspberry Pi 4, который у меня был, настроил его как точку доступа, подключившись к их роутеру, и теперь у меня есть интернет через Pi.

Я установил VPN на этом устройстве (используя ProtonVPN / OpenVPN, а не Wireguard), могу подключиться через него и вижу, что IP показывает, что я подключён через VPN.

Мой Xbox перешёл с умеренного на строгий, и при тестировании мультиплеера возникла проблема с MTU 1364 (если я правильно помню), что было неожиданностью.

MTU на VPN установлено в 1500 с добавлением 32 байт и mssfix 1440, но я не думал, что накладные расходы будут ниже 1384.

В любом случае, перенос портов (к которому должна быть возможность через Proton France, за который я плачу) не сработал.

Xbox настроен на статичный IP, правила настроены правильно. Всё равно остаётся строгий.

Я пробовал miniupnp, установил внешний интерфейс на wan (wan настроен на tun0 и работает), и хотя всё выглядит нормально, при попытке вручную добавить порт через командную строку появляется сообщение о шлюзе.

В любом случае, меня это не особо беспокоит, мой вопрос лишь в том, разве нельзя обойти ситуацию CG-NAT / Double NAT и сделать так, чтобы статус NAT на Xbox был открытым, направляя трафик через VPN?

И даже если мне это удастся, как подойти к проблеме MTU?

Вам нужен специальный VPN — именно тот, который предоставляет статический публичный IP без NAT. Вот несколько ссылок на такие VPN:

  1. Hoppy: хорошо работает в Чикаго и поблизости.
  2. SwissVPN (нужен особый контракт на статический IP, см. ссылку): работает в ЕС, ограничение 30 Мбит/с. Единственный протокол, который хорошо работает на роутерах — к сожалению, PPtP. OpenVPN несовместим с их предложением статического IP, L2TP трудно настроить, а SSTP страдает от буферблэда.
  3. OVPN: не пробовал, но на бумаге выглядит хорошо и есть много точек присутствия.
  4. PureVPN и его белый ярлык, Ivacy: работоспособны только как крайний случай — в Азии другого варианта нет. Проблема в том, что их предложение статического IP не совсем статично: VPN отключается и подключается заново, но сервер все равно считает, что соединение все еще активно, и выдает другой IP вместо правильного. Все остальные VPN в списке предполагают, что старое соединение мертво. Обратите внимание, что единственные протоколы, допустимые по производительности — PPtP и IKEv2. Без дополнения с выделенным IP можно использовать только IKEv2 (что очень сложно настроить) и OpenVPN. Они пытаются предложить вам какое-то специфическое для Linux соединение, но, судя по всему, ваш продавец не разбирается. Не принимайте OpenVPN — он легкий в настройке, но медленный.

Также есть возможность сделать всё самостоятельно, арендовав дешёвый VPS.

Также было предложение от “vpnstaticip” — сейчас они принадлежат GoodAccess. Они заявляют, что не используют NAT, но при запуске бесплатной пробной версии я получил другой продукт: облачный маршрутизатор с статическим публичным IP. Не знаю, обманывает ли это реклама или недоразумение.

Искренне признаться: я — пользователь SwissVPN, PureVPN и Ivacy. Пробовал GoodAccess, но не продолжил после бесплатной пробной версии. Также помогал кому-то настраивать Hoppy. Ни один из VPN, упомянутых выше, не предложил мне ничего за продвижение.

Я использовал https://github.com/angristan/wireguard-install (альтернативный https://github.com/mochman/Bypass_CGNAT) с VPS от Hetzner и добавил wireguard в Openwrt. Работало очень хорошо, проблем не было.

Перенаправление портов делается так: https://www.procustodibus.com/blog/2022/09/wireguard-port-forward-from-internet/

Возможное решение через двойной NAT: https://forum.openwrt.org/t/solved-wireguard-client-with-double-nat/152095

Бесплатный облачный сервер Oracle может подойти только для Xbox, но иногда их аккаунты удаляются https://www.reddit.com/r/oraclecloud/comments/wa85up/my_instance_and_vm_was_deleted_in_free_tier_i/

gl