Назад | Перейти на главную страницу

IPv4 на основе имени в шлюз IPv6

Предположим, у меня есть выделенный сервер в host.com с IPv4-адресом 1.2.3.4, статически назначаемый IPv6-адрес и достаточное количество дополнительных IPv6-адресов. Этот хост обслуживает несколько KVM в guest.com, guest0.com, guest1.com и так далее, со статически назначенными адресами IPv6. Каков наиболее эффективный способ сделать этих гостей доступными только для клиентов IPv4, использующих IPv4 host.com?

Примечание. Все хосты работают под управлением Ubuntu 18.04 и различных служб, и доступность должна быть на именованном базовом уровне, а не просто на отдельной службе или порту / сокете.

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

По сути, это та же проблема, что и с одним общедоступным IPv4-адресом и набором серверов за ним в сети с диапазоном RFC1918. (например, настроен домашний широкополосный доступ)

Если бы все они размещали службу, которая инкапсулирует имя хоста в протоколе (например, HTTP или HTTPS с SNI), то машина с двойным подключением могла бы легко прокси для них. Но на чистом уровне IP это невозможно сделать, поскольку клиент, работающий только с IPv4, будет использовать DNS для разрешения адреса цели, это может вернуть 2 варианта:

  1. IPv4-адрес шлюза, затем он открывает соединение со шлюзом, но теперь информация о конечной цели потеряна (так как она не передается в протоколе), поэтому он не знает, куда пересылать пакет.
  2. IPv6-адрес конечной цели, но, будучи только IPv4, у него нет возможности достичь его.

Лучший промежуточный подход, о котором я могу думать, - это использовать SSH для настройки переадресации локального порта клиента через шлюз (как Бастиан хозяин) к целевой машине. Это будет означать, что вам нужно будет запускать SSH-соединение на каждом клиенте, прежде чем пытаться получить доступ к целевому серверу. И вам нужно будет знать, какие службы предлагает этот сервер, перед запуском сеанса ssh, так как ему нужно будет заранее настроить пересылку для каждой службы.