ASUS RT N16 e DD-WRT: Un router SUPER!

7 04 2012
Premessa

Ho da poco acquistato un ASUS RT N16, porte USB, 4 LAN, wifi n … non potevo non sbrasarlo!
Visto che lo userò per casa ho scelto come distro DD-WRT, sia per la faciltà d’uso che per i molteplici pacchetti opzionali già disponibili online.

Come prima cosa procediamo col preparare una memoria di massa per la nostra piccola LinuxBox.

Optware

Per maggiori dettagli su Optware vi rimando qui

Iniziamo col preparare il nostro disco USB (maggiori dettagli) creando le partizioni Linux adeguate.
Inseriamo il nostro disco USB in un PC Linux. Dopo che il S.O. l’avrà riconosciuto verifichiamo il nome del device (nel nostro esempio sarà /dev/sdb) e smontiamolo.
Seguiamo la procedura seguente, da shell:

root@Linux:/fdisk /dev/sdb
Command (m for help): d
Selected partition 1
Command (m for help): p
Disk /dev/sdd: 
[...]
Command (m for help): p
[...]
Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-621, default 1):<ENTER>
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-621, default 621): +512M <ENTER>
Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (197-621, default 197):<ENTER>
Using default value 197
Last cylinder or +size or +sizeM or +sizeK (197-621, default 621): +64M <ENTER>
Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 3
First cylinder (197-621, default 197):<ENTER>
Using default value 621
Last cylinder or +size or +sizeM or +sizeK (197-621, default 621): +128M <ENTER>
Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 4
First cylinder (197-621, default 197):<ENTER>
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (197-621, default 621): <ENTER>
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)
Command (m for help): p
[...]
Command (m for help): w

Infine lanciamo:

mke2fs -m 1 -L Optware /dev/sdb1
mke2fs -m 1 -L Shared /dev/sdb3
mke2fs -m 1 -L Data /dev/sdb4
mkswap /dev/sdb2

USB DRIVE PRONTO!! 🙂

Scarichiamo DD-WRT per il nostro router.
Colleghiamoci all’area download  e cerchiamo l’ultima versione disponibile del firmware.

Io ho provato il tutto con la release svn16758.

Andiamo in

Downloads › others › eko › V24-K26 › svn<xyz>
e scarichiamo il file mini.trx

Apriamo il nostro Router ASUS RT-N16 di pacca e colleghiamoci su una delle porte LAN
Apriamo ‘Internet Explorer’ (SI proprio IE!! – questo è il browser raccomandato!) ed andiamo nella schermata del firmware upgrade.


Da qui carichiamo il file mini ed attendiamo l’upgrade.
Una volta terminato possiamo accedere al router ed inserire le nostre credenziali preferite (ad es: root – pass, ma anche admin – admin se siete coraggiosi!)

Questa versione contiene moltissime funzionalità evolute, ma per godere del vero salto di qualità dovremo passare alla MEGA di DD-wrt.

Scarichiamo il file della stessa release della mini (nel mio caso 16758)
ed installiamolo usando l’interfaccia web di DD
Administration->Firmware Upgrade
Settiamo
After flashing, reset to: Reset
to Default Settings
e ri-accediamo al router sulla classica 192.168.1.1 da webif
Questa versione GRANDE ci permette di fare molte +cose e ci da accesso a funzionalità avanzate. Tra queste troviamo quella di nostro interesse. L’accesso ai servizi USB del router (opzione assente nella ver. mini)

Rendiamo accessibile il disco USB realizzato in precedenza.
Dalla web GUI
Services->USB
abilitiamo: Core USB
support USB 2.0
support USB storage
support Printer Support (optional)
ext2/ext3 File System support – solo per le versioni precedenti alla SVN 15501
FAT File system support solo per le versioni precedenti alla SVN 15501
Automatic Drive Mount
Selezioniamo mount ad /opt dal menu a tendina
Salviamo ed applichiamo le modifiche.
Riavviato il router bisogna farlo uscire su Internet.
Quindi disabilitiamo il Firewall di DDWTR
Andiamo all GUI Web Security->Firewall->SPI Firewall disable
torniamo da shell e lanciamo un ping per vedere se usciamo
Se tutto OK possiamo scaricare optware

wget -O /tmp/prep_optware http://wd.mirmana.com/prep_optware
sh /tmp/prep_optware

ora l’installer inizierà a fare un pò di spesa sul WEB.
Andiamo a farci un caffè e al nostro ritorno troveremo tutto pronto.
Possiamo riavviare il router ed assicurarci che il driver sia montato correttamente, come indicato nell’immagine sotto.

Per dare uno sguardo a cosa abbiamo creato basta fare
service

Troveremo tutti i servizi da utilizzare subito, tra cui Samba, Asterisk, Transmission (un client torrent) …

BUON DIVERTIMENTO!





Update OpenWrt

7 11 2010

Mi è capitato di voler passare da un Kamikaze 7.09 ad una versione più aggiornata di OpenWRT.

Pensavo di dover rifare la solita e tediosa procedura di debrick e invece… niente di più semplice!
Basta scaricare la versione .trx del firmware da qui

aprire l’interfaccia WebIF di Kamikaze

andare in System->Settings->Upgrade

caricare il file e lanciare l’update

Dopo qualche minuto avrete la nuova fiammante versione di Kamikaze 8.09.2 (in questo caso) pronta a rispondervi sul telnet dall’ IP 192.168.1.1

 





Fonera e Asterisk: installazione

23 08 2010

Anche la piccola Fonera può diventare un centralino grazie ad Asterisk.

La ricetta è molto semplice: prendiamo una fonera, ci carichiamo facilmente openwrt (testato con Kamikaze 8.09.2) con ap51 (come indicato qui) e andiamo di opkg.

opkg update
root@OpenWrt:~# opkg list|grep asterisk

troveremo qualcosa del tipo

asterisk14 - 1.4.23.1-1.2 - Asterisk is a complete PBX in software. It  provides all of the features

Passiamo all’installazione vera e propria con

root@OpenWrt:~# opkg install asterisk14

Pazientare un bel pò…

E godersi il risultato:

root@OpenWrt:~# asterisk -vvvcgd

Da notare l’occupazione di spazio

PRIMA

root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    1.5M      1.5M         0 100% /
/dev/root                 1.5M      1.5M         0 100% /rom
tmpfs                     6.7M    760.0k      5.9M  11% /tmp
tmpfs                   512.0k         0    512.0k   0% /dev
/dev/mtdblock2            5.4M      1.2M      4.2M  22% /jffs
mini_fo:/jffs             1.5M      1.5M         0 100% /

DOPO

root@OpenWrt:~# df -h
Filesystem                Size      Used Available Use% Mounted on
rootfs                    1.5M      1.5M         0 100% /
/dev/root                 1.5M      1.5M         0 100% /rom
tmpfs                     6.7M    760.0k      5.9M  11% /tmp
tmpfs                   512.0k         0    512.0k   0% /dev
/dev/mtdblock2            5.4M      3.2M      2.2M  59% /jffs
mini_fo:/jffs             1.5M      1.5M         0 100% /

Niente male…





Openwrt sulla Fonera: 5 minuti e 1 caffè

12 05 2010
La Fonera plus

La Mia Fonera+

Grazie alla comunità di Freifunk oggi trasformare una fonera in un router OpenWrt è veramente un gioco da ragazzi.

Freifunk (dal tedesco “Radio Libera” – radio inteso come canale radio) è una delle prime community che hanno sposato la causa delle reti libere senza fili per divulgare il collegamento, la comunicazione e ridurre il digital divide (ma anche in italia ne abbiamo

di belle) e , per rendere le cose semplici, i ragazzi di questa community hanno prodotto un software-ino capace di flashre autonomamente la fonera per renderla un nodo della loro rete wifi.

FreiFunk AP51

La versione Win di AP51

Ho facilmente usato questo AP51 (così si chiama il sw in questione) per mettere OpenWrt 8.09 sulla mia piccola Fonera+ in 3 passi.

Download :

scarichiamo il sw di freifunk  ap51-flash-fonera-gui-1.0-42.exe (ho usato la ver. win ma ce ne sono anche x linux)

scarichiamo openwrt-atheros-root.squashfs e openwrt-atheros-vmlinux.lzma da qui

Esecuzione:

Colleghiamo la Fonera al PC e lanciamo l’eseguibile specificando i campi

OpenWrt Rootfs – Use external file -> openwrt-atheros-root.squashfs

Kernel – Use external file -> openwrt-atheros-vmlinux.lzma

Selezioniamo l’interfaccia di rete a cui è collegata la fonera

Accendiamo la Fonera e GO!

Caffè:

Visto che ci vorrà un bel pò di tempo prepariamoci  un bel caffè, al nostro ritorno il nostro routerino OpenWrt sarà pronto!





Fonera e Domotica

24 04 2010

Magari l’ho scoperto tardi, ma questo vale certamente la pena di nominarlo…
Chi lo dice che con la fonera si può solo navigare, su questo sito ci sono alcuni esperimenti veramente interessanti su come utilizzare la fonera per applicazioni di telecontrollo.





OpenWrt su Linksys WRT54G: Universal Repeater

29 09 2009

Quante volte vi siete trovati a girare per casa in cerca del vostro segnale wifi?
Quante volte avreste desiderato abbattere quella maledetta parete di tufo/pietra ottocentesca di casa vostra che riduce drasticamente le probabilità di navigare in wireless per tutta la casa?
Quante volte avete desiderato espandere il vostro wifi oltre i confini delle striminzite antennine del vostro Alice Gate di Telecozz?
Bene ora potete!

Universal Repeater

Bene, tralasciando questa ridicola introduzione e venendo al dunque ho ottenuto un comodo ripetitore di segnale configurando il mio WRT54GL con pochi passaggi.
La situazione in cui ci troviamo è tipo quella riportata in figura.

Ampliare la rete wifi con un repeater

Ampliare la rete wifi con un repeater

Per prima cosa è necessario (se si vuole utilizzare la WPA-PSK impostata di default da Telecom) scaricare i seguenti pacchetti direttamente su OpenWrt.

root@OpenWrt:~# ipkg install wpa-supplicant
root@OpenWrt:~# ipkg install hostapd
root@OpenWrt:~# ipkg install zlib
root@OpenWrt:~# ipkg install libopenssl

Per poter visionare cosa avete sul sistema usate questo

root@OpenWrt:~# ipkg list_installed
base-files-atheros-2.6 - 10-9078 -
bridge - 1.0.6-1 -
busybox - 1.4.2-2 -
dnsmasq - 2.39-1 -
dropbear - 0.50-2 -
hostapd - 0.5.7-1 -
hotplug2 - 0.9+r102-2 -
iptables - 1.3.7-1 -
kernel - 2.6.21.5-atheros-1 -
kmod-madwifi - 2.6.21.5+r2568-20070710-atheros-2 -
kmod-ppp - 2.6.21.5-atheros-1 -
kmod-pppoe - 2.6.21.5-atheros-1 -
libgcc - 4.1.2-10 -
libopenssl - 0.9.8e-1 -
mtd - 5 -
ppp - 2.4.3-8 -
ppp-mod-pppoe - 2.4.3-8 -
uclibc - 0.9.28-10 -
udevtrigger - 106-1 -
wireless-tools - 29-1 -
wpa-supplicant - 0.5.7-1 -
zlib - 1.2.3-4 -
Done.

Se i pacchetti che avete sono + o – questi possiamo andare oltre…
Passiamo ora alla configurazione delle interfacce. In primo luogo modifichiamo la network lan

root@OpenWrt:~# vi /etc/config/network

#### LAN configuration
config interface lan
option type bridge
option ifname eth0.0
option proto static
option ipaddr 192.168.1.111
option netmask 255.255.255.0

Poi passiamo alla parte wireless

root@OpenWrt:~# vi /etc/config/wireless

config wifi-device wl0
option type broadcom
option channel 11 # lo stesso canale della wifi di Alice


config wifi-iface
option device wl0
option network lan
option mode ap
option ssid RepeaterWifi # il nome della wifi del repeater

config wifi-iface
option device wl0
option network lan
option mode sta
option ssid Alice-12345678 # il nome della rete wifi da ripetere
option encryption 'psk'
option key 'xxxxxxxxxxxxxxxxxxxxx'

Fatto ciò dovresta avere un bel ripetitore wifi!!





OpenWrt su Linksys WRT54GL: rete WDS

20 12 2008


Un pò di teoria

L’acronimo WDS sta per Wireless Distribution System, una modalità operativa che permette l’espansione di una rete senza fili usando diversi access point; senza però la necessità che questi siano collegati fra logo con un cablaggio, come è richiesto tradizionalmente.

L’interconnessione tra AP avviene a livello MAC, quindi è necessario che ogni AP conosca l’indirizzo fisico dell’AP a lui direttamente connesso. Le modalità di funzionamento dei nodi di una WDS possono essere:

  • Wireless Bridging in cui gli AP comunicano solo fra loro; non è permesso l’accesso alla rete ad altri clients wireless.
  • Wireless Repeating in cui gli AP comunicano fra loro e con tutti i client wireless che vogliono associarsi alla rete.

Tutti i nodi, che possiamo anche chiamare  Base Stations (BS), in un WDS devono essere configurati per usare lo stesso canale radio e la stessa crittografia. Non è invece necessairio che abbiamo anche lo stesso SSID, anche se personalmente credo sia comodo impostarlo uguale per tutte le BS. Spesso, in particolare quando utilizziamo il WDS nel secondo dei due modi illustrati in precedenza, ci si riferisce ad una rete di questo genere, come ad una rete di repeater, in quanto ogni nodo lavora sia in modalità bridge, che access point.

Svantaggi

Il Wireless Distribution System sembrerebbe, quindi la panacea per tutti i problemi di diffusione della connettività in assenza di cablaggio, tuttavia si presentano due aspetti negativi:

  • Il throughput massimo della connessione wireless è dimezzato dopo la prima ritrasmissione (hop). Questo è vero quando il secondo access point fa sia da bridge che da AP. Se l’AP si comporta solo da bridge, quindi i clients sono collegati tramite cavo, la banda non è dimezzata.
  • Le chiavi di crittografia assegnate dinamicamente non sono generalmente supportate nelle  WDS. Ciò è un problema se si vuole proteggere la propria rete con, ad esempio, una crittografia WPA (ormai praticamente lo standard, vista l’insicurezza del WEP). Ciò è dovuto dalla mancanza di regolazione in questo campo, che ha portato i produttori ad intraprendere metodi differenti di implementazione. Le implementazioni del WDS su apparati di vari produttori non sono necessariamente compatibili tra di loro.

OpenWrt e il WDS

La rete di esempio

La rete di esempio

Grazie ad OpenWrt possiamo facilmente impostare i LinkSys WRT54GL come nodi di una WDS e distribuire la nostra rete WiFi oltre i limiti di un solo AP. Inoltre, come vedremo, sarà possibile superare il suddetto problema della crittografia con una piccola modifica… Consiglio comunque, prima di partire, una letturina qui

Configurazione dei Dispositivi

Facciamo riferimento allo schema in Fig. il nostro scopo è ottenere una rete che permetta l’accesso wireless e wired (tramite un eventuale collegamento diretto ai WRT54GL) facendo uso di 2 devices impostati come repeater.

Dall’interfaccia web (X-Wrt) del WRT54_A andiamo in

Network->Wireless ed impostiamo i parametri come segue:

Wireless Adapter wl0 Configuration

Radio                   On
Channel                5

Wireless Virtual Adaptor Configuration for Wireless Card wl0

Network                lan
Mode                    Access Point
WDS                    Off
ESSID Broadcast   On
AP Isolation          Off
ESSID                  OpenWrt
Encryption Type    WPA(PSK)
Passphrase           pippozzo

aggiungiamo una nuova interfaccia con “Add Virtual Interface”…comparira’

Wireless Virtual Adaptor Configuration for Wireless Card wl0

Network     lan
Mode         WDS
ESSID        OpenWrt_WDS
BSSID        AA:BB:CC:DD:EE:02
Encryption Type    WPA(PSK)
Passphrase    pippozzo_wds

Ripetiamo la stessa cosa sul WRT54_B, stando attenti a mantenere gli stessi ESSID e le stesse crittografie ma inserire in BSSID il mac del WRT54_A

Trasmissioni sicure

Come è possibile immaginare, a meno che non vogliate lasciare aperta la vostra rete ai vicini, vorrete chiuderla con un chiave  WPA o WPA2. Così com è con il firmware Kamikaze 7.09 bisogna fare una piccola modifica.

Loggatevi in SSH ad uno dei due router ed editate il seguente file, ad es.

ssh 192.168.1.11
vi etc/hotplug.d/net/20-broadcom_wds

Inserire le seguenti righe come indicato in questo stralcio di file

[ "$encryption" != "none" ] && {
sleep 1
nas4not lan "$iface" up auto aes "$encryption" "$key" "$ssid"
# Righe da aggiungere per abilitare la crittografia nella WDS
case "$encryption" in
psk|PSK)
nas4not "$network" "$iface" up auto tkip psk "$key" "$ssid"
;;
psk2|PSK2)
nas4not "$network" "$iface" up auto aes psk "$key" "$ssid"
;;
psk+psk2|psk2+psk|PSK+PSK2|PSK2+PSK)
nas4not "$network" "$iface" up auto aes+tkip psk "$key" "$ssid"
;;
*)
nas4not lan "$iface" up auto aes "$encryption" "$key" "$ssid"
;;
esac
# Fine
}

Fate lo stesso con il secondo router e sarete pronti per testare la vostra rete WDS!!