Modifiche

Da GolemWiki.

IPv6 @ GOLEM

6 353 byte aggiunti, 14:12, 8 ott 2018
Unione con quanto scritto l'estate scorsa, e che pensavo di aver perso
}}
Un ottimo utilizzo della VPN== Due parole su questa pagina ==Questa pagina è un maldestro tentativo:* per riassumere le ragioni che ci hanno portato a decidere di dotarci di IPv6;* per documentare la nostra infrastruttura di rete; Questa pagina potrebbe anche diventare obsoleta in poco tempo. La data di stesura è estate 2018, ed è possibile vedere i cambiamenti tramite la ''Cronologia'' di Mediawiki. == Due parole sull'IPv6 ==[https://it.wikipedia.org/wiki/IPv6 IPv6] è un "nuovo" protocollo a livello di rete che da diversi anni sta sostituendo IPv4.Le novità introdotte da IPv6 sono molteplici; tra queste, quella che balza immediatamente all'occhio è l'enorme dimensione dello spazio di indirizzamento. {| class="wikitable"| '''Protocollo'''| '''lunghezza indirizzo'''| '''numero indirizzi'''|-| IPv4| 32 bit| <math>2^{32}</math> = 4 miliardi|-| IPv6| 128 bit| <math>2^{128}</math> = 256 miliardi di miliardi di miliardi di miliardi|} Su questo pianeta vi sono circa 8 miliardi di persone [https://it.wikipedia.org/wiki/Popolazione_mondiale], di cui la metà [http://www.lastampa.it/2018/01/31/tecnologia/gli-utenti-di-internet-sono-pi-di-quattro-miliardi-nel-mondo-milioni-in-italia-wMxQskzXeabwa3wgWI2jUO/pagina.html] è connessa a Internet, e nei paesi sviluppati hanno anche più di un dispositivo connesso. Si aggiungano i numerosissimi apparati di rete e server necessari per il funzionamento dell'infrastruttura e la fornitura di servizi, e si può facilmente intuire che IPv4 non è più sufficiente per le attuali necessità. Infatti gli IPv4 stanno finendo [https://en.wikipedia.org/wiki/IPv4_address_exhaustion] (qui [https://www.ripe.net/publications/ipv6-info-centre/about-ipv6/ipv4-exhaustion/ipv4-available-pool] il grafico aggiornato degli indirizzi rimanenti al RIPE, il registro europeo). === IPv4 vs IPv6 ======= Notazione ====* IPv4 &rarr; 4 byte rappresentati con numeri decimali separati da un punto, es: <code>192.0.2.127</code>* IPv6 &rarr; 16 byte, ogni byte è rappresentato da due cifre esadecimali; ogni 4 cifre esadecimali si inseriscono i ''due punti'' <code>:</code>; come in IPv4 è possibile omettere gli zeri in testa; la più lunga sequenza di zeri allineata a 4 può essere omessa per intero; esempi (indirizzi equivalenti):** <code>2001:0470:c844:0020:0000:0000:0000:0001</code>** <code>2001:470:c844:20:0:0:0:1</code>** <code>2001:470:c844:20::1</code> ==== Tipi di indirizzi ====* IPv6 Reference Card by RIPE [https://www.ripe.net/manage-ips-and-asns/ipv6/ipv6-address-types/ipv6_reference_card_July2015.pdf] Riassunto:{| class="wikitable"| '''IPv6'''| '''Equivalente IPv4'''| '''Significato'''|-| <code>::1/128</code>| <code>127.0.0.1</code>| Indirizzo loopback|-| <code>fc00::/7</code>| <code>192.168.0.0/16</code>, <code>10.0.0.0/8</code>, <code>172.16.0.0/12</code>| Indirizzo privato|-| <code>fe80::/10</code>| <code>169.254.0.0/16</code>| Indirizzo link-local (univoco nella rete locale, oltre e autoassegnato)|-| <code>2001:db8::/32</code>| <code>192.0.2.0/24</code>| Esempi e documentazione|-| <code>2000::/3</code>|| Indirizzi unicast globalmente raggiungibili|} ==== Indirizzi pubblici vs privati ====Gli IPv6 sono così tanti che non c'è bisogno di utilizzare indirizzi privati: niente NAT, niente port-forwarding. Questo restituisce connettività end-to-end ai dispositivi e apre numerose nuove possibilità di impiego, rimaste nascoste per anni a causa della scarsità di IPv4 e degli osceni espedienti inventati. Una banalità: non sarà più necessario passare attraverso un server terzo per collegare macchine interne tra condividere documenti, chattare o telefonare ai propri contatti. Se necessarie, le caratteristiche di "sicurezza" introdotte dal NAT possono essere sostituite e accorpate a un banale firewall. ==== Progettazione di lorouna rete ====Nel progettare una rete con IPv4, la necessità principale è lquella di risparmiare sugli indirizzi, perciò vengono usati prefissi di rete di varia lunghezza.Nel progettare una rete con IPv6, si hanno a disposizione così tanti indirizzi che conviene utilizzarli in maniera da renderne più agevole una distribuzione logica. Sono così identificate le seguenti dimensioni standard per le reti IPv6 (nulla vieta di usare dimensioni personalizzate):* '''/126'''uso : contiene 2 soli host, utilizzata per collegarsi alla i collegamenti punto-punto nell'infrastruttura di rete;* '''/64''': è la più piccola rete che dovrebbe essere fatta; dimensione utilizzata nelle LAN; lo spazio di indirizzamento è esageratamente sovradimensionato ed è sufficiente per qualunque LAN immaginabile (è 4 miliardi di volte più grande di tutta la Internet IPv4); viene usata in ambito domestico;* '''/56''': contiene 256 reti di dimensione /64, viene usata in ambito domestico o per piccole imprese;* '''/48''': contiene 65536 reti di dimensione /64, viene usata in ambito aziendale; Le LAN non devono avere un prefisso più lungo di /64, perché molte nuove funzionalità introdotte con IPv6(es SLAAC, Privacy Extension, ...), e anche funzionalità che saranno introdotte in futuro, visto daranno per scontato che ancorale reti abbiano almeno questa dimensione. === Ottenere connettività IPv6 ===* si può richiedere nativamente al proprio ISP, ma in Italianon sono molti gli operatori consumer che la forniscono;* si possono fare dei tunnel che veicolano il traffico IPv6 all'interno dei pacchetti IPv4 (sprecando un po' di banda); Tunnel:* pro:** molti sono gratuiti;* contro:** spreco di banda per incapsulare i pacchetti (qualche decina di byte in più per ogni pacchetto, gli utenti domestici circa 20 ogni 1500);** maggiore latenza;** alcuni richiedono un indirizzo IPv4 statico; altri richiedono complicate configurazioni per l'uso con indirizzi dinamici;** alcuni non sono serviti.funzionano dietro NAT (la quasi totalità delle reti domestiche); == Considerazioni e descrizione generale ==
[[Immagine:Tunnel-ipv6.jpeg|500px|right]]
 
Infrastrutture (quasi) esistenti:
* VPN
 
Viene realizzato un tunnel tra un intermediario e il nostro VPS. L'intermediario inoltra al VPS tutti i pacchetti destinati alla nostra rete.
La nostra rete viene scomposta in sottoreti: una rete di backbone, una per l'officina e una per ogni altro punto di accesso necessario, es uno per ogni abitazione dei soci.
Il VPS conosce le rotte per raggiungere ogni singola sottorete e inoltra i pacchetti che riceve dall'intermediario verso il giusto router di ogni punto di accesso. Il router del punto di accesso inoltra i pacchetti allo specifico host destinatario.
 
Si procede analogamente a ritroso.
In figura è mostrata la visione ''logica'' della rete che si vuole realizzare:
Ci è stata assegnata la rete <code>2001:470:c844::/48</code>, che significa:
* tutto il traffico di Internet IPv6 diretto a un indirizzo che cade in 2001:470:c844::/48 verrà instradato verso il nostro VPS;
* abbiamo a disposizione ben <math>2^{80 }</math> indirizzi per pianificare la nostra rete come più ci aggrada;
Lo so, dopo anni bui di NAT dopo NAT e carenza di indirizzi, questa sembra fantascienza.
2001 : 0470 : c844 : rrrr : xxxx : xxxx : xxxx : xxxx
Siccome abbiamo 80 bit a disposizione e la rete più piccola che possiamo fare secondo RFC è di 64 bit, possiamo fare ben <math>2^{16 }</math> reti (''rrrr'' nell'esempio).
Per semplicità (perché alla fine è a questo che servono tutti questi indirizzi in IPv6), poniamo ''rrrr'' = ''zzzy'', dove:
* ''zzz'' (12 bit) identifica l'''utente'';
* ''y'' (4 bit) identifica la ''sottorete personale'' dell'utente (<math>2^4 </math> = 16 sottoreti personali)
Queste sottoreti personali possono essere instradate direttamente dal VPS, ma se l'utente lo desidera (e, compatibilmente con altri vincoli, è fortemente invitato a desiderarlo per evitare che le tabelle di routing scoppino) può aggregare qualunque prefisso da /64 al più corto /60.
===== Installare e configurare radvd =====
''radvd'' è il demone di ''router advertisement''.
Per la configurazione automatica degli indirizzi e del gateway in IPv6 non è necessario un ''complesso'' server DHCP, ma vista la vastità dello spazio di indirizzamento (anche la rete più piccola ha ben <math>2^64 </math> indirizzi disponibili) basta il più semplice ''radvd''.
Un router con ''radvd'', a intervalli regolari, trasmette un messaggio in broadcast a tutti gli host della rete, informandoli sul prefisso di rete da utilizzare; a questo punto gli host possono autoconfigurarsi col metodo che preferiscono (es. [https://tools.ietf.org/search/rfc4862 SLAAC] con o senza [https://tools.ietf.org/html/rfc4941.html estensione per la privacy]).

Menu di navigazione