Синтезируйте записи A, имея только AAAA

Синтезируйте записи A, имея только AAAA

Я размещаю некоторые вещи в своей домашней сети, и мой провайдер не предоставляет мне адрес IPv4. И, во всяком случае, не предоставляет возможности переадресации на него.

Мои серверы работали с использованием IPv6, и все работало отлично, пока мне не пришлось поделиться данными с 60%+ людей по всему миру, у которых еще нет IPv6.

Как сделать свой сайт и серверы доступными для всех? Как мне синтезировать решение DNS с двойным стеком, имея возможность использовать только IPv6? Я использую CloudFlare в качестве DNS, если это имеет значение.

PS Я знаю о DNS64, но не думаю, что это то, что я ищу, верно? Я также провел небольшое исследование DNS46, но, по правде говоря, я вообще его не понимаю.

решение1

DNS только переводит имена в IP-адреса. Он не может решить проблему v4 vs v6 самостоятельно.

DNS64 используется в сочетании с NAT64 с отслеживанием состояния, чтобы позволить клиентам v6-only получать доступ к серверам v4-only. /96 пространства v6 выделяется шлюзу NAT64. Это обеспечивает достаточно адресов IPv6 для представления всего интернета IPv4. Затем DNS64 обеспечивает сопоставление имен DNS с адресами IPv6 в блоке, выделенном NAT64.

Проблема с попыткой сделать наоборот должна быть очевидна, адреса V6 большие, адреса V4 маленькие. Таким образом, вы можете сопоставить все пространство v4 с крошечным уголком пространства v6, но вы не можете сделать наоборот.

Если все ваши сервисы http/https, то вы можете использовать обратный прокси или сеть распространения контента, чтобы распределять трафик на основе метаданных уровня приложения. Для сервисов, отличных от http/https, которые работают на современных версиях tls, вы также можете использовать заголовки "указание имени сервера" для распределения трафика, хотя может быть сложнее найти оператора, который это сделает. Если ваши серверы используют другие протоколы, то, скорее всего, понадобятся выделенные IP-адреса v4, что, очевидно, будет стоить дороже.

Связанный контент