Procedura Obsoleta. Uscite nuove release di Openwrt!
Kamikaze è l'ultima versione di OpenWRT.
Non includendo al suo interno l'interfaccia web, installazione sarà formata da più passi.
Kamikaze
Al momento l'ultima versione del firmware per il chipset è la 7.09 e può essere scaricata da qui.
Scegliere nell'elenco quella relativa al proprio router secondo questa tabella:
Firmware OpenWRT per router Linksys
Nome File |
Modello Linksys |
WRT54G (e WRT54GL) |
|
WRT54GS |
|
WRT54GS v4 |
Farne una copia con un nome più comodo da usare:
Computer$ cp openwrt-wrt54g-2.4-squashfs.bin o.bin
Calcolare l'MD5 del file con:
Computer$ md5sum o.bin
Controllare che l'MD5 sia uguale a quello mostrato nella pagina md5sums cercando al suo interno la stringa di checksum MD5 restituita dal comando precedente.
Collegare un cavo Ethernet dal PC al Linksys e cambiare IP al PC con il comando:
Computer$ sudo ifconfig eth0 192.168.1.2 up
TFTP
Usare il client TFTP che punti al router con:
Computer$ tftp 192.168.1.1
all'interno della shell TFTP eseguire i seguenti comandi:
tftp> binary
tftp> rexmt 1
tftp> timeout 60
tftp> trace
Il prossimo (ultimo) comando avvia il trasferimento, va avviato sincronizzandolo con l'accensione del router, quindi premere invio SOLO una frazione di secondo DOPO aver alimentato il Linksys.
tftp> put o.bin
Se tutto va bene, verrà mostrato il trasferimento del file con un output simile a questo:
sent WRQ <file=o.bin, mode=octet> received ACK <block=0> sent DATA <block=1, 512 bytes> received ACK <block=1> sent DATA <block=2, 512 bytes> received ACK <block=2> ... ... sent DATA <block=3592, 512 bytes> received ACK <block=3592> sent DATA <block=3593, 32 bytes> received ACK <block=3593> Sent 1839136 bytes in 8.2 seconds
Finito il quale, il router flasherà il nuovo firmware autonomamente (impiegando circa un paio di minuti).
Sapremo che l'operazione sarà conclusa quando vedremo il led Power smettere di lampeggiare.
Uscire da TFTP con il comando:
tftp> quit
Verifichiamo lo stato di raggiungibilità del router con il comando:
Computer$ ping 192.168.1.1
tftp su Gentoo
Ci sono diversi ebuild che danno un client tftp su Gentoo
Quello che funziona bene è questo:
net-ftp/tftp-hpa
Cambio Password
Aprire una sessione Telnet sul router:
Computer$ telnet 192.168.1.1
Cambiare la password di root:
Router$ passwd
Riavviare il router:
Router$ reboot
Sbracare il firewall maledetto
OpenWRT ha un firewall maledetto e paranoico, per sbracarlo completamente aggiungere in coda al file /etc/firewall.user :
iptables -P INPUT ACCEPT iptables -P OUTPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -F iptables -F
Accesso a Internet per mezzo della precedente connessione
Può essere necessario configurare un Access Point per destinarlo alla connessione ad una rete diversa da Internet. Come ad esempio Ninux.
In questi casi può servire di far accedere temporaneamente ad Internet il nostro Access Point passando per il nostro computer.
Ad esempio può essere necessario per installare automaticamente i pacchetti del repository di X-Wrt, come vedremo sotto.
Questo presuppone che il nostro computer sia già collegato ad Internet.
Occorre abilitare il nostro PC allo smistamento dei pacchetti che riceve (IP forwarding). Ad esempio con Linux, ricordandoci di diventare superuser:
Computer# echo 1 > /proc/sys/net/ipv4/ip_forward
Se si usa un Internet provider che non consente l'accesso da più di un IP, si può anche abilitare il masquerading
Computer# iptables -t nat -I POSTROUTING -o <ethn> -j MASQUERADE
Nota: sostituire <ethn> con la propria interfaccia di rete collegata ad Internet.
Di seguito va informato il nostro Access Point su quale strada seguire per uscire e su dove cercare il DNS.
Aprire una shell in modalità SSH sul router:
Computer$ ssh root@192.168.1.1
Nota:
- Se in precedenza ci si è connessi ad un altro server SSH con lo stesso IP,
il comando precedente restituirà il messaggio: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Niente Panico!
Per ovviare al problema basterà rinominare il file ~/.ssh/known_hosts con il comando:
Computer$ mv ~/.ssh/known_hosts ~/.ssh/known_hosts.bak
Inviare i seguenti comandi per impostare default gateway e DNS server.
Router$ route add default gw 192.168.1.2 Router$ echo "nameserver 151.99.125.2" >>/etc/resolv.conf
IPKG
Ipkg è un gestore pacchetti (stile apt-get di Debian) integrato in OpenWRT.
Permette di installare a run-time funzioni aggiuntive al router, senza esser costretti a ricompilare (e ri-flashare) il firmware ogni volta.
Collegare un secondo cavo ethernet con accesso ad internet nella presa omonima del router.
Aprire una shell in modalità SSH sul router:
Computer$ ssh root@192.168.1.1
Modificare la lista dei repository con l'editor di testi (vi) integrato in OpenWRT:
Router$ vi /etc/ipkg.conf
Spostare il cursore sotto l'ultima riga che inizia con "src"
Entrare in modalità inserimento di vi (tasto I) ed aggiungere una riga vuota
Incollarvi la seguente stringa: src X-Wrt http://downloads.x-wrt.org/xwrt/kamikaze/7.09/brcm-2.4/packages
Uscire dalla modalità inserimento di vi (tasto ESC)
Salvare ed uscire da vi (comando :wq)
Aggiornare la lista pacchetti di IPKG con il comando:
Router$ ipkg update
WEBif
Installare il pacchetto dell'interfaccia WEB (webif) con il comando:
Router$ ipkg install webif
Aprire la pagina http://192.168.1.1 con il proprio browser preferito
Username: root Password: (quella inserita con il comando passwd)
Configurare:
Menu: System --> Settings:
Host Name: OpenWrtPippo
Timezone: Roma, Italy
Menu: Network --> Wireless:
Radio: ON
Canale: 8
Network: none
Mode: Ad-Hoc
ESSID: ninux.org
Encryption Type: Disabled
Salvare ed applicare i cambiamenti.
OLSR
Installare il pacchetto OLSR con il comando:
Router$ ipkg install olsrd
Configurarlo come segue
Router$ vi /etc/olsrd.conf
Cercare UseHysteresis ed impostarlo a no
Cercare LinkQualityLevel ed impostarlo a 2
Cercare la stringa:# !!CHANGE THE INTERFACE LABEL(s) TO MATCH YOUR INTERFACE(s)!!
e cambiare Interface "XXX" "YYY" in Interface "wl0"
Salvare e chiudere (:wq)
Modificare /etc/config/network aggiungendo l'interfaccia wl0 di cui sopra con:
Router$ vi /etc/config/network
Aggiungere in fondo al file le seguenti 8 righe di configurazione:
#### ADDED FOR NINUX.ORG config interface "ninuxif" option ifname "wl0" option proto "static" option ipaddr "172.16.CAP.1" option netmask "255.255.0.0" option gateway "" option dns "160.80.2.5"
Sostituendo l'ottetto CAP in "172.16.CAP.1" con il Codice_di_Avviamento_Postale della vostra zona.
Il tutto, ovviamente, compatibilmente con due vincoli:
Che sia compreso tra 0 e 254
Aver ottenuto il via libera dagli altri utenti di Ninux.org (onde evitare conflitti di IP)
Ora avviare OLSR per verificare se si collega alla rete Ninux eseguendo:
Router$ olsrd
Se tutto va bene vedremo (ripetendo il comando) aumentare le rotte di routing:
Router$ route
Per configurare l'avvio automatico di OLSRd ad ogni reboot si può usare l'interfaccia web
Menu: System --> Startup:
Aggiungere in fondo al file:
- olsrd
Oppure
Router$ ln -s /etc/init.d/olsrd /etc/rc.d/S98olsrd