IPv6 su un host CentOS

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.

Autore: Luigi Rosa

Consulente IT, sviluppatore, SysAdmin, cazzaro, e, ovviamente, geek.

6 pensieri riguardo “IPv6 su un host CentOS”

  1. Ottimo articolo, grazie Luigi.

    La mia esperienza con ipV6 al momento è tragica. I vari fornitori di connettività che ci servono (società) e mi servono (privato) al momento mi hanno riso in faccia o non avevano la più pallida idea di cosa gli ho chiesto. Questo mi intristisce molto e mi mette di malumore.

  2. sulle nostre adsl (Ehiweb) forniamo a tutti i clienti una /48 a tutti gli accessi ADSL/HDSL in DHCPv6, abbiamo fatto molto lavoro in IPv6, se ti vuoi condividere informazioni o vuoi hint contattami senza problemi.

  3. Ciao Matteo,
    ti andrebbe di scrivere qualche articolo per questo blog riguardo ipV6? Penso sarebbero utili a molti.

    Contatta Luigi o me.

Spazio per un commento