AUTORE: Dr. Edgar Alwers Traduttore Cardelli Sandro DATA: 2006-12-10 LICENZA: GNU Free Documentation License Version 1.2 SINOPSI: Comunicazioni Wireless da sorgenti PREREQUISITI: BLFS 6.x con kernel 2.6.18 DESCRIZIONE: Questo Hint spiega come preparare un PC per le comunicazioni wireless con Internet e come renderlo operativo. Ho risolto il problema con l'aiuto di altri hint e consigli forniti da molte persone, e lavorando con molti articoli, essendo molti di loro non più attuali. L'oggetto che ho trattato è un 'Acer' TravelMate 291LCi con tecnologia Intel Centrino Mobile, equipaggiato con un chip Intel PRO/Wireless 2200BG(IEEE 802.11b/g). Il Laptop communica con un Router 54 Mbps Wireless Netgear ADSL Firewall DG834G come access point. Comunque, ci sono buone possibilità, che questo hint possa essere applicato anche a altri PC con altri driver. Se non è possibile avere un driver nativo Linux per la propria NIC wireless, si può voler provare 'ndiswrapper', un pacchetto che permetterà di caricare un driver Windows sotto Linux. La versione del kernel compilata è la 2.6.18. Questo kernel include già un 'vecchio' driver ipw2200 e un sottosistema iee802, i quali non dovrebbero essere abilitati, essendo forniti separatamente. Sono fornite istruzioni aggiuntive, come operare con un PC in un ambiente wireless con un server DHCP ( Dynamic Host Configuration Protocol ) che fornisce indirizzi IP ai client. Questa è la situazione probabile che si troverà nella maggior parte dei locali pubblici, come aereoporti, hotel etc. HINT: KERNEL Download: Kernel v. 2.6.18 http://www.kernel.org Configurare il kernel: abilitare Networking-> Networking support-> Networking options-> Packet socket TCP/IP networking device drivers-> Network device support-> Wireless LAN (non-harmradio)-> Wireless LAN drivers & Wireless Extensions cryptographic optionsI-> ARC4 cipher algorithm (Modul) Assicurarsi, che le seguenti opzioni non siano abilitate: networking-> Generic IEE 802.11 Networking Stack device drivers-> Network device support-> Wireless LAN ( non-hamradio ) -> Intel PRO/Wireless 2200BG and 2915ABG network compilare e installare il kernel secondo le istruzionio del libro 'Linux From Scratch' HOTPLUG-2004_09_23 Script che interagiscono con gli eventi hotplug generati dal kernel Download: hotplug-2004_09_23.tar.bz2 http://www.kernel.org/pub/linux/utils/kernel/hotplug Installare hotplug immettendo 'make install' nella directory scompattata. IEE80211-1.2.15 Sottosistema del Kernel che tratta la sicurezza delle comunicazioni Download ieee80211-1.1.15.tgz http://ieee80211.sourceforge.net Decomprimere il file, entrare nella directory ieee80211-1.1.15 e immettere make, make install. Include gli headerfiles in /lib/modules/2.6.18/net DRIVER E FIRMWARE DELLA INTEL PRO/WIRELESS Download del file ipw2200_linux_1_2_0.tgz http://ipw2200.sourceforge.net Decomprimere il file. Due nuovi file tar saranno inclusi nella nuova directory creata 'intel_ipw2200_120': ipw2200-1.2.0.tgz, il driver PRO/Wireless, e il firmware ipw2200-fw-3.0.tgz. Decomprimere il file del firmware nella directory /lib/firmware. Si troverano quattro file ipw-2200-xxx.fw dopo la decompressione Decomprimere il file del driver PRO/Wireless, entrare nella directory ipw2200-1.2.0 e immettere make, make install. ( come su ) Il driver richiede installato l'immagine del firmware così come il modulo ieee80211. sysfs dovrebbe essere già montato Vedere anche il file INSTALL per maggiori istruzioni I TOOL WIRELESS L'impostazione dei tool che permettono la gestione delle Estenzioni Wireless Download i tool wireless: wireless_tools.28.tar.gz http://pcmcia-cs.sourceforge.net/ftp/contrib/ Scompattare il file, entrare nella directory wireless_tools.28 e immettere make, make install Sette tool saranno installati in /usr/local/sbin: iwconfig, iwlist, ifrename, iwevent, iwgetid, iwpriv e iwspy Fare un link da KDE_Prefix/bin a /usr/local/sbin: ln -s /usr/local/sbin/iwconfig KDE_Prefix/bin/iwconfig IL SOFTWARE CLIENT DHCPCD Software per connettere un computer ad una rete che usa DHCP per l'assegnazione degli indirizzi. Ci sono due alternative: dhcp, che include anche il software del server , e dhcpcd, un'implementazione del client DHCP specificato nel RFC2131. Preferisco dhcpcd, che sembra essere più semplice. Download dhcpcd-2.0.8.tar.bz2 http://prdownload.berlios.de/dhcpcd/ Scompattare, entrare nella directory dhcpcd-2.0.8 e immettere ./configure --prefix="" --mandir=/usr/share/man make e, come superuser, make install, e chmod -v 754 /etc/dhcpc/dhcpcd.exe. Il motivo del prefix "" nel comando di configurazione è spiegato nel libro blfs-book, versione svn-20061028, capitolo 14. Installare lo script del servizio di rete /etc/sysconfig/network-devices/services/dhcpcd e creare il file di configurazione /etc/sysconfig/network-devices/ifconfig.eth1/dhcpcd come indicato nello stesso posto AVVIARE IL PC Se è andato tutto bene, il PC si avvia e carica il firmware e il driver wireless. corrispondenti messaggi di avvio saranno tipo... ........ ieee80211_crypt: registered algorithm 'NULL' ieee80211: 802.11 data/management/control stack, 1.1.6 ieee80211: Copyright (C) 2004-2005 Intel Corporation ipw2200: Intel(R) PRO/Wireless 2200/2915 Network Driver, 1.0.8 ipw2200: Copyright(c) 2003-2005 Intel Corporation ACPI: PCI Interrupt Link [LNKG] enabled at IRQ 10 ACPI: PCI Interrupt 0000:01:02.0[A] -> Link [LNKG] -> GSI 10 (level, low) -> IRQ 10 ipw2200: Detected Intel PRO/Wireless 2200BG Network Connection Detected geography ZZM (11 802.11bg channels, 0 802.11a channels) ......... PROGRAMMI DI MONITORAGGIO Ci sono molti programmi che permettono il monitoraggio delle comunicazioni wireless. Ne ho installati due: 'Wireshark' ( precedente ethereal ) e 'KWiFiManager'. 'wireshark' è un potente analizzatore di protocollo di rete ( packet sniffer ). Download 'wireshark-0.99.4.tar.gz' da http://www.wireshark.org/download/src Scompattare il file e eseguire ./configure, make e make install. 'kwifimanager' è un programma frontend di KDE usato per configurare e monitorare schede di rete wireless . 'kwifimanager' fa parte di 'kdenetwork'. Download kdenetwork_3.4.1.tar.bz2 e seguire le istruzioni date es. In BLFS - Versione 6.1, capitolo 29. I tool Wireless dovrebbero essere installati prima di compilare questo pacchetto. CONFIGURAZIONE DEL ROUTER - CONSIDERAZIONI DI SICUREZZA durante l'installazione del sistema wireless, le opzioni di sicurezza del router sono disattivate. Ora, è tempo di attivarle. Accedere al menu delle impostazioni del router attraverso un browser, immettere qualcosa come http://192.168.0.1. Ho attivato WEP ( Wired Equivalent Privacy ) con 64 bit di crittografia. E' possibile prendere in considerazione la crittografia a 125 bit Immettere una password nel campo di crittografia, e il router genererà quattro chiavi, ogniuna consistente di 10 caratteri, combinando numeri da 1 a 9 e lettere A-F, tipo:EC670531BE. La prima di queste quattro chiavi è quella che viene normalmente usata. Inoltre, il MAC-addresses ( Media Access Control ) del laptop e del PC che hanno il permesso di accedere al router dovrebbero essere immessi nella access-list 'trusted wireless stations'. Si possono prendere gli indirizzi MAC dalla lista dei dispositivi connessi nel menu delle impostazioni del router o con l'aiuto di un tool di esplorazione della rete tipo 'nmap' ( Network Mapper ), nell'ultimo caso es. immettendo 'nmap -sP 192.168.0.1/22' Tuttavia, neppure una crittografia a 125 bit oggi non da una reale sicurezza. Secondo una nota alla quale ha contribuito Bryan Kadzban, una sicurezza effettiva può essere ottenuta solo con critografia WPA o WPA2. E' possibile prendere in considerazione questa, se si hanno dati segreti da trasmettere. CONFIGURARE IL PC PER COMUNICAZIONI WIRELESS immediatamente dopo che le impostazioni di sicurezza sono state impostate sul router, il PC non sarà più in grado di vedere l'access point: anche al PC occorrerà di essere configurato. Immettendo il comando 'iwconfig eth1 key xxxxxxxxxx' abilita la comunicazione, ma non permanentemente. Per una configurazione permanente, scrivere uno shell-script es.'connect' in /etc/rc.d/init.d: $!/bin/sh /usr/local/sbin/iwconfig eth1 key xxxxxxxxxx e renderlo eseguibile: chmod ug+x connect. Fare un link simbolico in /etc/rc.d/rc3.d che punti a questo script: ln -s /etc/rc.d/init.d/connect S19connect. Il link dovrebbe iniziare con qualcosa come S19, e lo script dovrebbe essere eseguito prima dello script S20network. Per un sistema non crittografato, come probabilmente si trova in posti pubblici, il comando nello script non dovrebbe contenere la chiave: /usr/local/sbin/iwconfig eth1 Creare una directory 'ifconfig.eth1' in '/etc/sysconfig/network-devices', e spostarsi in questa directory. Per l'operazione senza DHCP creare un file ipv4: ONBOOT=yes SERVICE=ipv4-static IP=192.168.1.3 // l'indirizzo della propria box GATEWAY=192.168.1.9 // l'indirizzo del proprio router PREFIX=24 BROADCAST=192.168.1.255 NETMASK=255.255.255.0 e modificare GATEWAY_IF in /etc/sysconfig/network in eth1. Per l'operazione con DHCP creare invece un file ipv4 dhcpcd: ONBOOT="no" SERVICE="dhcpcd" DHCP_START="eth1 -t 20" DHCP_STOP="-k " # Impostare PRINTIP="yes" per far stampare allo script # l'indirizzo IP assegnato dal DHCP PRINTIP="yes" # Impostare PRINTALL="yes" per stampare i valori assegnati dal DHCP per # IP, SM, DG, e 1st NS. Questo richiede PRINTIP="yes". PRINTALL="no" USARE LA CONNESSIONE WIRELESS Dopo l'avvio, lsmod mostra Module Size Used by ipw2200 170244 0 ieee80211 45356 1 ipw2200 ieee80211_crypt 4512 1 ieee80211_crypt_wep, ieee80211 Il comando 'iwconfig eth1' immesso in una console mostra eth1 IEEE 802.11g ESSID:"Mannheim" Mode:Managed Frequency:2.462 GHz Access Point: 00:0A:B5:CF:64:28 Bit Rate=48 Mb/s Tx-Power=20 dBm Sensitivity=8/0 Retry limit:7 RTS thr:off Fragment thr:off Encryption key:57E4-DB3A-B1 Security mode:open Power Management:off Link Quality=95/100 Signal level=-29 dBm Noise level=-86 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 Siccome il parametro ONBOOT era impostato a 'yes', la connessione all'access point è già attiva. Il browser internet dovrebbe essere configurato con accesso diretto a internet. Aprendo il browser dovrebbe stabilire immediatamente una connessione. USARE CONNESSIONE WIRELESS CON UN SERVER DHCP Ho esperienza di problemi avviando il demone dhcpcd durante il processo di avvio. Così ho deciso di impostare il parametro ONBOOT nel file /etc/sysconfig/network-devices/ifconfig.eth1/dhcpcd a 'no', come indicato sopra, e avviare come 'su' un piccolo script 'eth1_connect' : #!/bin/bash /sbin/dhcpcd eth1 # end Dopo l'avvio del demone dhcpcd, la connessione all'access point è attiva. RICONOSCIMENTI: Ho provato a compilare articoli, informazioni, hint e risposte alle domande che ho messo nella mailinglist BLFS di questo hint. Molte grazie a tutti quelli che hanno contribuito: Gabe Yoder, Andrew Benton, Alexander E. Patrakov, Jim Gifford, David Fix, Rainer Peter Feller, Chris Staub, Randy McMurchy, Jeremy Monnet, Stefan Krah, Bryan Kadzban. LINK E LETTERATURA: Intel PRO/Wireless driver http://ipw2200.sourceforge.net Linux Wireless Networking http://www.linuxhomenetworking.com/linux-hn/wmp11-linux.html Wireless LAN Resources for Linux http://www.hpl.hp.com/personal/jean_Tourrilhes/Linux/Tools.html Wiresharkt http://www.wireshark.org/ The devices, the drivers... Jean Tourrilhes http://www.hpl.hp.com/personal/jean_Tourrilhes/Linux/Linux.Wireless.drivers.802. 1.11ag.html#CentrinoAG Sane network interface management with Hotplug. Jean Tourrilhes http://www.hpl.hp.com/personal/jean_Tourrilhes/Linux/HOTPLUG.txt ndiswraper http://ndiswrapper.sourceforge.net/mediawiki/index.php/Installation LOGMODIFICHE: [2006-03-26] Commenti riguardo le considerazionji sulla sicurezza Note aggiuntive riguardo all'operazione DHCP-Server Capitolo "Il software Client DHCPCD" Configurazione del PC per operazioni sotto DHCP Sottosistema IEE80211-1.1.6 modificato in IEE80211-1.1.12 Intel PRO/WIRELESS driver ipw2200-1.0.8 modificato in ipw2200-1.0.10 Utilizzo della connessione wireless sotto un server DHCP [2006-12-10] Versione del Kernel 2.6.18 configurazione del kernel modificata istruzioni di Hotplug modificate UDEV è adesso parte del sistema versione ieee80211 modificata in 1.2.15 Nuova versione del driver e firmware di Intel's PRO/Wireless Wireless tool versione 28 dhcpcd versione 2.0.8 nuovo messaggio di avvio del PC 'Kismet' saltata, introdotta 'wireshark' Modificato Link e letteratura