Я хотел бы получить доступ к этому адресу через IPv6-адрес:
http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/
В наших роутерах Freifunk нет DNS, поэтому имя downloads.openwrt.org
не может быть решен. Все серверы в Интернете доступны только через IPv6-адреса. Теперь мы не можем получить доступ к этому зеркалу пакета изнутри маршрутизатора, установив пакеты через opkg install
.
Было бы решением, если бы мы могли добавить это, например, в нашу конфигурацию:
http://[2001:db8::1]/attitude_adjustment/12.09/ar71xx/generic/packages/
Наши маршрутизаторы работают под управлением OpenWRT и поддерживают только IPv6, и я хотел бы добавить запись в /etc/hosts
так что доменное имя downloads.openwrt.org
разрешит соответствующий адрес IPv6
Можно ли перенаправить IPv6 в домен?
Вы не можете просто «добавить» IPv6-адрес для доступа к хосту, который доступен только через IPv4. Это два совершенно разных и несовместимых протокола.
Для вашего IPv6-только сети, чтобы иметь доступ к IPv4-адресам, требуется шлюз, который имеет доступ к IPv4. Обычно это делается с помощью шлюза NAT64 / DNS64, который переводит адреса IPv4 в «поддельные» адреса IPv6, принимает подключения к этим «поддельным» адресам IPv6 и транслирует подключения к сети IPv4. Эти IPv6-адреса будут в 64:ff9b::/96
ассортимент.
В OpenWrt NAT64 выполняется с помощью Tayga, а DNS64 - с привязкой. Дополнительная информация о том, как их настроить: доступно в вики OpenWrt. Вам понадобится Регулировка отношения или Прерыватель барьеров; предыдущие версии OpenWrt не имели достаточно полной поддержки IPv6 и других технологий.
Вы можете добавить публичные DNS64 / NAT64-преобразователи в свой /etc/resolv.conf:
nameserver 2001:67c:2b0::4
nameserver 2001:67c:2b0::6
Вы также можете «отменить» перевод на сайте-клиенте, используя 464xlat. 464xlat использует те же инструменты. (упомянуто выше, но только по-другому). С 464xlat вы также можете обращаться к URL-адресам с буквальными IP-адресами.
Домен downloads.openwrt.org
имеет адрес IPv4, но не адрес IPv6. Таким образом, вы не сможете связаться с ним по IPv6, если не используете механизм трансляции. Вы можете использовать NAT64, чтобы иметь возможность создать TCP-соединение с этим сервером, поддерживающим только IPv4, от клиента, поддерживающего только IPv6.
Но зачем вам использовать клиент только для IPv6? Использование двойного стека - хорошая идея, но на данный момент только IPv6 действительно полезен для тестирования только для тех, кто знает ограничения, которые вводятся в мире, где слишком много хостов, поддерживающих только IPv4.
Если вам удастся открыть TCP-соединение с сервером, вы столкнетесь с другой проблемой. HTTP версии 1.1 требует, чтобы клиент отправил имя сервера, с которым он связывается через HTTP-соединение. И множество сайтов, в том числе downloads.openwrt.org
требовать отправки этого заголовка.
Ваш HTTP-клиент может отправить этот заголовок только в том случае, если ему известно имя домена для отправки. Так что лучше сообщить клиенту исходный URL-адрес и каким-то образом предоставить ему доступ для преобразования этого имени в IP-адрес. Если это должен быть IPv6, это все равно означает, что вам понадобится NAT64. Однако сопоставление доменного имени с IP-адресом NAT64 может быть выполнено /etc/hosts
, и должен работать нормально.
Это может работать нормально для отдельного доменного имени. Но если вы хотите, чтобы хост только IPv6 мог подключаться к нескольким доменам без необходимости помещать каждый из них в /etc/hosts
с адресом NAT64 вам потребуется динамическая трансляция адресов. Для этого и нужен DNS64.
Теперь, если у клиента есть доступ IPv4 и отсутствует только DNS, ответ становится намного проще. Просто введите адрес IPv4 в /etc/hosts
как предложил Давидго. Конечно, вам нужно будет обновлять этот файл каждый раз при изменении IP-адреса сервера, что, надеюсь, будет происходить не слишком часто.
Я думаю, вы задаете неправильный вопрос - вы не можете перенаправить IPv6-адрес в домен, потому что процесс работает противоположным образом, то есть домен преобразуется в [или множество] хостов.
Мне не удалось найти никакой информации о вашем маршрутизаторе, но если он работает с OpenWRT, вы сможете добавить запись в / etc / hosts, чтобы имя домена преобразовывалось в соответствующий IP-адрес.