Come posso raggiungere gli indirizzi IPv4 da una rete solo IPv6?


11

Vorrei raggiungere questo indirizzo tramite un indirizzo IPv6:
http://downloads.openwrt.org/attitude_adjustment/12.09/ar71xx/generic/packages/

Nei nostri router Freifunk non è disponibile alcun DNS, quindi il nome downloads.openwrt.orgnon può essere risolto. Tutti i server in Internet sono raggiungibili solo tramite indirizzi ipv6. Ora non possiamo raggiungere questo mirror del pacchetto dall'interno del router per installare i pacchetti tramite opkg install.

Sarebbe una soluzione, se potessimo aggiungere questo alla nostra configurazione, ad esempio:

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

I nostri router eseguono OpenWRT e sono solo IPv6 e vorrei aggiungere una voce in /etc/hostsmodo che il nome di dominio downloads.openwrt.orgsi risolva in un indirizzo IPv6 appropriato

È possibile reindirizzare un IPv6 a un dominio?


2
Quel sito non ha un indirizzo IPv6 per qualche motivo. Forse dovresti spiegare qual è il tuo vero problema, piuttosto che quale pensi sia la soluzione ?
Michael Hampton,

Perché tramite IPv6? Su quale sistema operativo sei.
Jake Gould,

@MichaelHampton: ho aggiunto il motivo della mia domanda
rubo77

Ho modificato il tuo titolo per spiegare qual è la vera domanda, dal momento che è facile mancare all'interno del corpo della domanda.
Michael Hampton,

Risposte:


12

Non è possibile semplicemente "aggiungere" un indirizzo IPv6 per raggiungere un host disponibile solo tramite IPv4. Questi sono due protocolli completamente diversi e incompatibili.

Affinché la tua rete solo IPv6 sia in grado di raggiungere gli indirizzi IPv4, è necessario un gateway che abbia accesso a IPv4. Questo viene generalmente eseguito con un gateway NAT64 / DNS64, che traduce gli indirizzi IPv4 in indirizzi IPv6 "falsi" e accetta connessioni a quegli indirizzi IPv6 "falsi" e traduce le connessioni alla rete IPv4. Questi indirizzi IPv6 saranno 64:ff9b::/96compresi nell'intervallo.

In OpenWrt, NAT64 viene eseguito con Tayga e DNS64 con bind. Ulteriori informazioni su come configurarli sono disponibili nel wiki OpenWrt . Avrai bisogno della regolazione dell'atteggiamento o della barriera; le versioni precedenti di OpenWrt non avevano un supporto sufficientemente completo per IPv6 e altre tecnologie.

Puoi aggiungere resolver DNS64 / NAT64 pubblici al tuo /etc/resolv.conf:

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

Puoi anche "ripristinare" la traduzione sul sito client, usando 464xlat . 464xlat utilizza gli stessi strumenti. (menzionato sopra, ma solo in modo diverso). Con 464xlat puoi anche raggiungere gli URL con IP letterali.


2

Il dominio downloads.openwrt.orgha un indirizzo IPv4 ma nessun indirizzo IPv6. Quindi non è possibile raggiungerlo tramite IPv6 se non si utilizza un meccanismo di traduzione. È possibile utilizzare NAT64 per poter creare una connessione TCP a quel server solo IPv4 da un client solo IPv6.

Ma perché dovresti utilizzare un client solo IPv6? Passare al dual stack è una buona idea, ma per ora solo IPv6 è davvero utile solo per i test per chi conosce i limiti che introduce in un mondo che ha troppi host solo IPv4.

Se riesci ad aprire una connessione TCP al server, dovrai affrontare un'altra sfida. La versione HTTP 1.1 richiede che il client invii il nome del server che sta contattando tramite la connessione HTTP. E molti siti, tra cui downloads.openwrt.orgrichiedono l'invio di questa intestazione.

Il tuo client HTTP può inviare quell'intestazione solo se conosce il nome di dominio da inviare. Quindi faresti meglio a far conoscere al client l'URL originale e in qualche modo dargli accesso per risolvere quel nome in un indirizzo IP. Se deve essere IPv6, significa comunque che avrai bisogno di NAT64. Tuttavia, è possibile inserire una mappatura dal nome di dominio all'indirizzo IP NAT64 /etc/hostse dovrebbe funzionare perfettamente.

Potrebbe funzionare bene per un singolo nome di dominio. Ma se si desidera che solo un host IPv6 sia in grado di raggiungere più domini senza dover inserire ognuno di essi /etc/hostscon un indirizzo NAT64, è necessaria una traduzione dinamica degli indirizzi. Ecco a cosa serve DNS64.

Ora se il client ha accesso IPv4 e manca solo il DNS, la risposta diventa molto più semplice. /etc/hostsInserisci l' indirizzo IPv4 come suggerito da David. Ovviamente dovrai aggiornare quel file ogni volta che cambia l'indirizzo IP del server, che si spera non sia troppo spesso.


Certamente "andare in dual stack è una buona idea", ma non tutti possono semplicemente "andare in dual stack". Se il mio provider mi dà solo l'uno o l'altro, non c'è molto che io possa fare al riguardo.
paolo,

@paolo Se stai parlando di server, puoi scegliere un provider di hosting che supporti il ​​dual stack. C'è un numero così elevato di fornitori concorrenti tra cui scegliere che insistere sul supporto dual stack rende la scelta un po 'più semplice tagliando l'elenco dei fornitori tra cui scegliere. Se parliamo di reti con utenti finali, la concorrenza è minore in quanto si è limitati agli ISP nella propria area geografica. In tal caso, andare con ciò che fornisce l'ISP funzionerà finché i servizi su cui fai affidamento sono dual stack come dovrebbero essere.
Kasperd,

@paolo Se stai parlando di reti in cui gli utenti sono sviluppatori, amministratori di sistema o altri che necessitano di dual stack per sviluppare / supportare l'infrastruttura dual stack, allora dovresti davvero passare a dual stack e utilizzare un tunnel se l'ISP non lo fa supporto IPv6. Puoi essere quasi certo che l'ISP fornisca un modo per raggiungere i servizi solo IPv4, eventualmente attraverso NAT64 o altri meccanismi di transizione.
Kasperd,

Apparentemente quel sito ora è abilitato per IPv6 (il mio browser si collega a un IP effettivo piuttosto che alla mia connessione 6to4 standard)
Paul Stelian,

1

Penso che potresti farti la domanda sbagliata: non puoi reindirizzare un indirizzo IPv6 a un dominio perché il processo funziona in modo opposto, ovvero un dominio si risolve in un [o molti] host.

Non sono stato in grado di trovare alcuna informazione sul tuo router, ma se è in esecuzione OpenWRT dovresti essere in grado di aggiungere una voce in / etc / hosts in modo che il nome di dominio si risolva all'indirizzo IP appropriato.


era quello che avevo in mente. ma dato che non esiste un indirizzo ip6 "adeguato", ho pensato di poter reindirizzarlo in qualche modo. L'ho aggiunto alla domanda
rubo77,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.