Archiviato in: Uncategorized
Questo articolo è stato preso da:
http://www.fonboard.nl/wiki/HowTo_Italiano
In questo howto , spiegheremo passo per passo tutte le procedure necessarie per ottenere un accesso in shell remota usando Ubuntu Linux. Potete ovviamente usare una qualsiasi altra distribuzione linux , ma qui non tratteremo per esempio di come installare il demone tftp o azioni da sudoers. Dopo tutto , se non hai scelto la distribuzione linux per esseri umani , vuol dire che sei un nerd e le istruzioni passo passo forse anche ti annoiano un po :)
Di cosa abbiamo bisogno
- un computer con Ubuntu Linux
- un cavo di rete ethernet
Configurazione lato server
Per prima cosa dobbiamo installare il demone tftp nel nostro Ubuntu server
sudo apt-get install tftpd
Dal momento che tftp è lanciato dal superdemone inetd , potremmo aver bisogno di aggiungere all’ /etc/inetd.conf queste linee qui sotto
sudo nano -w /etc/inetd.conf tftp dgram udp wait nobody /usr/sbin/tcpd in.tftpd /srv/tftp
Ora dobbiamo configurare la directory dove depositare il file di immagine da flashare sulla fonera plus
sudo mkdir /srv/tftp
Posizioniamoci nella directory dove scaricheremo l’immagine:
cd /srv/tftp sudo wget http://www.leeman.be/fon/GetImage.php
Il file è di 2.2 Mb e scompattato sarà di circa 6.1 Mb.
Scompattiamolo dentro la directory /srv/tftp
unzip image.zip
E ora facciamo partire il demone tftp con il seguente comando :
sudo /etc/init.d/openbsd-inetd restart
Configurazione lato client
Prendiamo un cavo di rete ed inseriamo un’estremità nella porta ethernet della fonera (presa di colore nero) e l’altra alla porta ethernet del vostro PC
Diamo un nuovo indirizzo IP al vostro computer :
sudo ifconfig eth0 192.168.1.254
E ora creiamo un piccolo script . Manderà pacchetti arp attraverso la rete , aspettando risposta da 192.168.1.1 (l’indirizzo IP della Fonera+) . non appena riceverà risposta , lo script lancerà una sessione telnet verso l’host scelto e invierà un segnale CTRL C . Viene invocato anche nc prima della sessione vera e propria di telnet , per essere più sicuri che il nostro CTRL C venga accettato e per ottenere quindi il prompt di redboot
Creiamolo quindi questo script.
echo 'echo -e "377364377375006" >break.bin; sudo /usr/bin/arping -f 192.168.1.1; sudo nc -vvv 192.168.1.1 9000 <break.bin; telnet 192.168.1.1 9000' > catch_fonera+
E rendiamolo eseguibile:
chmod u+x catch_fonera+
Accesso al prompt di redboot sulla Fonera plus
A questo punto , scolleghiamo l’alimentazione della Fonera+ ed eseguiamo lo script creato sopra.
./catch_fonera+
Inseriamo la nostra password di Ubuntu quando richiesto e ricolleghiamo il cavo di alimentazione della Fonera+ . Il nostro amato piccolo routerino bianco e arancione effettuerà il boot e aspetterà due secondi per ricevere il segnale di CTRL C. Ecco cosa dovremmo vedere apparire a terminale:
./catch_fonera+ [sudo] password for berto: ARPING 192.168.1.1 from 192.168.1.254 eth0 Unicast reply from 192.168.1.1 [XX:XX:XX:XX:XX:XX] 0.992ms Sent 9 probes (9 broadcast(s)) Received 1 response(s) fonera [192.168.1.1] 9000 (?) open == Executing boot script in 0.890 seconds - enter ^C to abort ^C RedBoot> sent 6, rcvd 82 Trying 192.168.1.1... Connected to 192.168.1.1. Escape character is '^]'. RedBoot>
Attenzione , appena vedete questa stringa :
RedBoot> ?? Premete CTRL C per ottenere il prompt di redboot
RedBoot>
Alcuni controlli prima di procedere alla scrittura in memoria
Controlliamo se gli indirizzi di memoria della vostra Fonera+ sono compatibili con i valori qui sotto (si puo’ fare danso il comando “fis list” :
RedBoot> fis list Name FLASH addr Mem addr Length Entry point RedBoot 0xA8000000 0x80040400 0x00030000 0xA8000000 loader 0xA8030000 0x80100000 0x00010000 0x80100000 image 0xA8040000 0x80040400 0x00230004 0x80040400 image2 0xA8660000 0xA8660000 0x00140000 0x80040400 FIS directory 0xA87E0000 0xA87E0000 0x0000F000 0x00000000 RedBoot config 0xA87EF000 0xA87EF000 0x00001000 0x00000000
Controlliamo con cura i valori sopra , dovremmo ottenere esatamente gli stessi per procedere al flashaggio.
Ora facciamo degli altri controlli sugli indirizzi di memoria
RedBoot> x -b 0xa8040000 -l 32 A8040000: 00 21 BF DE A2 14 D3 9B 00 0A 50 34 6D 00 00 80 |.!........P4m...| A8040010: 00 FF FF FF FF FF FF FF FF 00 04 02 48 80 0E 0F |............H...|
E ancora un altro
RedBoot> x -b 0xa8250000 -l 32 A8250000: 1E 5E B5 70 5D FA DE 16 AE 98 85 61 87 D5 E2 09 |.^.p]......a....| A8250010: D2 C1 70 A0 DD F6 2A 30 7F C8 5E 0B 00 DF 50 0A |..p...*0..^...P.|
I volori devono essere esattamente come evidenziato sopra . Se tutto combacia , siete pronti per il flashaggio vero e proprio.
Se invece avete dei valori deifferenti leggete qui http://www.fonboard.nl/wiki/Flashaggio_alternativo
Trasferiamo il file immagine nella memoria della Fonera+
E’ giunto il momento di trasferire tramite tftp il file immagine.bin dal vostro computer alla fonera
RedBoot> load -r -b 0x80100000 image.bin Using default protocol (TFTP) Raw file loaded 0x80100000-0x8070ffff, assumed entry at 0x80100000 RedBoot> cksum -b 0x80100000 -l 0x00610000 POSIX cksum = 1614928997 6356992 (0x6041dc65 0x00610000) RedBoot>
Flashaggio
Siamo ad un punto critico , riprogrammare la FLASH memory
RedBoot> fis write -b 0x80320000 -f 0xa8260000 -l 0x003f0000
* CAUTION * about to program FLASH
at 0xa8260000..0xa864ffff from 0x80320000 - continue (y/n)? y
... Erase from 0xa8260000-0xa8650000: ...............................................................
... Program from 0x80320000-0x80710000 at 0xa8260000: ...............................................
..............
RedBoot>
Rispondiamo “y” quando viene chiesto di continuare a flashare la memoria
Reset
Ci siamo quasi . L’ultimo comando da dare è un reset , per procedere a un nuovo boot ed accedere alla fonera+ finalmente liberata
RedBoot> reset
Accesso in shell remota
Non appena la Fonera+ avrà affettuato il reboot , connettetevi alla rete wireless privata (My_Place) e usiamo il comando ssh per entrare
berto@pingu:~$ ssh -l root 192.168.10.1
The authenticity of host '192.168.10.1 (192.168.10.1)' can't be establish
RSA key fingerprint is 5c:d3:42:ed:52:6d:c0:c6:fb:ec:84:57:18:24:d7:be.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.1' (RSA) to the list of known host
root@192.168.10.1's password:
BusyBox v1.4.1 (2007-09-03 10:39:50 UTC) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
______ __
/\ ___\ /\ \
\ \ \__/ __ ___ __ _ __ __ \_\ \___
\ \ _\/ __`\ /' _ `\ /'__`\/\`'__\/'__`\ /\___ __\
\ \ \/\ \L\ \/\ \/\ \/\ __/\ \ \//\ \L\.\_ \/__/\ \_/
\ \_\ \____/\ \_\ \_\ \____\\ \_\\ \__/.\_\ \ \_\
\/_/\/___/ \/_/\/_/\/____/ \/_/ \/__/\/_/ \/_/
-------------- Fonera 1.5 Firmware (v1.1.1.1) -----------------
* Based on OpenWrt - http://openwrt.org
* Powered by FON - http://www.fon.com
-----------------------------------------------------
root@OpenWrt:~# evvai ci siamo riusciti a sbloccare la Fonera +
Potete adesso stappare le bottiglie di Recioto della Valpolicella!
Settaggi finali e piccoli aggiustamenti (procedura unica per tutti i sistemi operativi)
Aggiornamento della configurazione personale da FON
Appena riflashato la nostra Fonera+ si resetterà ai parametri di default. Possiamo verificare questo , controllando l’interfaccia web all’indirizzo 192.168.10.1.
Per aggiornare la nostra configurazione , logghiamoci su www.fon.com e accediamo alla nostra userzone.
Selezioniamo il nostro router e aggiorniamo la WIFI privata e il SSID pubblico . Se non vogliamo cambiare nome , è sufficiente cambiare anche solo una lettera e clickare sul bottone update.
Per la WLAN privata , cambiamo la chiave WEP/WPA , usando la procedura di cui sopra.
I server di fon.com invieranno la nuova configurazione alla fonera+
Aspettiamo alcuni minuti e controlliamo la nostra web gui. NOn c’è bisogno di fare reboot.
Registrati o no?
Se abbiamo già registrato la nostra foneraplus prima dello sbloccaggio della porta ssh , controlliamo attraverso la web gui se tutto è a posto.
Se vediamo i logo your Fonera+ has not been registered , è importante cambiare questo parametro per permettere l’accesso pubblico alla nostra WLAN.
Per fare questo apriamo una console remota ssh :
echo 1 > /etc/config/registered
Diamo un reboot e ricontrolliamo attraverso la web gui e verifichiamo che il logo sia cambaito in ” Your Fonera is registered OK”
Larghezza di banda , QOS , transfer rate
Una volta che la nostra Fonera+ è funzionante , configurata e registarta , controlliamo la velocità su ogni porta !
I settaggi di default del firmware iriginale FON 1.1.1-r1 sono 1024Kb/s in download e 128Kb/s in upload lato WAN.
Cambiamo a seconda della velocità del nostro provider , in questo esempio 2048Kb/s download e 256 Kb/s upload.
uci set qos.wan.upload=256 uci set qos.wan.download=2048 uci commit
Diamo un reboot e rifacciamo uno speed test per verificare la velività WAN e LAN.
Per disabilitare il QoS service (non raccomandato)
uci set qos.wan.enabled=0 uci commit
IPK packages
In questa sezione , vedremo come inserire pacchetti aggiuntivi per la nostra Fonera+.
ATTENZIONE , installare pacchetti addizionali puo’ compromettera la stabilità della Fonera plus , causare malfunzionamenti dovuti ad esaurimento dlla memoria. Installate i pacchetti aggiuntivi sotto la vostra unica responsabilità
Installazione di pacchetti aggiuntivi con ipkg
La versione ufficiale del kernel per il firmware 1.1.1r1 è il 2.6.19.2 .
Possiamo installare pacchetti ipkg precompilati da questa repository OpenWRT: http://downloads.openwrt.org/kamikaze/7.06/atheros-2.6/packages
‘ad eccezione dei pacchetti kmod-*
I pacchetti kmod devono essere installati dalla compilazione originale di Fon.
Qui possiamo trovare una repository temporanea per questi pacchetti kmod-*-fonera-1_mips.ipk’
In alcune circostanze ipkg è estremamente lento e errori di memory underrun possono occorrere.
Alcuni suggerimenti:
scarichiamo con wget nella directory /tmp il pacchetto e poi installiamolo :
Ammazziamo senza pietà i processi non necessari in esecuzione con il comando killall. Fra questi dnsmasq,chilli,fonstate,httpd,fonsmcd,crond,hotplug2,logger,syslogd,klogd,watch_chilli
Aggiornamento di BusyBox
BusyBox fornito nel firmware originale di FON è molto scarso.
Upgradando al BusyBox versione 1.4.2-1 , ci permetterà di usare l’editor vi e di avere i dir-colors nel nostro terminale. Forse anche di più !
Busybox provided in original firmware by FON is very poor.
root@OpenWrt:~# cd /tmp root@OpenWrt:~# wget http://downloads.openwrt.org/kamikaze/7.06/atheros-2.6/packages/busybox_1.4.2-1_mips.ipk Connecting to downloads.openwrt.org [195.56.146.238:80 ] busybox_1.4.2-1_mips 100% |*****************************| 312 KB 00:00:00 ETA root@OpenWrt:~# ipkg install busybox_1.4.2-1_mips.ipk Upgrading busybox on root from 1.4.1-1 to 1.4.2-1... Configuring busybox Done.
L’installazione dovrebbe durare circa 5 , 7 minuti , siamo pazienti !
Se otteniamo errori del tipo ipkg: fork failed: Cannot allocate memory cominciamo a falcidiare processi senza alcuna pietà ( init lasciamolo in piedi e anche dropbear ) :)
Non scordiamo di dare reboot dopo l’installazione.
Updates automatici (thinclient)
FREEWLAN comments welcome !! You have more experience about bricking with auto-update…
Editiamo il file /bin/thinclient:
Commentiamo questa linea con un #
# . /tmp/.thinclient.sh
Inseriamo inoltre una nuova linea appena sotto , così :
cp /tmp/.thinclient.sh /tmp/thinclient-$(date '+%Y%m%d-%H%M')
Verifichiamo :
root@OpenWrt:~# thinclient dummy root@OpenWrt:~# ls -l /tmp/th* -rw-r--r-- 1 root root 0 Oct 24 07:45 /tmp/thinclient-20071024-0745 root@OpenWrt:~#
I comandi di upgrade inviati da thinclient ora son mantenuti in /tmp.
Controlliamo i messaggi sui forum di Fon per sapere se questi upgrade andranno a modificare oppure no il firmware. Come possiamo fare con la fonera 1.0 , possiamo lanciare manualmente gli upgrades.
Nel nostro esempio di sopra : ” . /tmp/thinclient-20071024-0745″ lancerà lo specifico aggiornamento.
Ciao a tutti!
Ancora nessun commento. finora
Lascia un commento
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <pre> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

