Att används ett trådlöst nätverkskort är inte lika enkelt att används på linux som i windows därför att många tillverkare inte har drivrutiner för sina produkter till linux. En början är att titta på vilka modeller som stöds som finns på denna sida.
Ofta får man göra lite detektivarbete då man får försöka lista ut vilken krets som egentligen används. Om du har anslutit enheten verifiera du först att den har hittats av systemet, det görs enklast med ett kommando som heter lsusb som lista alla enheter som detekterats på USB bussen.
Här ser man att systemet detekterat min nätverkskort (AirPlus G DWL-G122) Nästa steg är att se om det finns drivrutiner installerade, enklast gör man det genom att använda kommandot iwconfig för att hitta alla detekterade wifi-nätverksskort
här ser man att den hittat ett kort wlan0 som ännu inte är uppkopplad mot något trådlös nät.
I linux namnges nätverksinterfacen med lo för lokalt loppback interface, eth0,eth1 osv för fysiska nätverkskort, wlan0,wlan1 osv för trådlösa nätverkskort. Nu har vi ett fungerande nätverkskort, nu gäller det att se vilka accesspunkter som kortet ser, detta gör med kommandot sudo iwlist wlan0 scan
2 st accesspunkter upptäcktes, en med WPA2 (PSK) kryptering och en med WAP (Encryption key:on) ingen kryptering men lösenord, en anslutning med Encryption key:off har ingen kryptering och inget lösenord.
Öppna nät
öppna nät är trådlösa nät som vem som helst som är inom räckhåll kan koppla upp sig till, dessa nät ska man vara försiktig med hur man surfar då förbindelsen inte är krypterad och kan avlyssnas. Ett öppet nät ser man om den visar Encryption key:off i anslutnings informationen. Ett sådan system bör man inte ha hemma eftersom alla kan ansluta utan lösenord.
WEP kryptering
Enkel kryptering WEP (Wired Equivalent Privecy) , är den första krypteringen för trådlösan när och kom i slutet av 1990 talet. Systemet bygger på en fast krypteringsnyckel som delas av alla anslutna enheter i nätverket. Genom att titta på de paket som skickas i nätverket kan man ganska snabb lista ut vilken nyckel som används. Med enkla verktyg som finns att ladda ner från nätet kan man lista ut nyckeln på några minuter så denna kryptering bör inte användas om det är möjligt. Idenifieras med Encryption key:on
WPA kryptering
För att förbättra säkerhetet tog man fram ett nytt krypteringprotokoll WPA (WiFi Protected Access) 2004. I stället för att dela en gemensam nyckel som WEP distribueras olika nycklar till de anslutna enheterna. Tekniken som används förkortas till TKIP (Temporal Key Integrity Protocol), när man listar ett nätverk med WPA så kan man se att de olika kryptona (eng. cipher) säger TKIP vilket visas att detta är en WPA krypterad accesspunkt. Det finns fler förbättringar i säkerhet än just nyckeldistributionen men systemet är ändå inte inbrottssäkert.
WPA2 kryptering
WPA2 är en förbättring av WPA där klienterna utbyter information mellan varandra och skapa sessionunika nycklar. WPA2 är säkrare än WPA men allt beror på hur säkert man behöver ha sitt nätverk.
Automatisk uppkoppling
För att man ska kunna koppla upp sig automatiskt måste man lägga in information om de olika nätet, SSID, kryptering och lösenord. Man behöver inte ändra något i /etc/network/interfaces utan den kan vara standard konfigurerad.
1 2 3 4 5 6 7 8 9 |
auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 iface wlan0 inet manual wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf iface default inet dhcp |
Man gör alla tillägg i filen /etc/wpa_supplicant/wpa_supplicant.conf och lägger till ett block för varje uppkopplingspunkt som systemet ska kunna koppla upp sig mot, blocket består av
1 2 3 4 5 6 7 8 9 |
network = { ssid="ssidnamn" scan_ssid=1 proto=WPA RSN key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP psk="lösenord" } |
Verkar som om det blev problem med denna konfiguration så jag har plockat bort ett antal rader så att /etc/wpa_supplicant/wpa_supplicant.conf ska se ut som nedan
1 2 3 4 5 6 |
network = { ssid="ssidnamn" scan_ssid=1 # använd om ssid inte är synligt proto=WPA RSN psk="lösenord" } |
genom att skriva på detta sätt kommer den först att pröva att ansluta med WPA2 och om det inte fungerar WPA, man lägger till ett sådant block per ssid. För det nätverk som jag har uppkopplat rpitest kommer /etc/wpa_supplicant/wpa_supplicant.conf att se ut så här
1 2 3 4 5 6 7 8 9 |
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="rpitest" scan_ssid=1 # om SSID är gömd proto=WPA RSN psk="Hemligtord" } |
Genom att ta ner och upp det trådlösa nätverkskortet kan man får systemet att läsa in de nya inställningarna
1 2 |
sudo ifdown wlan0 sudo ifup wlan0 |
Så det fungerade, glöm inte att mellan sudo ifup wlan0 och tills det att wlan0 fått sin IP-adress kan det ta ett antal sekunder. Man kan även välja att inte ange psk (lösenordet) i klartext med hjälp av kommandot wpa_passphrase kan man få en krypterad version av lösenordet, man anger ssid och lösenord och för en krypterad psk rad som svar.
Byt ut den psk rad som du har mot den krypterade, kom ihåg att du inte får sätta citationstecken runt det eftersom system tolkar alla psk med citationstecken som okrypterade lösenord. Så här ser filen ut efter det att jag bytt ut psk raden mot det krypterade lösenordet
1 2 3 4 5 6 7 8 9 |
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev update_config=1 network={ ssid="rpitest" scan_ssid=1 proto=WPA RSN psk=dc11deef5b99301afd5480b853a97edf824efc65cd1e08395e67cec1cadfc6e8 } |
Discussion (5) ¬
Hur gör man för att få wlan0 att starta automatiskt?
Hur får man en statisk IP-adress på wlan0?
Om du följt mina instruktioner så ska det trådlösa nätverket starta upp automatiskt. Jag upptäcke att det verkar bli problem med konfiguration nu när jag testade den igen så jag har ändrat lite i inställningarna för wpa_supplicant.conf
Ett exempel på /etc/network/interfaces för statisk ip 192.168.1.101, gateway 192.168.1.1, ssid test, lösenord for trådlösa nätverket hemligt, wpa kryptering
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
#iface wlan0 inet manual
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
iface wlan0 inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 192.168.1.1
wpa-ssid "test"
wpa-psk "hemligt"
Tack för en riktigt bra och informativ post.
Detta drabbade mig:
root@raspberrypi:~# ifup wlan0
ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument
Dock fungerar det ändå vid närmare åsyn.
För personer som får felmeddelande att /var/run/wpa_supplicant saknas, ändra till:
ctrl_interface=DIR=/run/wpa_supplicant GROUP=netdev
http://thepihut.com/products/usb-wifi-adapter-for-the-raspberry-pi