OpenWrt WRT54GL

Da PNLUG.
Versione del 30 lug 2014 alle 15:20 di Paolettopn (Discussione | contributi) (Installazione)


Wrt54gl.jpg















Come liberare il router WRT54GL dal firmware proprietario

OpenWrt è il firmware interno per dispositivi embedded utilizzato per la gestione del traffico. Nel nostro caso utilizzeremo OpenWRT dentro un router domestico, effettuando un test hardware per il Cisco Linksys Wireless-G Broadband Router WRT54GL v1.1.

OpenWrt è Linux based e include un kernel Linux come i BusyBox. Ha all'interno un gestore di pacchetti chiamato opkg (simile al pacchetto apt di ubuntu).

Prima di installare OpenWrt nel router, è necessario sapere se il device è compatibile con OpenWrt, per saperlo con certezza è necessario vedere se è compreso nella Tabella degli hardware di OpenWrt.

Specifiche Hardware

Prima di esplorare OpenWrt, Andiamo a conoscere quale sia l'hardware a disposizione nella nostra device:

  • CPU: Broadcom BCM5352 @ 200 MHz
  • RAM: 16 MB
  • Memoria Flash: 4 MB

CONTROLLO VELOCE - per essere sicuri che l'hardware contenuto sia esatto, possiamo controllarlo leggendo il prefisso del numero di serie, utilizzando queste informazioni.

Questo hardware viene supportato completamente da OpenWrt, ma ci sono alcuni limiti dovuti al tipo di memoria flash:


La soluzione per questo caso, è ben documentata. Deve venir utilizzato il firmware OpenWrt 8.09 r14511 (nome in codice "kamikaze") al posto della versione upgradate di OpenWrt 10.03.1-rc6 (nome in codice "backfire")

Scaricare la versione corretta del firmware

Per installare OpenWrt, prima cosa da fare è andare a vedere la parte web dedicata al modello Linksys. Torviamo molte versioni disponibili di OpenWrt, ma per trovare la versione corretta dobbiamo cercare:

  • La versione OpenWrt è Kamilaze, con qualche bug in backfire e qualche instabilità nelle adattamenti di attitude
  • La versione raccomandata è la 8.09 con Kamilaze
  • La CPU è broadcom con il prefisso bcrm

In questo link, vediamo il supporto sia per brcm-2.4 che per la brcm47xx
La differenza tra la versione brcm-2.4 e brcm47xx viene spiegata qui
Per ognuna, possiamo scaricare il file immagine, che termina con l'estensione .bin
Se sono disponibili sia i file JFFS2 che SquashFS, è preferibile utilizzare l'immagine SquashFS
Andiamo a vedere lo storico della versione per determinare se la versione 8.09 è la migliore e e quali siano le differenze nelle versioni kamikaze, backfire e le configurazioni attitude

L'immagine utilizzata per il test è: http://downloads.openwrt.org/kamikaze/8.09/brcm-2.4/openwrt-wrt54g-squashfs.bin


Installazione

Utilizzando l'interfaccia web di Linksys

È possibile installare OpenWrt direttamente dall'interfaccia web di Linksys. Se state effettuando la prima installazione, fatelo attraverso questa interfaccia, è il modo più semplice.

Scaricate il file immagine del firmware openwrt-wrt54g-squashfs.bin dalla cartella brcm-2.4 nel vostro PC.
Potete trovare il file immagine su: http://downloads.openwrt.org/backfire/10.03.1/brcm-2.4/
Attualmente la versione salvata dovrebbe essere la 8.09. Mahh..., sempre meglio della 10.03.1 è valida ma dovete utilizzare la variante brcm-2.4 come nel link precedente. Meglio non rischiare di danneggiare il router durante il primo flash della memoria, procediamo quindi con la versione 8.09.
Nel browser aprite l'URL http://192.168.1.1/Upgrade.asp, oppure entrate manualemten dopo il login nella pagina http://192.168.1.1 → Administration → Firmware Upgrade
Fate l'upload del file openwrt-wrt54g-squashfs.bin
Attendete 2 minuti. Il router si riavvierà automaticamente dopo aver completato l'aggiornamento.

Connessione via Telnet

Il router aggiornato, può essere conattato via Telnet all'indirizzo 192.168.1.1. Per testare questa possibilità, aprite un terminale e digitate:

 $ telnet 192.168.1.1

Questo vi farà conoscere KAMIKAZE :)

Connessione via browser

L'interfaccia web luci sarà disponibile all'indirizzo http://192.168.1.1 .

Servizi Telnet e SSH

Il servizio Telnet verrà disabilitato e il servizio SSH verrà abilitato solo dopo la configurazione della password di login.

Ora assicuratevi che il servizio tftp sia disponibile. Digitate questi comandi in telnet/ssh. Questo vi assicura che il servizio tftp sia disponibile, nel caso in cui il vostro router si danneggi.

 $ nvram set boot_wait=on
 $ nvram set boot_time=10
 $ nvram commit && reboot

Comunicazione via SSH

La connessione via web tra il router e il client genererà automaticamente una chiave SSH al primo login.Il router inizialmente potrebbe metterci un po durante la generazione delle chiavi. Nel caso vi butti fuori, riprovate dopo un minuto o due. Al primo bootup OpenWrt ci metterà un po di tempo prima di rendersi disponibile alla connessione, in quanto deve configurare per la prima volta ed avviare i suoi file di sistema oltre a generare le chiavi SSH; il server SSH non si avvierà fino a quando la generazione delle chiavi non sarà terminata.

Configurazione

La configurazione di rete è scritta in /etc/config/network. I valori iniziali di questo file per la nostra configurazione dovranno essere:

#### VLAN configuration
config switch eth0
       option vlan0    "0 1 2 3 5*"
       option vlan1    "4 5"


#### Loopback configuration
config interface loopback
       option ifname   "lo"
       option proto    static
       option ipaddr   127.0.0.1
       option netmask  255.0.0.0
 
 
#### LAN configuration
config interface lan
       option type     bridge
       option ifname   "eth0.0"
       option proto    static
       option ipaddr   192.168.1.1
       option netmask  255.255.255.0


#### WAN configuration
config interface        wan
       option ifname   "eth0.1"
       option proto    dhcp

Dopo aver editato e salvato questo file, per applicare la nuova configurazione digitate:

 $ /etc/init.d/network restart

Configurazione Switch

La sezione dello Switch che troviamo di seguito nel file è responsabile del funzionamento di una parte dell'hardware, facendola apparire come un'interfaccia indipendente. La parte di configurazione che specifica la caratteristiche dello switch, è la seguente:

#### VLAN configuration

config switch eth0

       option vlan0    "0 1 2 3 5*"
       option vlan1    "4 5" 

Nella configurazione seguente: I numeri da 0-5 rappresentano i numeri delle porte, dove per la VLAN0 si prevedono le porte da 0 a 5* e per la VLAN1 vengono incluse le porte 4 e 5. Il simbolo * nella porta 5* indica il PVID.

WRT54GLdiagram.png

Come visualizzato nella grafica, in questo caso lo switch separa le porte LAN dalle WAN.

Interfacce

Gli altri parametri nel file di configurazione di rete descrivono le interfacce. Le interfacce sono reti logiche, alle quali possono essere configurati i vari indirizzi IP, le rotte e altre magie.

Le 3 interfacce vengono chiamate loopback, lan and wan. Le interfacce fisiche associate con queste interfacce logiche sono: lo, eth0.0 and eth0.1.