IP-адреса IPv4 становятся все реже и дороже, и мне интересно, можно ли полностью переключить наши веб-серверы на IPv6. Я знаю, это рекомендуется использовать IPv4 и IPv6 но мне все еще хотелось бы знать:
Есть ли способ сделать несколько веб-серверов IPv6 доступными, используя только один адрес IPv4?
С какими проблемами мы столкнемся, например, с HTTPS?
Первый вопрос прост: да, это именно то, для чего нужен NAT, но вам нужно будет поместить свой единственный адрес v4 перед пулом серверов v6, дать каждому члену пула адрес RFC1918 v4 и пробить один реальный адрес / порт v4 к каждой паре адрес / порт RFC1918, которую вы хотите иметь с адресацией v4. Вам нужно будет вручную назначить внешний порт каждому серверу:
Оборотная сторона: клиентам с брандмауэром может быть запрещено подключаться к порту 81.
Если вы не хотите этого делать, в блоке v4 потребуется запустить какой-то прокси виртуального хоста, чтобы он мог получать запросы от хостов только для v4 для обслуживания в пуле v6, проксировать запросы и обслуживать ответы.
Практические инструкции по настройке прокси выходят за рамки ответа SF, но, по сути, интерфейсная панель должна поддерживать таблицу прокси, что-то вроде
для ответа на входящие запросы от клиентов на сайтах, которые разрешают адреса v4 site [123] .example.com, и проксировать их на серверы, на которых работают сайты с аналогичными названиями на адресах v6, перечисленных выше. Прокси-сервер также должен будет вернуть ответы запрашивающей стороне. Для клиентов с поддержкой v6 вы можете рекламировать сами прокси в их записях AAAA, если вы также правильно настроили маршрутизацию и брандмауэр v6.
Что касается HTTPS, ситуация идентична ситуации с теми, кто хочет запускать несколько серверов HTTPS изначально на одном адресе v4: вы можете либо запустить несколько портов v4 (пробитые; см. Выше), либо полагаться на SNI (см. Множество мест) и игнорировать хосты, которые его не поддерживают.
Я подозреваю, что вы на самом деле спрашиваете: «Существует ли волшебная пыль пикси на стороне сервера, которая может обеспечить соединение v6 для конечных пользователей, которые не знают о v6», и я думаю, что ответ на этот вопрос - «нет». Вам нужно будет полностью принимать их запросы в версии 4 и таким же образом возвращать им ответы; см. выше.