Questo articolo inaugura una (spero) nutrita serie di articoli sull’IPv6 per cui è stata creata una tassonomia specifica.
L’idea è che tutti gli autori del blog condividano le proprie esperienze con IPv6 e le mettano a disposizione degli altri, che le possono consultare utilizzando le categorie nella colonna a sinistra.
Se qualcuno vuole contribuire come guest blogger oppure come autore ricorrente, per questo tema (o anche per altri) mi scriva pure a lrosa()siamogeek.com.
Scenario: abbiamo un server CentOS headless in hosting con un IPv4 fisso e configurato, che utilizziamo per fare amministrazione via ssh e dobbiamo aggiungere un indirizzo IPv6 che ci ha assegnato il fornitore.
La prima differenza rispetto ad un IPv4 è che non ci vengono assegnati, generalmente, uno o due indirizzi, ma un blocco. Nel mio caso mi hanno dato 2a01:4f8:d15:1c00::/64; dal momento che IPv6 ha 128 bit di indirizzo, un /64 significa che ho 64 bit di indirizzo fisso (2a01:4f8:d15:1c00) e altrettanti disponibili per il mio server. Un sogno, se ragioniamo con il razionamento di IPv4.
Il fornitore mi ha detto che 2a01:4f8:d15:1c00::1 è il default gateway, quindi gli indirizzi che posso utilizzare vanno da 2a01:4f8:d15:1c00::2 a 2a01:4f8:d15:1c00:ffff:ffff:ffff:ffff.
Scelgo come IP da utilizzare per i test 2a01:4f8:d15:1c00::badd:ecaf
A titolo precauzionale (anche se conosco già la risposta) verifico che l’IPv6 sia gestito dal kernel con il comando
cat /proc/net/if_inet6
che produce qualcosa tipo
00000000000000000000000000000001 01 80 10 80 lo
fe800000000000000219d1fffe2cb5a0 02 40 20 80 eth0
Il primo passo è abilitare il networking IPv6, per fare questo si aggiunge a /etc/sysconfig/networking
la riga
NETWORKING_IPV6=yes
Dopodiché bisogna assegnare indirizzo e gateway all’interfaccia di rete attiva, che nel mio caso è la eth0. Modifico, quindi, il file /etc/sysconfig/network-scripts/ifcfg-eth0
e aggiungo queste righe:
IPV6INIT=yes
IPV6ADDR=2a01:4f8:d15:1c00::badd:ecaf
PV6_DEFAULTGW=2a01:4f8:d15:1c00::1
La prima riga abilita l’IPv6 sull’interfaccia, le altre specificano l’indirizzo IPv6 e il default gateway.
Riavviando il networking con service network restart
viene attivato il dual stack IPv4/IPv6 e l’interfaccia eth0 si configura con l’IPv6 specificato.
Faccio il primo controllo con il comando ifconfig
il cui dettaglio dell’interfaccia eth0 deve contenere la riga
inet6 addr: 2a01:4f8:d15:1c00::badd:ecaf/64 Scope:Global
Posso fare, quindi il primo test di connettività IPv6 utilizzando un nome host che risolve solamente un indirizzo IPv6: ipv6.google.com; do quindi il comando
ping6 -c 5 ipv6.google.com
che risponde così
PING ipv6.google.com(muc03s01-in-x11.1e100.net) 56 data bytes 64 bytes from muc03s01-in-x11.1e100.net: icmp_seq=1 ttl=55 time=16.0 ms 64 bytes from muc03s01-in-x11.1e100.net: icmp_seq=2 ttl=55 time=15.8 ms 64 bytes from muc03s01-in-x11.1e100.net: icmp_seq=3 ttl=55 time=15.4 ms 64 bytes from muc03s01-in-x11.1e100.net: icmp_seq=4 ttl=55 time=15.7 ms 64 bytes from muc03s01-in-x11.1e100.net: icmp_seq=5 ttl=55 time=15.9 ms --- ipv6.google.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4022ms rtt min/avg/max/mdev = 15.416/15.822/16.078/0.241 ms
Posso anche utilizzare traceroute6
per vedere il percorso dei pacchetti IPv6. Entrambe le utility sono nel pacchetto iputils, che include sia le versioni IPv6 sia quelle IPv6.
La tabella di routing IPv6 può essere visualizzata con il comando
route -A inet6
IPv6 è finalmente attivo sul sistema, non dimentichiamo che le regole di iptables IPv4 non si applicano a IPv6 e che, quindi, potremmo essere vulnerabili.
Lascia un commento