Linux altında Kablosuz LAN

ArticleCategory: System Administration[Choose a category, translators: do not translate this, see list below for available categories]

System Administration

AuthorImage:[Here we need a little image from you]

[Photo of Wang Xu]

TranslationInfo:[Author + translation history. mailto: or http://homepage]

original in cn Wang Xu 

cn to en Wang Xu 

en to tr Onur Yılmaz

AboutTheAuthor:[A small biography about the author]

Wang Xu, Beijing University of Posts and Telecommunications (Çin) 'da PhD öğrencisidir ve kablosuz iletişimle meşguldür. 1999'dan beri (üniversite öğrencisi olduğu zamanlar) bir Linux sever. Linux'un yanısıra şunlardan hoşlanır: TeX, C/C++, Perl, gibi.

Abstract:[Here you write a little summary]

Bu makalede yazar, bazı yaygın Kablosuz LAN bağdaştırıcıları için sürücülerden ve bunlarla ilişkili 802.1x tabanlı kimlik denetimi gibi konulardan bahsetmektedir.

ArticleIllustration:[One image that will end up at the top of the article]

wireless interconnection
between computers

ArticleBody:[The main part of the article]

Giriş

WLAN aygıtlarının daha da ucuzlaması ve daha fazla kuruluşun kendi çalışanlarına yada kamuya WLAN erişimi sunmasıyla, WLAN (IEEE 802.11b/a/g) daha popüler hale geliyor. Neredeyse her yeni dizüstü bilgisayar gömülü bir WLAN bağdaştırıcıya sahip ve eskileride PCMCIA WLAN kartları kullanabilir. Hatta masaüstü bilgisayarları da USB WLAN kartlara yada on-board WLAN kartlara sahip olabilir. Diğer yandan WLAN Access Points (AP) ( WLAN Erişim Noktaları ) kampüslere, ofisler, otellere, konutlara... yerleştiriliyor. WLAN yerel ağların yerleştirilmesini kolaylaştırır, iş ve günlük hayatımızdaki başka bir devrim olan mobil/göçebe çalışmayı sağlar.

Böylece Linux dünyasında WLAN erişimini desteklemek önemli hale gelmiştir. Bu makalenin geri kalan kısmı şunları içerir: öncelikle kartların nasıl sürüleceğini (sürücülerin kurulması) düşünelim, sonra kimlik denetimi kullanarak ağlara erişmeye çalışalım, ve WLAN arabirim yapılandırması için kullanılan araçlara kısa bir göz atalım; en sonunda da bir sonuç çıkartalım.

WLAN Kartların Sürülmesi

Kablosuz LAN kartını bilgisayarınıza taktıktan sonra ilk yapılacak iş sürücünün kurulması ve kartın çalışır hale getirilmesidir. Sürücü kartı kontrol ederken; WLAN kart fiziksel katmanın ( physical layer )(PHY) ve ortam erişim kontrol alt katmanının ( media access control sublayer )(MAC) fonksiyonlarını, protokollerin IEEE 802.11 serisinin birinde belirtildiği gibi gerçekleştirir. Bu ağ arabiriminin ethernet arabirimine benzemesini ve diğer WLAN' e özel arabirimlerin yönetimini sağlar.

Farklı kartlar ve satıcılar için sürücüleri kurmak konusunda birleşik, tek bir yöntem yoktur. Fakat çoğu şu üç yöntemle kurulabilir:

İlerleyen bölümlerde yazar bu yöntemleri örneklerle gösterecek.

Son iki yöntemden birini kullansanız bile, çekirdek yapılandırmanızdaki kablosuz LAN desteğinin ayarlanmış olmasına dikkat edin:

gnawux@APTITUDE:~$ grep CONFIG_NET_RADIO /boot/config-`uname -r`
CONFIG_NET_RADIO=y
Eğer değilse, çekirdeğinizi yeniden yapılandırmalı ve "Wireless LAN (non-hamradio) Drivers and Wireless Extensions" seçeneğini etkinleştirmelisiniz.

WLAN için çekirdek desteği

Yeterince olgun ve lisans sorunu olmayan sürücüler Linux çekirdeğine eklenir. Bu yüzden, çekirdekteki desteklenen WLAN kart listesi çekirdeğin versiyonuna bağlıdır ve sürücüyü kurmadan önce yeni çekirdeğin daha iyi desteği olup olmadığını kontrol etmeniz iyi olur.

Bu bölümde yazar, Intersil Prism chipset (ISL38xx) tabanlı WLAN kartlar için sürücünün nasıl kullanılacağını gösterecek. Desteklenen kartların listesi http://prism54.org 'da [2] bulunabilir.

Prism tabanlı bir kartı kullanmak için, en son 2.6 çekirdeğe ihtiyacınız var ve kernel yapılandırmasının kablosuz LAN sürücü bülümündeki "Intersil Prism GT/Duette/Indigo PCI/Cardbus" seçeneğini etkinleştirip çekirdeği yeniden inşa etmelisiniz.

Eğer çekirdeği yapılandırırken modülün yardım metinini dikkatlice okursanız prism54.org proje websitesinden [2] firmware (donanım üzerinde bulunan, donanımın işlevini nasıl yerine getireceğini bildiren donanım sürücüleri) almaya ihtiyacınız olduğunu bulabilirsiniz. Bunun nedeni, firmware 'ını depolamak için bir EPROM 'u olmamasıdır. Bu yüzden, sürücünün kartı başlatırken firmware indirmeye ihtiyacı var. Lisans sorunundan firmware çekirdeğin bir parçası olamaz. Firmware 'ı aldıktan ve "/usr/lib/hotplug/firmware/" içine koyduktan sonra bilgisayarı yeniden başlatın. WLAN kart tarafından sağlanan ilave bir ethernet arabirimine sahip olduğunuzu göreceksiniz.

Özel WLAN kartlar için bağımsız modüller

Diğer yeni donanımlarda olduğu gibi, birçok yeni kartın satıcılar tarafından sağlanmış GPL-uyumlu sürücüleri yok. Yada açık kaynak toplumu tarafından geliştirilen sürücüler çekirdeğin kapsamına alınacak kadar olgun değiller. Bu yüzden bu sürücüler modül olarak sağlanıyorlar ve gelecekte tamamlandıkları zaman yeni çekirdeklere ekleneceklerdir.

En ünlü sürücülerden biri Intel Pro/Wireless 2100 kart için olan ipw2100 'dür[3]. Bu Intel Centrino® teknolojisinin bir parçası ve birçok dizüstü bilgisayarda kurulu. Bu bölümde yazar ipw2100 sürücünün kurulumunu tanıtacak.

Öncelikle, sürücünün kaynak paketini firmware 'da olduğu gibi proje websitesinden indirmelisiniz, http://ipw2100.sourceforge.net. Çekirdeğinizin yeterince yeni olduğundan ve daha önce söylendiği gibi hotplug firmware, modüller ve kablosuz LAN için destek sağlayacak şekilde inşa edildiğinden emin olduktan sonra kaynak paketini açın:

APTITUDE:/usr/src# tar -zxvf ipw2100-1.0.1.tgz
Sonra inşa etmek ve kurmak için kaynak dizinine gidin:
APTITUDE:/usr/src/ipw2100-1.0.1# make
APTITUDE:/usr/src/ipw2100-1.0.1# make install
Modüller kurulurken, size firmware kurulumuna ihtiyacı olduğunu belirtir:
Don't forget to copy firmware to /usr/lib/hotplug/firmware/ and have the 
hotplug tools in place.
Mesajın söylediği gibi: firmware 'ı hotplug dizinine açın, sonra kurulum prosedürü tamamlanır. Şimdi ipw2100 modülünü şöyle etkinleştirebilirsiniz:
APTITUDE:/usr/src/ipw2100-1.0.1# modprobe ipw2100
Ve buraya değişik yapılandırmalar için bazı parametreler ekleyebilirsiniz. Örneğin; ifname parametresi arabirim ismini özelleştirebilir:
APTITUDE:/usr/src/ipw2100-1.0.1# modprobe ipw2100 ifname=wlan0
Böylece arabirim wlan0 olarak isimlendirilecek. Diğer parametreler için, ipw2100 sürücünün kaynak paketindeki dökümanları okuyabilirsiniz.

Diğer kartların sürülmesi

Ne yazık ki, bazı kartların Linux için şimdilik sürücüsü yok yada sürücü bir nedenden ötürü çalışmıyor. Fakat, bu onu Linux altında kullanamayacağımız anlamına gelmiyor. En azından NDIS wrapper ( NDIS kaplayıcı ) [1] var.

Masaüstü yada dizüstü bilgisayar için olan WLAN kartların çoğu Windows 2000/XP 'yi destekler, Windows 2000/XP WLAN desteğini NDIS denilen bir standart arabirimle işletir. Bu yüzden bu tarz kartların sürücüleri genel olarak NDIS 'i destekler. Böylece bu tip bir sürücüyü kaplayabiliriz ve sanki Windows 2000/XP altındaymış gibi Linux altından çalıştırabiliriz. Bu yöntem bizi ndiswrapper projesine götürür.

Bu bölümde yazar, örnek olarak bir Netgear 121 WLAN kart için ndiswrapper kuracak. İlk olarak proje sitesinden ndiswrapper 'ı indirmelisiniz, http://ndiswrapper.sourceforge.net, ve Windows için NDIS sürücüsünü hazırlamalısınız. Ndiswrapper bir çekirdek modülünü ve birtakım araçları kapsar. Onu inşa etmeli ve kurmalısınız:

APTITUDE:/usr/src/ndiswrapper-0.11# make install
Sonra wrapper (kaplayıcı) içindeki Windows sürücüsünü yükleyebilirsiniz.
APTITUDE:/usr/src/ndiswrapper-0.11# ndiswrapper -i ../wg121/WG121V200/ndis5/netwg121.inf
Buradaki .inf dosyası Windows için NDIS sürücüsüdür. NDIS sürücüsü kurulduktan sonra şunu görebilirsiniz:
APTITUDE:/usr/src/ndiswrapper-0.11# ndiswrapper -l
Installed ndis drivers:
netwg121        driver present 

Şerefe! Kurulum prosedürü tamamlandı.

Kimlik denetimi

Eğer kamuya açık bir yerde bir WLAN 'e girerseniz, o WLAN 'in güvenlik sebeplerinden dolayı kimlik denetimi yöntemlerine ihtiyacı olabilir. WLAN için en çok var olan kimlik denetimi yöntemleri; IEEE 802.1x (EAP) ve IEEE 802.11i tabanlıdır. EAP tabanlı yöntemler şu sıralar en popüler olanı.

Birçok EAP tabanlı kimlik denetimi yöntemi vardır, örneğin EAP-MD5, EAP-TLS, EAP-TTLS, EAP-SIM, LEAP, gibi. Linux kullanıcıları 802.1x tabanlı kimlik doğrulaması gereken bir ağa erişmek için Open1x project [4] tarafından sağlanan xsupplicant 'ı kullanabilirler. Bu bölümde yazar Cisco corp. 'unda önerdiği LEAP protokolünü kullanacak. NOT: protokolün desteklenip desteklenmemesi karta yada sürücüye bağlı olabilir. Örneğin; xsupplicant 'ınızı düzgünce kurup yapılandırmanıza rağmen, kartın veya sürücünün desteklememesi nedeniyle ağa erişemeyebilirsiniz.

xsupplicant 'ı proje sitesinden, http://open1x.sourceforge.net, indirip kurmalısınız. Sonra yapılandırma dosyasını düzenlemelisiniz, /etc/xsupplicant/xsupplicant.conf. Burada LEAP için bir örnek var.

#example of /etc/xsupplicant/xsupplicant.conf
#for LEAP protocol

network_list = all
#the list of networks to access

default_netname = default
#the default access network

first_auth_command = <BEGIN_COMMAND>dhclient %i<END_COMMAND>
#The command before authentication, which is usually used to get some info from
#the network

logfile = /var/log/xsupplicant.log
#log file

myssid #here is your network id, may be listed in the network list
{
  type = wireless
  ssid = <BEGIN_SSID>myssid<END_SSID>
  allow_types = all
  identity = <BEGIN_ID>aptitude<END_ID>
  eap-leap {
      username = <BEGIN_UNAME>aptitude<END_UNAME>
      password = <BEGIN_PASS>passwd<END_PASS>
  }#setup for leap
}

LEAP basit bir kimlik denetimi yöntemidir ve diğer yöntemler için başka ayarlamalar vardır. Lütfen xsupplicant 'tan örneklere ve belgelere başvurunuz.

WLAN için hizmet programları

Bildiğiniz gibi, WLAN ethernete benzeyen bir ağ arabirimi sağlar ve bunu diğer ethernet arabirimi gibi kullanabilirsiniz. Diğer taraftan, bir WLAN kart bir ethernet kartından kablosuz olması nedeniyle daha fazla özelliklere sahiptir. Bu nedenle WLAN 'i yapılandırmak ve durumu hakkında bilgi toplamak için bir araçlar kümesi mevcuttur. Jean Tourrilhes tarafından verilen kablosuz araçları http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html [5] 'den bulabilirsiniz.

En kullanışlı araç, ipconfig 'e benzer şekilde kullanılabilir, iwconfig 'tir. Herhangi bir parametre olmaksızın iwconfig komutu ve arabirim ismi kartın çalışma durumu hakkında bilgiyi gösterecektir:

gnawux@APTITUDE:~$ /sbin/iwconfig wlan0
wlan0     unassociated  ESSID:off/any  Nickname:"ipw2100"
          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00   
          Bit Rate=0 kb/s   Tx-Power:off   
          Retry:on   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

"mode" parametresiyle, WLAN kartın çalışma modunu değiştirebilirsiniz:
APTITUDE:/home/gnawux# iwconfig wlan0 mode 1
APTITUDE:/home/gnawux# iwconfig wlan0
wlan0     unassociated  ESSID:off/any  Nickname:"ipw2100"
          Mode:Ad-Hoc  Channel=0  Cell: 00:00:00:00:00:00   
          Bit Rate=0 kb/s   Tx-Power:off   
          Retry:on   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Burada WLAN kartı "Ad Hoc" moduna değiştiriyoruz. Tabii "essid" parametresiyle ağ ismini de değiştirebiliriz:
APTITUDE:/home/gnawux# iwconfig wlan0 essid gnawux
APTITUDE:/home/gnawux# iwconfig wlan0
wlan0     IEEE 802.11b  ESSID:"gnawux"  Nickname:"ipw2100"
          Mode:Ad-Hoc  Frequency:2.412 GHz  Cell: 02:0C:F1:0F:11:2A   
          Bit Rate=0 kb/s   Tx-Power:off   
          Retry:on   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=60/100  Signal level=-83 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Belki dikkat etmişsinizdir, şimdi önceye göre daha kabul edilebilir bir durum bilgisine sahibiz. Çünki geçerli bir ESSID 'imiz var. Diğer iwconfig 'in parametreleri için, lütfen iwconfig (8) 'i okuyun.

Bir diğer güçlü hizmet programı iwlist 'tir. Bununla kullanılabilir kaynakların listesini alabiliriz. "scanning" parametresiyle, kullanılabilir erişim noktalarının bir listesini edinebiliriz:

gnawux@APTITUDE:~$ /sbin/iwlist wlan0 scanning
wlan0     Scan completed :
          Cell 01 - Address: 00:0D:BD:6F:B4:48
                    ESSID:"<hidden>"
                    Protocol:IEEE 802.11b
                    Mode:Master
                    Channel:6
                    Encryption key:on
                    Bit Rate:11 Mb/s
                    Extra: Rates (Mb/s): 1 2 5.5 11 
                    Extra: Signal: -70  dBm 
                    Extra: Last beacon: 59ms ago
          Cell 02 - Address: 86:CF:C1:34:12:06
                    ESSID:"gnawux"
                    Protocol:IEEE 802.11b
                    Mode:Ad-Hoc
                    Channel:11
                    Encryption key:off
                    Bit Rate:11 Mb/s
                    Extra: Rates (Mb/s): 1 2 5.5 11 
                    Extra: Signal: -37  dBm 
                    Extra: Last beacon: 2ms ago

</hidden>
Ve "frequency" (freq) parametresiyle sıklık (frekans) listesini alabiliriz:
gnawux@APTITUDE:~$ /sbin/iwlist wlan0 freq
wlan0     14 channels in total; available frequencies :
          Channel 01 : 2.412 GHz
          Channel 02 : 2.417 GHz
          Channel 03 : 2.422 GHz
          Channel 04 : 2.427 GHz
          Channel 05 : 2.432 GHz
          Channel 06 : 2.437 GHz
          Channel 07 : 2.442 GHz
          Channel 08 : 2.447 GHz
          Channel 09 : 2.452 GHz
          Channel 10 : 2.457 GHz
          Channel 11 : 2.462 GHz
          Channel 12 : 2.467 GHz
          Channel 13 : 2.472 GHz
          Channel 14 : 2.484 GHz
          Current Channel=1

Ve diğer parametreler için iwlist(8) 'e başvurabilirsiniz.

Üstteki ikisinin yanısıra, WLAN kartınızın çalışma durumuyla ilgili bilgi edinebileceğiniz ve onu yönetebileceğiniz diğer hizmet programları da mevcuttur. Örneğin; iwevent, iwgetid, iwpriv, iwspy gibi.

Sonuç

Yazar, çeşitli WLAN kartlar için sürücü kurulumunu ve kimlik denetimini nasıl gerçekleştirebileceğimizi gösterdi. WLAN için güçlü yapılandırma araçları da tanıtıldı.

Açık kaynak topluluğuna yaptığınız katkılar için teşekkürler! Biz sadece kablosuz LAN 'e Linux altından erişmiyoruz, biz aynı zamanda eğleniyoruz!

Kaynaklar

  1. NDIS kaplayıcı projesi, http://ndiswrapper.sourceforge.net;
  2. Prism54 projesi, http://prism54.org;
  3. IPW2100 projesi, http://ipw2100.sourceforge.net;
  4. Open1x projesi, http://open1x.sourceforge.net;
  5. Jean Tourrilhes, kablosuz araçlar, http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html.