Archive for the ‘Technology’ Category

IPv4 address exhaustion

Wednesday, February 2nd, 2011


IPv4 IPv6 Statistics 2 February 2011
Internet user, you should know that IPv4 address exhaustion is becoming closer, or let’s use a more appropriate term: imminent!

As you can see from the image on the right (a screenshot taken from the Hurricane Electric web site) the countdown for the estimated date of IPv4 address exhaustion will reach 0 tomorrow! In fact, the last free IPv4 /8 block has been assigned in these days by IANA.

Who is IANA? IANA is the authority that distributes addresses to the regional Internet registries (such as RIPE), for assignment to end users and local Internet registries (such as ISPs). The IPv4 address list has 256 blocks, each block has 16,777,216 /8 addresses, so we have 4.3 billion IPv4 total addresses.

What will happen now?

You may have heard about IPv6, the ‘new’ Internet Protocol, established in 1998 to supplant IPv4. Whereas IPv4 uses 32 bit addresses, IPv6 uses 128 bit addresses, which dramatically increase number of available addresses from 4.3 billion to:

340,282,366,920,938,463,463,374,607,431,768,211,456

But, is the world ready to migrate? I don’t think so.

Someone can say migration has already started. In fact every modern OS has an IPv4/IPv6 dual-stack  implementation, but this is not true for network devices, such as most of the routers, switches, etc. Moreover world lack of IPv6 ready services (such as the main one, DNS, we only have a few IPv6 ready DNS) and, most of all, a global TCP/IP network infrastructure that is not IPv6 compliant yet. There are also a lot of security issues. NAT is no more necessary with IPv6, and hiding IP topology will not be a security strategy anymore.

Rispolveriamo la Fonera: sottorete IPv6

Tuesday, October 5th, 2010

Erano un po’ di giorni che guardavo la mia vecchia Fonera (oggetto di alcuni post precedenti), e pensavo a quanti giocattolini avessi comprato, usato per un po’, e lasciato marcire da qualche parte. Poi ieri, girando per la rete, sono arrivato sul sito di un Tunnel Broker IPv6 (Hurricane Electric) che permette, previa registrazione gratuita, di avere connettività sul mondo IPv6 (con una sottorete /64) tramite tunnel IPv4 con uno dei suoi server. Anni fa avevo già provato questo genere di servizi, al tempo un po’ più difficili da trovare per connessioni private a IP dinamico, un po’ per farci esperimenti, ma più che altro per fare il figo (ogni informatico che si rispetti ha avuto un passato da lameruccio :D ) su IRCNet con IPv6 e DNS AAAA, di quelli superfantasiosi. Ora però mi incuriosiva il fatto di poter sfruttare l’intera sottorete per distribuire indirizzi v6 sui pc di casa. Allora mi sono detto, perché non rispolverare la Fonera e creare una bella sottorete IPv6 dinamica? :D

Detto, fatto! Eh si, quando mi prende non riesco a dire di no.

Ho preso la Fonera. Ci ho flashato l’ultimo firmware OpenWrt Kamikaze (anche perché non ricordavo le password di accesso a quella già installata -.-’). Ho ripulito l’OpenWrt dei servizi inutili per risparmiare memoria. Ho configurato il tunnel con il tunnel broker. Installato e configurato Radvd, per l’assegnazione degli IPv6 ai client della sottorete, basati sul loro MAC address. Ed infine ho sistemato il tutto in scriptini, per l’aggiornamento automatico del tunnel (a casa abbiamo IP dinamico e la Fonera ha l’interfaccia WAN in DHCP sul router ADSL, dietro NAT).

Facciamo il resoconto. Uscite: una Fonera da 5 euro e una serata davanti la console. Entrate: una sottorete dinamica con IPv4 e IPv6 (e un po’ di esperienza). Tutto sommato penso ne sia valsa la pena. =)

Sono testardo, per fortuna..

Thursday, May 6th, 2010

Capita a noi informatici, di tanto in tanto, di incappare in problemi inspiegabili. Quei problemi che ti fanno girare talmente tanto le scatole da portarti a prendere in considerazione l’idea di cambiare mestiere, magari per uno più pratico. Il fabbro ad esempio, che bel mestiere, il fabbro è un artista, e tutto ciò che crea è il semplice frutto delle sue azioni, dà un colpo sul pezzo di ferro, e quello si piega. Non si piega? Ne dà uno più forte. Semplice. Pura fisica.

Con i software non sempre è così. Usi un programma, qualcosa non va, e non capisci quale diamine possa essere la causa. Dare un colpo più forte potrebbe solo peggiorare le cose :D A chi non è mai capitato. Beh, con un passato da “linuxaro” a me è capitato spesso, anzi spessissimo. Eh quante guerre ho vinto contro la mia Gentoo, sfide all’ultima dipendenza, ore e ore spese inutilmente. Per non parlare della più vecchia Slackware :° Guerre che se non fossi stato testardo quanto sono, avrei perso sicuramente.

I tempi cambiano, ma le situazioni no. Ieri mi trovavo a fare il deploy di un’applicazione C# WPF, che interagisce con un database SQLite tramite il provider SQLite.Net, della famiglia ADO.Net. Prendo il mio Visual Studio 2010, ci installo InstallShield 2010, e creo il mio installer. Creo una macchina virtuale con una installazione “fresh” di Windows XP e framework .Net 4.0, installo il mio programmino. Tadadadammmm.. doppio click.. compare la classica finestra d’errore di windows -.-’ (tipica “faccia a goccia”)

Ora, siccome questa storia ha stancato fin troppo anche me, taglio corto e arrivo dritto alla fine: dopo aver sbattuto per delle ore, e dico ORE, ho finalmente risolto. Il problema era dovuto al fatto che la libreria del SQLite (System.Data.SQLite.dll) è stata sviluppata in MixedMode (SQLite è scritto in C) e per funzionare con il framework .Net 4.0 ha bisogno della direttiva useLegacyV2RuntimeActivationPolicy=”true” nel file di configurazione.
Ovvero nel file di configurazione app.config dell’applicazione va aggiunto:

<configuration>
<startup useLegacyV2RuntimeActivationPolicy=”true”>
<supportedRuntime version=”v4.0″ sku=”.NETFramework,Version=v4.0″/>
</startup>
</configuration>

Morale della favola, meno male che sono testardo, altrimenti non avrei risolto un bel niente :D

HotSpot con Fonera + OpenWRT

Tuesday, May 6th, 2008

Dunque. Riprendo il discorso iniziato una paio di post fa. Eravamo rimasti al punto in cui avevo flashato il firmware DD-WRT sulla Fonera. DD-WRT è basata su OpenWRT, ha un’interfaccia Web per la gestione abbastanza carina ed intuitiva, nella versione standard ha tutto quanto possa servire su un access point per un uso comune. Quante belle cose! Peccato però che: 1.Occupa un sacco di risorse, 2.Le cose automatiche non funzionano mai come dovrebbero!

Per farla breve ho pensato di fare qualche esperimento per poter usare la Fonera come HotSpot. Ovvero un utente si collega all’access point, quando cerca di navigare viene rediretto su una pagina per il login (per intenderci un captive portal), e il controllo delle credenziali viene effettuato tramire un server Radius. In questo modo è possibile autenticare gli utenti e fare accounting (pensate che figata per un Hotel che vuole dare connettività ai suoi clienti nel rispetto delle normative).

Passiamo al dunque. Installo e configuro FreeRADIUS sul mio serverino di casa. Creo il database per gli utenti Radius su MySQL. Configuro Chilli (in pratica si tratta di un servizietto che gestisce il captive portal) su DD-WRT (si..voglio provare prima su DD-WRT, tanto è tutto automatico, ci metto due secondi.. poi lo faccio anche con OpenWRT) dall’interfaccia Web. Ok, è tutto pronto! Testo.. nulla!

Ok, sarebbe stato troppo semplice. Quindi con anima serena mi metto a cercare su google possibili soluzioni ai vari problemini che ho riscontrato, e ad apportare modifiche qua e la ecc.. ma niente, non ne vuole sapere! Chilli sembra morto. Le cose automatiche non mi sono mai piaciute, non funzionano mai! Damn!

Quindi decido di passare direttamente a OpenWRT. Adoro le cose fatte a mano, mi danno un senso di controllo totale su tutto quanto ho sotto mano. Prendo la versione piu’ recente di OpenWRT Kamikaze e la flasho sulla Fonera. Configuro le varie interfacce di rete, installo il modulo tun e il famoso Chilli con ipkg, configuro Chilli. Riavvio. Nulla, Chilli non ne vuole sapere di funzionare. Ok, passiamo alle maniere forti: messaggi di debug, a me! Per farla breve, dopo varie modifiche e reinstallazioni di OpenWRT finalmente tutto sembra funzionare: il captive portal, il controllo credenziali, l’accounting.

Ora non mi rimane che pensare al prossimo esperimento. Asterisk sulla Fonera? =)

Hacking La Fonera

Wednesday, April 30th, 2008

La Fonera

Ieri, dopo neanche una settimana, è arrivata La Fonera!

Preso dall’entusiasmo spacchetto tutto in fretta come si fa di norma con il tarball dell’ultima versione unstable di Pidgin, sperando che abbiano sistemato il supporto al messaggio personale di MSN (piccola parentesi, ma quanto ci vuole a sistemare sto benedetto supporto? Saranno 3 righe di codice, 4 al massimo!).

Insomma, accendo la Fonera dopo averla collegato al mio router e la lascio da sola un’oretta per gli aggiornamenti (in realtà ogni tanto la spiavo, ma non ditele nulla). Poi faccio la sua bella registrazione e vedo un po’ come funziona il tutto. Bene. E ora?

Ora si passa alla seconda fase, la più interessante: buttare tutto giù e iniziare con gli esperimenti. =)

In questi giorni, in attesa dell’arrivo della Fonera, ho visitato diversi siti web che spiegavano come sbloccarla. Quello senza dubbio più completo é il  Blog di Paolo Gatti che elenca diversi metodi di unlocking. Fiducioso di poter rimettere tutto apposto con il firmware originale alla fine dei giochi, ho deciso di provare.

Ora, volendo mettere una qualche distro linux sulla Fonera, a prescindere che sia una DD-WRT o una OpenWRT personalizzata, il problema è attivare RedBoot con supporto Telnet per effettuare il flashing. Per attivare RedBoot serve accesso SSH. Per attivare il server SSH (Dropbear) occorre sfruttare uno dei vari hack scoperti. L’hack più semplice consiste nell’iniettare dei comandi tramite l’interfaccia web della Fonera, cosa che funziona solo con il firmware 0.7.1 r1.

La mia Fonera ha il firmware 0.7.2 r3, bene! Leggo che ci sono vari metodi per passare al firmware 0.7.1 r1, per poi sfruttare l’hack per SSH. Un metodo è il reset, con la speranza che di fabbrica abbia il firmware 0.7.1 r1. Un altro metodo è un hack che per funzionare necessita di cambiare il DNS della Fonera.

Provo il primo metodo. Resetto. Nulla. Riprovo. Nulla. Ok, forse avranno messo di fabbrica la 0.7.2 r3 visto che esiste da più di un anno, provo il secondo metodo.

Secondo metodo. Uhm.. ma aspetta un attimo.. la mia Fonera non permette di cambiare il DNS! Leggo che nel firmware 0.7.2 r3 (e solo in questo) è stata tolta questa possibilità per impedire questo genere di attacco.. che culo! Tutte a me eh?!

Secondo metodo, parte 2. Leggo da qualche parte un altro modo di sfruttare il secondo metodo, studiato apposta per il firmware 0.7.2 r3, ovvero collegare la Fonera a un router, e impostare sul router il DNS che serve per l’hack. Ok. Al posto del router uso il mio MacBook collegato via ethernet alla Fonera, e via Wireless all’access point di casa. Mi sento fortunato. Provo. Niente. Inizio a scoraggiarmi!

Terzo metodo (aka “tentativo disperato”). Provo a fare l’upgrade (o meglio downgrade) del firmware dall’interfaccia Web. Ma ovviamente è stato messo un controllo apposito per impedire questa “furbata”. Allora penso: basta, per oggi ci rinuncio!

Ma, dal momento che difficilmente mi arrendo, ho riprovato con il reset, fiducioso che il firmware di fabbrica non fosse veramente lo 0.7.2 r3. Provo, nulla. Riprovo. Apro, ormai privo di ogni speranza, l’interfaccia Web della Fonera, e cosa leggo? 0.7.1 r1! Evvai! Ero tentato a stappare lo spumante che ho in frigo, ma erano le 2 di notte e non avrei voluto svegliare tutti :D

Screenshot accesso SSH

Perfetto! Inietto il comando per attivare SSH. Entro da SSH. Attivo RedBoot con supporto Telnet. Tutto liscio, finalmente =)

Ora ho appena flashato DD-WRT standard sulla Fonera, una distro linux con tutto quanto puo’ occorrere su un access point. Ora ci faro’ qualche test per vederla in azione, ma poi credo di passare ad una OpenWRT personalizzata e ottimizzata (da bravo Gentooista odio vedere roba inutile, specie se si tratta di un sistema embedded).