DS-Lite блокирует входящий хостинг IPv4, а не исходящий VPN
Состояние трансляции следует за стороной, которая начинает соединение. Проследите исходящий запрос через B4 и AFTR, а затем посмотрите, почему хостинг не работает.
DS-Lite — это способ дать клиенту подключение IPv4 через сеть доступа, которая передаёт только IPv6. Домашний маршрутизатор не имеет собственного выделенного публичного адреса IPv4, и этот единственный факт убеждает людей, что IPv4 VPN не может работать из такого соединения. В исходящем направлении он обычно работает нормально. Соединение транслирует провайдер, и удалённая сторона видит обычного клиента IPv4. Ломается обратное направление: хостинг того, что ожидает незапрошенный входящий IPv4. Разница в том, какая сторона начинает разговор.
Какая сторона начинает соединение
Клиент, инициирующий соединение, создаёт состояние трансляции по ходу дела. Транслятор провайдера видит первый пакет, выделяет сопоставление и пересылает его. Обратный трафик соответствует этому сопоставлению, потому что сопоставление уже существует.
У сервера, который ждёт соединений, такого состояния для создания нет. Кто-то снаружи должен достичь адреса и порта, которые провайдер не согласился сопоставлять, и это совершенно другой запрос.
Проследите исходящий запрос
Архитектура в RFC 6333 называет оба конца. Элемент на стороне клиента — это B4, который инкапсулирует IPv4 в IPv6. Элемент на стороне провайдера — это AFTR, который выполняет трансляцию адреса и пересылает пакет как IPv4.
Client's IPv4 VPN packet
→ Customer B4
→ IPv4 carried over the provider's IPv6 network
→ AFTR address translation
→ IPv4 VPN server
VPN-сервер получает обычное соединение IPv4 с транслированного адреса провайдера. Ему не нужен режим DS-Lite, особый порт или знание того, что сеть доступа клиента — только IPv6. Именно это люди упускают: удалённая сторона не может этого определить.
Собственная конфигурация клиента столь же обычна. Ей нужен рабочий путь IPv4 до сервера, который обеспечивают B4 и AFTR, и нужно, чтобы имя хоста сервера разрешалось в адрес IPv4.
Почему входящий хостинг — это случай, который не работает
Запуск сервера VPN на IPv4 дома — это решение, которое сталкивается с общим адресным пространством провайдера. Транслятор провайдера владеет публичным адресом и таблицей сопоставлений и не имеет причин создавать постоянное входящее сопоставление для одного абонента.
Правило переадресации порта на домашнем маршрутизаторе не может настроить AFTR. Правило реально и верно на локальном устройстве, и оно ничего не меняет выше по потоку, поэтому симптом выглядит как проблема с межсетевым экраном, которая не проходит.
Здесь же трансляция операторского уровня отличается от одного публичного адреса: даже правильная локальная переадресация может попасть на адрес, который делят многие абоненты.
Диагностируйте, прежде чем менять план доступа
Сначала подтвердите предоставленный режим. Собственный двойной стек, DS-Lite и сеть только с IPv6, использующая другой механизм трансляции, — это три разные схемы, и маркетинговые названия провайдера не всегда совпадают с техническим.
Затем установите четыре наблюдения для исходящего сбоя. Разрешает ли клиент имя хоста VPN в адрес назначения IPv4? Работает ли простое подключение IPv4, а не запрос браузера, который мог тихо использовать IPv6? Какой транспорт и порт пробует клиент, и видят ли журналы конечной точки эту попытку вообще? Происходит ли сбой при начальном обмене, после периода простоя или только на больших передачах?
Эти четыре ответа указывают на фильтрацию, истечение состояния трансляции, неверную конечную точку или обработку размера пакета. Ни одно из них не устанавливается тем, что на странице аккаунта видно DS-Lite.
Внимательно читайте изменения провайдера
Изменение аккаунта может совпасть с работающим соединением, изменив сразу несколько свойств. Запишите, какое свойство изменилось, потому что новое название пакета — не техническое объяснение.
Указание включить двойной стек неоднозначно, пока кто-то не подтвердит, что провайдер действительно предоставляет. Если считать его универсальным требованием для клиентов IPv4 VPN, предположение превращается в политику.
Если реальное требование — входящий хостинг IPv4, обсудите с провайдером поддерживаемую входящую схему, собственную адресацию или другой проект доступа. Если требование — ноутбук, достигающий удалённого сервера, спросите вместо этого именно об этом исходящем потоке. Порядок работы: назовите направление, подтвердите предоставленный режим, проверьте простой IPv4 и один транспорт, и меняйте план доступа только если направление действительно этого требует.