|
Configurazione e monitoraggio di reti wireless |
Mobydik.tk, un tool per la configurazione wireless su Linux
 |
La configurazione di una rete wireless linux coinvolge vari aspetti che spesso possono risultare ostici ai neofiti, l'obiettivo di questo lavoro è quello di raccogliere tutti i comandi e gli script per la configurazione wireless in un unica interfaccia grafica: Mobydik.tk
Autore: Ing. Paolo Cavone |
|
|
Introduzione: wireless & Linux
| Mobidik.tk è un utility, scritta in TCL-TK, con la quale poter comodamente settare e monitorare la nostra attuale configurazione di rete in tutti gli ambienti wireless Linux che è possibile imbattersi: casa, scuola, ufficio, hot-spot sparsi in luoghi pubblici. La scelta del linguaggio di scripting TCL-TK è dettata dalla possibilità di modificare a proprio piacimento il codice sorgente, con un qualsiasi editor di testi, e verificarne subito il funzionamento senza essere dei programmatori esperti. Mobydik.tk si basa sull'utilizzo dei driver HostAP, ottimi per le diffusissime schede di rete wireless pcmcia con chipset Intersil Prism (es. D-LINK) e compatibili con lo standard IEEE 802.11x, ed i Linux Wireless Extensions Tools. |
|
|
|
Prerequisiti e setup di Mobydik.tk
- Sistema Operativo: Linux con (almeno) Kernel 2.4.22
- Driver HostAP (http://hostap.epitest.fi ) per schede di rete wireless con chipset della famiglia Prism.
- The Linux Wireless Extensions and Tools (http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux)
Una copia dei binari di tali tools (vers. 26) è distribuita con questo pacchetto, converrà sicuramente controllare sul sito suddetto l'esistenza di versioni più aggiornate e/o compilarli per la propria distribuzione di Linux.
Setup
- Decomprimere il pacchetto nella directory /usr/local/sbin (dove si presuppone siano presenti una copia dei binari delle wireless tools (iwconfig, iwlist, etcc)
- Copiare Mobydik.Desktop sul vostro Desktop
- Personalizzare a vostro piacimento gli shell script (*.sh) e Mobydik.tk presenti.
|
|
Come funziona Mobydik.tkMobydik, all’avvio, rileva il nome del device di rete wireless in uso. Di default viene settato ad eth1 che è il nome fornito dai driver orinoco, se poi rileva la presenza dei driver HostAP (attraverso il file-system /proc) allora lo rinomina con quello attuale (wlan0), utilizzerà tale nome come parametro da inviare agli script di configurazione eventualmente utilizzati. Il menu principale comprende le seguenti funzionalità: |
|
Gestione della scheda wlan card PCMCIAIl menu PCMCIA consente la corretta utilizzazione della scheda pcmcia attraverso le funzionalità offerte dal comando cardctl: prima di estrarre o cambiare modalità di funzionamento è possibile effettuare:
- Eject: Disabilita e spegne la scheda pcmcia: da eseguire prima di estrarre "a caldo" la scheda pcmcia, la mancata operazione di Eject può rendere il sistema instabile e bloccarlo del tutto.
- Insert: Riaccende e rileva, dopo aver effettuato un Eject, la scheda pcmcia.
- Stop: disabilita la scheda pcmcia, utile prima di cambiare modalità di Funzionamento.
- Start: Abilita la scheda pcmcia
- Info: Restituisce le informazioni circa i dispositivi inseriti nei socket pcmcia.
|
|
Architettura wireless: ManagedIl menu "Schema" consente di selezionare l'architettura di rete wireless desiderata. Gli schemi pre-confezionati, ma modificabili a proprio piacimento, sono:
- Modalità: "Managed" (o "Infrastructure")
Utilizzare questa modalità, anche detta "Infrastructure", se si dispone di un Access Point esterno che tramette ad una ben determinata frequenza (ovvero canale) e realizza una sotto-rete wireless identificata dal parametro ESSID (il nome della sotto-rete). Grazie all'utilizzo dei driver HostAP non è necessario disporre di un access point vero e proprio, è possibile infatti utilizzare un PC con scheda wireless PCI configurata in modalità Master (Access Point Mode). Con questa modalità si realizza una topologia di rete a "stella", tutti i dispositivi mobili (portatili, palmari, ecc) potranno comunicare fra loro e verso l'esterno (se l'access point è a sua volta connesso ad Internet attraverso un router o un PC che funge da router). L'esecuzione di questa voce di menu richiama uno script shell del tipo:
# Stabiliamo la modalità di funzionamento iwconfig wlan0 mode managed # Specifichiamo su quale rete wireless (fra quelle intercettate) connetterci iwconfig wlan0 ESSID <My_infrastructured_wireless_network_name> # Non utilizziamo (per il momento...) sistemi di protezione attraverso il WEP iwconfig wlan0 enc off # Configurazione TCP/IP (i valori sono di esempio) ifconfig wlan0 192.168.0.10 netmask 255.255.255.0 up # Eventualmente specifichiamo il nostro Default Gateway e DNS route add default gw 192.168.0.1 echo "name server 123.123.123.1" > /etc/resolv.conf
Se tutto va bene, la connessione si stabilisce ed il LED della scheda wireless non lampeggierà più ma resterà fissa.
|
|
Architettura wireless: Ad-HocUtilizzare questa modalità se si desidera realizzare una connessione semplice (peer-to-peer) tra due computer, in tal caso su entrambi i PC il comando lancierà un script simile al precedente, i comandi che cambiano sono:
iwconfig wlan0 mode ad-hoc iwconfig wlan0 ESSID <My_ad-hoc_wireless_network_name>
Anche in questo caso se tutto va bene il LED della scheda wireless resterà fissa.
|
|
Modalità MASTER: wlan card come Access PointUtilizzare questa modalità se si vuole far funzionare un PC dotato di scheda wireless PCI da Access Point. In tal caso lo script lanciato sarà del tipo:
# Stabiliamo la modalità di funzionamento iwconfig wlan0 mode Master # Specifichiamo il nome della rete wireless iwconfig wlan0 ESSID <My_infrastructured_wireless_network_name> # Non utilizziamo (per il momento...) sistemi di protezione attraverso il WEP iwconfig wlan0 enc off # Configurazione TCP/IP (i valori sono di esempio) ifconfig wlan0 192.168.0.1 netmask 255.255.255.0 up # Realizziamo il nostro Default Gateway attraverso la connessione via modem (si suppone già avviata) route add default gw ppp0 # Specifichiamo il DNS server del nostro provider echo "name server 123.123.123.1" > /etc/resolv.conf # Eseguiamo la condivisione della connessione ad Internet a tutti i computer connessi via wireless iptables -A POSTROUTING -t nat -s 192.168.0.0/24 -d 0/0 -p all -j MASQUERADE -o ppp0
Se tutto procede bene in questa modalità il LED della scheda wireless continuerà a lampeggiare indicando che stà funzionando da Access Point. |
|
Monitoraggio di reti wireless (L2-Link)Il Menu "Wireless" consente il completo monitoraggio delle celle wireless circostanti: consente di viisualizzare le informazioni relative all’attuale connessione Wireless, in particolare:
- Beacon SSID:
Visualizza i messaggi (Layer 2) inviati dall’Access Point alla rete riportanti il relativo l'indirizzo MAC: wlan0: LinkStatus: BSSID=44:44:44:44:44:44 wlan0: LinkStatus: BSSID=00:0c:f6:01:b1:f6
- Iwconfig:
Visualizza tutti i parametri della connessione wireless (Layer 2):
wlan0 IEEE 802.11b ESSID:"Wireless" Nickname:"My_Notepad"
Mode:Managed Frequency:2.412GHz Access Point: 00:0C:F6:01:B1:F6 Bit Rate=11Mb/s Sensitivity=1/0 Retry min limit:8 RTS thr:off Fragment thr:off Encryption key:off Power Management:off Link Quality:88/0 Signal level:-49 dBm Noise level:-100 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0
- Cell scanning:
Questa importante funzionalità consente la scansione di tutte celle (reti) wireless disponibili ed i relativi parametri tipici di un sistema di trasmissione digitale: frequenza, livelli di potenza del segnale e del rumore, bit-rate possibili. Tale operazione è possibile SOLO se la scheda wireless funziona in modalità Managed, i tutti gli altri casi non è abilitata.
wlan0 Scan completed :
Cell 01 - Address: 00:0C:F6:01:B1:F6 ESSID:"Wireless" Mode:Master Frequency:2.412GHz Quality:0/0 Signal level:-55 dBm Noise level:-100 dBm Encryption key:off Bit Rate:1Mb/s Bit Rate:2Mb/s Bit Rate:5.5Mb/s Bit Rate:11Mb/s Extra:bcn_int=100 Extra:resp_rate=20
- Channels:
Visualizza il canale attualmente utilizzato e la relativa frequenza portante, molto utile negli ambienti in cui esistono più reti wireless che trasmettono contemporaneamente su differenti canali.
./iwlist wlan0 channels
wlan0 0 channels Current Frequency:2.412GHz
- Encryption: Visualizza le informazione relative all’eventuale Encryption dei messaggi:
./iwlist wlan0 encryption
wlan0 0 keys available : Current Transmit Key: [0]
La modalità Monitor consente l'analisi del traffico wireless a livello di data-link (L2). A questo livello è possibile eddentrarsi nei meandri del protocollo 802.11 ed utilizzare software specifici per questi scopi: Kismet fra tutti.In monitor MODE è possibile analizzare tutto il traffico wireless.
Utilizzando i driver HostAp e le Linux Wireless Tools: iwconfig wlano mode monitor iwconfig wlan0 channel <you_channel_number> ifconfig wlan0 up
|
|
Monitoraggio di reti wireless (L3-TCP/IP)Il menu TCP/IP visualizza l’attulale configurazione TCP/IP, in particolare:
- IP Address: restituisce il risultato di ifconfig: la configurazione TCP/IP
- Routing Table: restituisce il risultato del comando route, il quale restituisce la tabella di routine riportante i gateway attualmente in uso
- DNS: Visualizza il contenuto del file /etc/resolv.conf riportante l’elenco dei server DNS attualmente in uso
Dopo aver selezionato la modalità di collegamento è possibile testare la connessione attraverso il classico ping
PING 192.168.0.1 (192.168.0.1) from 192.168.0.3 wlan0: 56(84) bytes of data. Completed at: Fri Oct 15 19:54:52 CEST 2004 64 bytes from 192.168.0.1: icmp_seq=1 ttl=128 time=3.15 ms Completed at: Fri Oct 15 19:54:53 CEST 2004 64 bytes from 192.168.0.1: icmp_seq=2 ttl=128 time=3.01 ms Completed at: Fri Oct 15 19:54:55 CEST 2004
Gli output di tutti i comandi su Mobydik possono generare salvati in un utile file di Log delle zone wireless visitate ed essere utilizzati per creare nuovi script di configurazione.
|
|
Configurazione ADSL su Linux
- Se il comando adsl-setup non esiste bisogna installare rp-pppoe (poit-to-point protocol over ethernet) disponibile su www.roarpenguin.com
- Lanciare adsl-setup
- Per avviare la connessione eseguire adsl-start
- Per monitorare lo stato della connessione ADSL: adsl-status
- Per terminare la connessione ADLS: adsl-stop
|
|
Ottimizzazione ADSL-TCP tramite RWinBisogna riconfigurare il parametro RWin (Receive Windows) del protocollo TCP.
In ambiente Linux:
- Impostazione del valore MTU (Maximum Transfer Unit)
ifconfig wlan0 mtu [valore]
Valori tipici sono: 1500, 3000, etc...
- Dis/abilitare il Window Scaling di TCP
echo 1(o 0) /proc/sys/net/ipv4/tcp_window_scaling
- Dia/Abilitare i Time Stamps
echo 1(o 0) /proc/sys/net/ipv4/tcp_timestamps
- Reimpostare il TTL (Time To Live)
echo 64(o 128) /proc/sys/net/ipv4/ip_default_ttl
- Reimpostare il parametro RWin di TCP (Receive Window)
echo 32120(valore rwin) /proc/sys/net/core/rmem_max echo 32120(valore rwin) /proc/sys/net/core/rmem_default echo 32120(valore rwin) /proc/sys/net/core/wmem_max echo 32120(valore rwin) /proc/sys/net/core/wmem_default
Tutti questi comandi sono da eseguire da terminale in modalità root
In ambiente Windows è fattibile con il programma DrTCP.
Ridimensionare il valore della finestra di ricezione di TCP E' molto vantaggioso in termini di Throughput ed elevati bit rate (Mb), in quanto il valore del RWin di default di Windows è troppo basso per la banda disponibile, soprattutto sulle lunghe distanze e con le attuali ADSL fortemente asimmetriche (poca banda in upload, molta banda in download).
Per il Software DrTCP ed altre info:
http://www.disteland.com/trucchi/drtcp.htm
|
|
|
|
|