Comment accéder aux adresses IPv4 à partir d'un réseau IPv6 uniquement?

11

Je souhaite accéder à cette adresse via une adresse IPv6:
http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/

Dans nos routeurs Freifunk, il n'y a pas de DNS disponible, donc le nom downloads.openwrt.orgne peut pas être résolu. Tous les serveurs sur Internet ne sont accessibles que via des adresses IPv6. Maintenant, nous ne pouvons pas atteindre ce package-miroir depuis l'intérieur du routeur pour installer les packages via opkg install.

Ce serait une solution, si nous pouvions ajouter ceci à notre configuration par exemple:

http://[2001:db8::1]/attitude_adjustment/12.09/ar71xx/generic/packages/

Nos routeurs exécutent OpenWRT et sont uniquement IPv6 et je voudrais ajouter une entrée /etc/hostspour que le nom de domaine downloads.openwrt.orgse résout en une adresse IPv6 appropriée

Est-il possible de rediriger un IPv6 vers un domaine?

rubo77
la source
2
Ce site n'a pas d'adresse IPv6 pour une raison quelconque. Peut-être devriez-vous expliquer quel est votre problème réel plutôt que quelle est, selon vous, la solution ?
Michael Hampton
Pourquoi via IPv6? Sur quel système d'exploitation êtes-vous.
JakeGould
@MichaelHampton: J'ai ajouté la raison de ma question
rubo77
J'ai édité votre titre pour expliquer la vraie question, car il est facile de l'oublier dans le corps de la question.
Michael Hampton

Réponses:

12

Vous ne pouvez pas simplement "ajouter" une adresse IPv6 pour atteindre un hôte qui n'est disponible que via IPv4. Ce sont deux protocoles complètement différents et incompatibles.

Pour que votre réseau IPv6 uniquement puisse atteindre les adresses IPv4, une passerelle est requise, qui a accès à IPv4. Cela se fait généralement avec une passerelle NAT64 / DNS64, qui traduit les adresses IPv4 en "fausses" adresses IPv6, accepte les connexions à ces "fausses" adresses IPv6 et traduit les connexions au réseau IPv4. Ces adresses IPv6 seront dans la 64:ff9b::/96plage.

Dans OpenWrt, NAT64 se fait avec Tayga et DNS64 avec bind. De plus amples informations sur leur configuration sont disponibles sur le wiki OpenWrt . Vous aurez besoin d'un réglage d'attitude ou d'un brise-barrière; les versions précédentes d'OpenWrt ne disposaient pas d'une prise en charge suffisamment complète pour IPv6 et d'autres technologies.

Vous pouvez ajouter des résolveurs DNS64 / NAT64 publics à votre /etc/resolv.conf:

nameserver 2001:67c:2b0::4
nameserver 2001:67c:2b0::6

Vous pouvez également "annuler" la traduction sur le site client, en utilisant 464xlat . 464xlat utilise les mêmes outils. (mentionné ci-dessus, mais uniquement d'une manière différente). Avec 464xlat, vous pouvez également accéder aux URL avec des adresses IP littérales.

Michael Hampton
la source
2

Le domaine downloads.openwrt.orga une adresse IPv4 mais pas d'adresse IPv6. Vous ne pouvez donc pas l'atteindre via IPv6 à moins d'utiliser un mécanisme de traduction. Vous pouvez utiliser NAT64 pour pouvoir créer une connexion TCP avec ce serveur IPv4 uniquement à partir d'un client IPv6 uniquement.

Mais pourquoi utiliseriez-vous un client IPv6 uniquement? Opter pour la double pile est une bonne idée, mais pour l'instant IPv6 uniquement n'est vraiment utile que pour tester ceux qui connaissent les limitations introduites dans un monde qui a trop d'hôtes IPv4 uniquement.

Si vous parvenez à ouvrir une connexion TCP au serveur, vous devrez faire face à un autre défi. HTTP version 1.1 nécessite que le client envoie le nom du serveur qu'il contacte via la connexion HTTP. Et de nombreux sites, notamment downloads.openwrt.orgnécessitent que cet en-tête soit envoyé.

Votre client HTTP ne peut envoyer cet en-tête que s'il connaît le nom de domaine à envoyer. Donc, vous feriez mieux de laisser le client connaître l'URL d'origine et lui donner en quelque sorte accès pour résoudre ce nom en adresse IP. S'il doit être IPv6, cela signifie que vous aurez besoin de NAT64. Cependant, un mappage du nom de domaine à l'adresse IP NAT64 peut être inséré /etc/hostset devrait fonctionner correctement.

Cela peut fonctionner correctement pour un nom de domaine individuel. Mais si vous voulez qu'un hôte IPv6 uniquement puisse atteindre plusieurs domaines sans avoir à mettre chacun d'entre eux /etc/hostsavec une adresse NAT64, vous avez besoin d'une traduction dynamique des adresses. C'est à cela que sert DNS64.

Maintenant, si le client a un accès IPv4 et qu'il ne manque que DNS, la réponse devient beaucoup plus simple. Mettez simplement l'adresse IPv4 /etc/hostscomme l'a suggéré Davidgo. Vous devrez bien sûr mettre à jour ce fichier à chaque fois que l'adresse IP du serveur change, ce qui, espérons-le, ne sera pas trop fréquent.

kasperd
la source
Certes, "opter pour la double pile est une bonne idée", mais tout le monde ne peut pas simplement "opter pour la double pile". Si mon fournisseur ne me donne que l'un ou l'autre, je ne peux pas faire grand-chose à ce sujet.
paolo
@paolo Si vous parlez de serveurs, vous pouvez choisir un fournisseur d'hébergement qui prend en charge la double pile. Il existe un si grand nombre de fournisseurs concurrents parmi lesquels choisir, insister sur la prise en charge de la double pile rend le choix un peu plus facile en réduisant la liste des fournisseurs parmi lesquels choisir. Si nous parlons de réseaux avec des utilisateurs finaux, il y a moins de concurrence car vous êtes limité aux FAI de votre zone géographique. Dans ce cas, aller avec ce que le FAI fournit fonctionnera tant que les services sur lesquels vous comptez sont à double pile comme ils devraient l'être.
kasperd
@paolo Si vous parlez de réseaux où les utilisateurs sont des développeurs, des administrateurs système ou d'autres personnes qui ont besoin d'une double pile pour développer / prendre en charge une infrastructure à double pile, vous devriez vraiment opter pour une double pile et utiliser un tunnel si le FAI ne le fait pas. prendre en charge IPv6. Vous pouvez être presque certain que le FAI fournit un moyen d'atteindre les services IPv4 uniquement via NAT64 ou un autre mécanisme de transition.
kasperd
Apparemment, ce site est désormais compatible IPv6 (mon navigateur se connecte à une adresse IP réelle plutôt qu'à ma connexion 6to4 standard)
Paul Stelian
1

Je pense que vous posez peut-être la mauvaise question - Vous ne pouvez pas rediriger une adresse IPv6 vers un domaine car le processus fonctionne dans le sens inverse, c'est-à-dire qu'un domaine se résout en un [ou plusieurs] hôtes.

Je n'ai pas pu trouver d'informations sur votre routeur, mais s'il fonctionne avec OpenWRT, vous devriez pouvoir ajouter une entrée dans / etc / hosts pour que le nom de domaine se résout à l'adresse IP appropriée.

davidgo
la source
c'est ce que j'avais en tête. mais comme il n'y a pas d'adresse ip6 "appropriée", je pensais pouvoir la rediriger d'une manière ou d'une autre. Je l'ai ajouté à la question
rubo77