IPv6 per smanettoni

A differenza della pagina introduttiva all’IPv6, qui ci sono delle informazioni tecniche. Il contenuto di questa pagina è da considerarsi in continuo aggiornamento: alcuni aspetti tecnici potrebbero variare con il tempo man mano che i piani di battaglia entrano in contatto con il campo.

L’IPv6 ha un’ampiezza di 128 bit, gli indirizzi sono formati da 8 blocchi di 4 cifre esadecimali (lettere in minuscolo) separati da duepunti (:). Uno più blocchi di zeri può essere sostituito da due duepunti senza spazi (::). Ci può essere solamente una sola sequenza :: in un indirizzo IPv6.

Un indirizzo o un network vengono specificati con la notazione CIDR: la netmask utilizzata in IPv4 viene sostituita da una barra e un numero che indica il numero di bit di network, esempio: 2001:db8:1:cafe::1/64.

Secondo la documentazione IANA, i blocchi di indirizzi speciali o riservati sono:

  • ::/8 riservato a IETF (RFC4291)
  • ::/96 in questo spazio di 32 bit di indirizzi preceduti da zeri era riservato per mappare tutto lo spazio di indirizzamento IPv4, il suo uso è stato reso obsoleto da RFC4291
  • ::/128 un indirizzo formato da tutti zeri significa “indirizzo non specificato”, è l’indirizzo che deve assumere un’interfaccia in fase di configurazione o quando non ha un indirizzo oppure è l’indirizzo di ascolto di un daemon quando si vuole che ascolti su tutti gli indirizzi disponibili;
  • ::1/128 indirizzo del loopback locale, equivalente IPv6 del 127.0.0.1 IPv4;
  • 2001:db8::/32 spazio riservato per gli indirizzi da utilizzare nei manuali, negli esempi, eccetera;
  • fe80::/10 Link Local Address non routabile che ogni host IPv6 deve avere oltre ad un eventuale indirizzo pubblico;
  • fec0::/10 spazio riservato inizialmente da RFC1884 per le connessioni locali all’interno di un’organizzazione, in seguito il suo uso è stato scoraggiato da RFC3879;
  • fc00::/7 Unique Local Address definito da RFC4193, è paragonabile gli IPv4 non routabili riservarti per le LAN da RFC1918;
  • ff00::/8 spazio degli indirizzi multicast.

Secondo le raccomandazioni attuali, ad un singolo utente finale non deve essere assegnata una classe IPv6 inferiore ad un /64, il che significa che ogni utente finale avrebbe a disposizione uno spazio di indirizzamento pari al doppio dell’intero spazio IPv4.

Questa guida del RIPE potrebbe essere utile per capire come pianificare l’indirizzamento IPv6 all’interno di un’organizzazione.

12 pensieri riguardo “IPv6 per smanettoni”

  1. Scusa, ma se ad un utente finale va assegnata una classe /64 (perlomeno), non si tratta di 2^64 indirizzi?

    Dunque non e` il doppio degli indirizzi IPv4, e` *il quadrato*…

    1. Non c’e’ scritto che e’ il doppio degli indirizzi, ma il doppio dello spazio, inteso come numero di bit. Lo so, e’ tirata per i capelli, ma era quello il senso.

      1. Si, capisco il senso… ma si puo` scrivere piu` chiaramente…

        Che ne dici di “… il che significa che ogni utente finale avrebbe a disposizione uno spazio di indirizzamento con il doppio dei bit dell’intero spazio IPv4, il che significa che il numero di indirizzi IP a disposizione di ogni singolo utente finale e` addirittura il quadrato degli indirizzi attualmente disponibili in tutta Internet con la tecnologia IPv4” ?

        Non e` proprio scorrevolissimo…

  2. Ciao. Ho qualche dubbio su IPv6 e la sua implementazione. Chissà se qualcuno con molta pazienza che vuole darmi qualche spiegazione?

    – C’è qualche collegamento tra MAC address e IPv6, oppure i due concetti restano separati come in IPv4? C’è qualche magia che permette l’auto-assegnazione di un IPv6 senza passare da un server DHCP?

    – E’ verosimile pensare che gli ISP assegneranno blocchi *statici* di IPv6 ai propri clienti? (devo dire che mi stupirei già soltanto se assegnassero davvero spazi /64)

    – In una eventuale rete domestica, immagino che ogni scheda di rete sarà connessa direttamente a Internet. Niente più NAT, ma pur sempre un gateway per uscire di casa. Come cambia il ruolo di un router con IPv6?

    – Se tutti gli IP sono pubblici, ha ancora senso parlare di rete domestica?

    – Esisterà ancora la possibilità di condividere una risorsa soltanto nell’ambito di una determinata sottorete, oppure si lascia il controllo degli accessi all’autenticazione software?

    Per ora mi fermo qui… Grazie a chi vorrà riordinarmi un po’ le idee.

    1. – C’è qualche collegamento tra MAC address e IPv6
      Si’, il sistema di autoassegnamento dell’IPv6 in un blocco /64 secondo RFC 4291 con lo SLAAC (RFC 4862). Pero’ il router autodiscovery e’ un buco di sicurezza perche’ nell’implementazione attuale qls host puo’ annunciarsi come router.

      – E’ verosimile pensare che gli ISP assegneranno blocchi *statici* di IPv6 ai propri clienti?
      Dovrebbero, ma la perversione commerciale degli ISP non smette mai di stupirci

      – In una eventuale rete domestica, immagino
      Il NAT non è una forma di sicurezza. La sicurezza la implementi con un firewall che blocca le connessioni non “established” provenienti dall’esterno. L’impostazione di default di pfSense e’ gia’ cosi’. In questo modo gli IPv6 interni escono, ma nessuno da fuori puo’ stbilire nuove connessioni con l’interno.

      – Se tutti gli IP sono pubblici, ha ancora senso parlare di rete domestica?
      Chi ha mai detto che una rete “domestica” IPv6 e’ non-routabile secondo i termini di RFC1918? 🙂 Posto che esista una definizione tecnica di rete “domestica”.

      – Esisterà ancora la possibilità di condividere una risorsa soltanto nell’ambito di una determinata sottorete,
      Firewall.
      Oppure non ho capito la domanda.

      1. Dici che il NAT non è una forma di sicurezza, però la maggior parte dei router casarecci implementa, insieme al NAT, un semplice firewall che blocca le connessioni inziate dall’esterno, o no?
        Inoltre se il mio PC ha un indirizzo 10.0.0.x non lo raggiungi da fuori senza DMZ o regole opportune.

        1. Appunto: c’e’ il firewall.
          Un firewall come quello di default di pfSense e’ come un NAT in overload (ovvero uno a molti) perche’ non permette le connessioni dall’esterno verso la LAN.

          Pensare al NAT come “sicurezza” e’ un grave errore di valutazione, senza contare che il NAT “rompe” l’univocita’ degli indirizzi di rete.

          1. Ok, forse c’è un problema di terminologia. Noi non professionisti di networking usiamo superficialmente il termine NAT quando tu useresti “NAT overload”.
            Correggimi se sbaglio: un semplice router configurato con il solo NAT overload, già blocca le connessioni in arrivo dall’esterno perché in assenza di regole specifiche non saprebbe a quale IP privato inoltrarle, giusto? Se dici che questo va chiamato firewall io prendo nota, sono qui per imparare.

            A proposito di terminologia (vado un po’ OT), c’è un tipo di NAT che io chiamo “inbound NAT”, ma non sono sicuro che sia il termine giusto. Ti spiego la situazione: prendi una rete aziendale con due router ADSL, ciascuno con il proprio IP statico, situazione preesistente. Sul server (con IP privato) configuro il primo router come default gw, e quello è sistemato. Per il secondo però non posso fare route statiche in quanto questo si affaccia su internet esattamente come il primo. Su entrambi i router esiste la medesima regola di port forwarding verso l’unico server, ma sul secondo devo anche impostare il Source NAT per mascherare gli IP esterni in modo che i pacchetti di risposta transitino verso la giusta ADSL. Immagino che esista un nome specifico per questo tipo di NAT, puoi aiutarmi? Grazie!

            1. “nat overload” è terminologia CISCO, in pratica è il NAT 1:molti tipico di un’ADSL casalinga.

              Sul discorso NAT/firewall/sicurezza ci sono due cose da dire.

              Innanzi tutto bisognerebbe usare gli strumenti per quello che sono stati fatti.

              Il NAT è stato pensato per rimandare (rimandare!) il problema dell’esaurimento dello spazio IPv4 ed è una tecnologia che permette di tradurre un indirizzo in un subnet (1:molti, ovvero permettere un 192.168.1.0/24 di accedere a Internet con l’IP da 5.120.34.2); è anche possibile configurare l’inoltro di una porta TCP/UDP ad un singolo host della rete mascherata (tipo la porta 80/TCP in ingresso ridiretta sul 192.168.1.80) oppure, se l’indirizzo esterno non è un /32 ma è più ampio permette anche di inoltrare tutte le connessioni in ingresso su un singolo host della rete mascherata. L’uso di protocolli scritti male (SIP) o scritti nella preistoria (FTP) obbliga il NAT a fare qualche acrobazia, ma è un’altra storia.

              Il NAT E’ MALE perché rompe l’univocità degli indirizzi degli host. In questo momento ti sto scrivendo da un host che ha come IP 192.168.1.123 e in questo momento molti host connessi a Internet hanno lo stesso indirizzo. Attenzione a non confondere un indirizzo RFC1918 con il “link local”. Nel primo caso l’IP RFC1918 è quello che l’host crede essere il suo IP “pubblico”, mentre nel caso del link local l’host sa che è un IP da usare solo in LAN.

              Il firewall, invece, raggruppa quell’insieme di tecnologie che permettono di controllare (bloccare, filtrare) il flusso dei pacchetti IP. Il firewall blocca un subnet, blocca una porta, analizza

              Le due tecnologie (NAT e firewall) sono indipendenti e servono scopi diversi. Che poi l’interfaccia utente di alcuni dispositivi le metta assieme è un altro discorso.

              Il nome specifico per quel tipo di NAT che hai descritto esiste ed è BORDELLO 🙂 🙂 🙂

              1. Grazie, leggerti è sempre molto utile.
                E al tuo collega di turno dirò: “basta che mi configuri una NAT di tipo bordello!” 🙂

Spazio per un commento