IPv6 schizofrenico

Chicago mallQuando si comincia ad utilizzare IPv6 in produzione su una configurazione LAN eterogenea iniziano i comportamenti a cui non siamo abituati.

Con IPv4 un host impostato per la configurazione automatica si assegna un indirizzo link-local (169.254.0.0/16, RFC3927) contatta il server DHCP per avere un indirizzo e, quando lo ottiene, scarta l’indirizzo link-local e avrà sempre solamente quell’indirizzo fino alla scadenza dell’affitto dello stesso.

Innanzi tutto, IPv6 mantiene l’indirizzo link-local fe80::/10 di ogni interfaccia diversa dal localhost. Questo è il problema minore perché generalmente i programmi non utilizzano il link-local se non istruiti espressamente per farlo.

Il problema vero e proprio si verifica quando c’è un metodo di configurazione automatica e un host viene configurato con un IPv6 fisso. In questo caso un host si potrebbe prendere sia l’IPv6 fisso sia uno autoconfigurato. Inoltre per default Windows assegna un ulteriore indirizzo IPv6 per sfruttare la privacy della connessione e ridurre la tracciabilità quando si va online (RFC4941).

Il risultato finale è che un host ha una babele di indirizzi. E il SysAdmin invoca le divinità.

Leggi tutto “IPv6 schizofrenico”

Tunnel IPv6 con HE e pfSense

pfSenseHo deciso di cambiare qualcosa nelle configurazione casalinga introducendo un po’ di virtualizzazione, un firewall standalone e un tunnel IPv6 (spero) finalmente stabile.

Seguendo le istruzioni di Fabrizio ho configurato il Linux casalingo di frontiera con KVM e una VM su cui gira la versione 2.1 di pfSense. Alla fine la configurazione è (per scelta di non complicarmi troppo la vita per ora) la più classica e semplice: WAN<->firewall<->LAN con i servizi pubblicati in LAN nattati (per IPv4) 1:1, senza DMZ, per ora.

Questo mi ha permesso di togliere i mezzo dal Linux host la gestione del tunnel e altri servizi legati alla rete (come il DHCP e radvd).

Quello che serve per lo scopo di questo articolo è un tunnel IPv6 gratuito con Hurricane Electric (un solo /64 è sufficiente), una connessione con IP fisso e un firewall pfSense. Negli esempi che seguono gli IP sono ovviamente inventati (per IPv4) o del blocco /32 utilizzabile per la documentazione (per IPv6).

Leggi tutto “Tunnel IPv6 con HE e pfSense”

IPv6: attacco RA flood

Scala verso l'acqua / Stairway to waterSam Bowne ha scoperto e verificato sul campo che molti sistemi operativi sono vulnerabili ad un attacco di RA flood.

L’attacco, che si verifica solamente se sono attivi lo stack IPv6 e l’assegnamento automatico dell’indirizzo, consiste nel bombardare la vittima con dei pacchetti RA creati appositamente con un numero tale di informazioni da mandare in crash i sistemi.

I sistemi interessati da questo problema sono moltissimi: Microsft Surface, Android, tutti gli iPad (incluso il mini), Mac OSX, Windows 7, Windows 2008 e Windows 2008 R2.

Se viene installato l’IPv6 Readiness Update su Windows il problema viene leggermente mitigato, anche se il sistema si congela durante l’attacco, per riprendersi una volta che l’invio di pacchetti termina.

Linux Ubuntu ha passato indenne questo tipo di attacco.

Non è la prima volta che viene dimostrata una vulnerabilità dei sistemi di autoconfigurazione di IPv6. Eventuali test in un ambiente non controllato dovrebbero essere condotti per il momento senza attivare questi automatismi sugli host per evitare che qualche buontempone si diverta con uno dei tanti script che sono in circolazione.

Tunneling IPv6 di HE con Linux CentOS

Nota aggiunta il 30/9/2013: a questa soluzione è da preferire quella descritta in un articolo successivo con pfSense e KVM.

(alcune parti sono state modificate dopo la pubblicazione)

Questo articolo spiega come impostare un tunnel IPv6 con Linux CentOS 5 configurato come gateway, NAT e firewall di una LAN.

Lo scenario è il seguente: un router ADSL con IPv4 pubblico collegato ad un Linux che fa da NAT/firewall per la LAN. In questo esempio eth0 è l’interfaccia WAN con un IPv4 pubblico /29 e eth1 è l’interfaccia LAN con un IPv4 /24.

Alla fine della procedura la classe /64 di IPv6 pubblici con reverse DNS potrà essere utilizzata per assegnare indirizzi pubblici ai dispositivi IPv6 in LAN, incluso il gateway Linux.

Leggi tutto “Tunneling IPv6 di HE con Linux CentOS”

IPV6 a casa e in ufficio con OpenWRT

(Disclaimer: seguite questo tutorial a vostro rischio e pericolo. Potreste incorrere in danni hardware come il brick del dispositivo, intrusioni di hacker nel vostro sistema o sviluppare dipendenza da IPV6. In nessun caso l’autore potrà esserne ritenuto responsabile)

Nel nostro paese è molto difficile ottenere una connessione con IPV6 nativo per la casa o l’ufficio.

La soluzione di seguito proposta consentirà di portare IPV6 sulla vostra LAN in maniera trasparente.

Il dispositivo che renderà possibile questo risultato è un router un po’ particolare, ma facilissimo da procurare. Probabilmente se siete informatici per professione o diletto lo avete già nella cassetta del materiale di scarto :-).

Nel mio caso ne ho reperiti un paio, ma la mia scelta è caduta sul più potente router/access point Dlink DIR-600.

DIR-600

Leggi tutto “IPV6 a casa e in ufficio con OpenWRT”

Test connettività IPv6

Il sito test-ipv6.com permette di verificare la propria connettività IPv6.

I test avvengono tramite javascript eseguiti lato client.

Il progetto è completamente open source ed i sorgenti sono disponibili per il download.

Il sito potrebbe avere alcuni problemi con Opera.