亚洲成精品动漫久久精久,九九在线精品视频播放,黄色成人免费观看,三级成人影院,久碰久,四虎成人欧美精品在永久在线

掃一掃
關(guān)注微信公眾號

在 Linux 系統(tǒng)下如何訪問無線局域網(wǎng)
2006-08-24   賽迪網(wǎng)

概述

當(dāng)前,WLAN (IEEE 802.11b/a/g) 設(shè)備越來越廉價,越來越多的組織為公眾和雇員提供了無線局域網(wǎng)的接入。目前幾乎所有的筆記本電腦都內(nèi)置了無線網(wǎng)卡,較老的一些也可以使用 PCMCIA 的無線網(wǎng)卡,即便是臺式計算機(jī)也常常配備有板載的或是 USB 的無線網(wǎng)卡。另一方面,無線局域網(wǎng)的接入點(AP)也遍布了校園、寫字樓、飯店、住宅等各處。無線局域網(wǎng)方便了網(wǎng)絡(luò)部署,并使所謂的移動計算或游牧計算成為了可能,這幾乎是我們的工作和生活方式的又一次革命。

自然地,對 Linux 來說,支持訪問無線局域網(wǎng)的必要性是毋庸置疑的。本文后面的部分將如下組織:首先考慮無線網(wǎng)卡的驅(qū)動問題,之后探討訪問使用認(rèn)證機(jī)制的網(wǎng)絡(luò),然后簡要介紹一些無線局域網(wǎng)設(shè)置的工具,最后給一點簡單結(jié)論。

驅(qū)動無線網(wǎng)卡

一旦在計算機(jī)中安裝好了無線局域網(wǎng)卡,首先要做的就是安裝驅(qū)動來讓網(wǎng)卡工作。無線網(wǎng)卡實現(xiàn)了IEEE 802.11系列協(xié)議中的一種或多種的物理層(PHY)和媒質(zhì)訪問控制子層(MAC)的功能,而驅(qū)動是用來控制無線網(wǎng)卡,向上提供與以太網(wǎng)一致的接口并提供其他一些無線局域網(wǎng)特定的管理接口的。

對于不同廠商的不同網(wǎng)卡,還沒有一種統(tǒng)一的方法可以驅(qū)動所有的網(wǎng)卡。不過大部分網(wǎng)卡可以通過以下三種方式驅(qū)動:

使用內(nèi)核自帶的網(wǎng)卡驅(qū)動程序,

為特定的網(wǎng)卡編譯安裝驅(qū)動模塊,

使用 NDIS wrapper [1]利用面向 MS Windows®的驅(qū)動程序驅(qū)動網(wǎng)卡。

在下面的章節(jié),筆者將用小例子逐一解釋這些方法。

注意:即使你是用后兩種方法,也必須確保內(nèi)核配置中啟動了無線局域網(wǎng)支持:

gnawux@APTITUDE:~$ grep CONFIG_NET_RADIO /boot/config-`uname -r`

CONFIG_NET_RADIO=y

如果沒有無線局域網(wǎng)支持,你應(yīng)該重新配置、編譯內(nèi)核來啟動"Wireless LAN (non-hamradio) Drivers and Wireless Extensions".

內(nèi)核中支持的無線網(wǎng)卡

Linux 內(nèi)核中包含了很多已經(jīng)足夠成熟的、沒有許可證問題的無線網(wǎng)卡的驅(qū)動程序。無線網(wǎng)卡在內(nèi)核中的支持列表自然是和內(nèi)核版本有關(guān)的了,因此,在安裝驅(qū)動之前看看新的內(nèi)核是不是對你的網(wǎng)卡有更好的支持無疑是明智的。 本節(jié)中,作者將以 Intersil Prism 系列芯片(ISL38xx)的網(wǎng)卡為例。關(guān)于這個驅(qū)動支持的網(wǎng)卡的完整列表可以參考http://prism54.org[2]。

要支持Prism網(wǎng)卡,首先需要新的 2.6 內(nèi)核,并再配置中的無線局域網(wǎng)支持部分允許 "Intersil Prism GT/Duette/Indigo PCI/Cardbus"。配置后編譯、安裝內(nèi)核。

如果你仔細(xì)閱讀了內(nèi)核中該模塊的幫助文本可能會發(fā)現(xiàn),你需要首先從項目網(wǎng)站 [2]獲取 firmware才能驅(qū)動網(wǎng)卡。即使把模塊編譯到內(nèi)核之中仍需要下載固件的原因在于firmware中包含了非 GPL 兼容許可證代碼,無法與內(nèi)核一起發(fā)布。下載firmware并放到"/usr/lib/hotplug/firmware/" 之后,重新啟動計算機(jī),這時你可以發(fā)現(xiàn)新的無線網(wǎng)卡提供了又一個以太網(wǎng)接口。

特定網(wǎng)卡的驅(qū)動模塊

和許多其他新硬件一樣,很多新型號的無線網(wǎng)卡沒有廠商提供的兼容 GPL 的驅(qū)動程序,或者由開放源代碼社區(qū)開發(fā)的驅(qū)動程序仍然不成熟、無法進(jìn)入內(nèi)核。這樣,這些驅(qū)動程序就以單獨的模塊的形式出現(xiàn),而這些驅(qū)動中的一部分將來某一天可能就會進(jìn)入到內(nèi)核之中了。

這些驅(qū)動中的一個著名代表就是ipw2100 [3],它是 Intel Pro/Wireless 2100 的驅(qū)動程序,而這塊無線網(wǎng)卡就是著名的 Intel 迅馳® 移動計算技術(shù)的一部分。本節(jié)中就以 ipw2100 驅(qū)動的安裝為例。

首先,你需要從項目網(wǎng)站http://ipw2100.sourceforge.net下載驅(qū)動的源代碼包和firmware。確定了內(nèi)核足夠新并且已經(jīng)支持了模塊、hotplug firmware 和無線網(wǎng)卡之后,解壓源代碼包:

APTITUDE:/usr/src# tar -zxvf ipw2100-1.0.1.tgz

進(jìn)入源代碼目錄編譯、安裝:

APTITUDE:/usr/src/ipw2100-1.0.1# make

APTITUDE:/usr/src/ipw2100-1.0.1# make install

安裝完模塊之后,它會提示你需要安裝firmware:

Don't forget to copy firmware to /usr/lib/hotplug/firmware/ and have the

hotplug tools in place.

按照提示所說,把firmware解壓縮到該目錄之后,可以使用如下命令啟動 ipw2100模塊了:

APTITUDE:/usr/src/ipw2100-1.0.1# modprobe ipw2100

啟動模塊的時候可以使用參數(shù)來指定一些設(shè)置。比如可以用ifname參數(shù)來指定網(wǎng)絡(luò)接口的名稱:

APTITUDE:/usr/src/ipw2100-1.0.1# modprobe ipw2100 ifname=wlan0

這樣,新的接口就叫wlan0了。對于其他的參數(shù),讀者可以閱讀源碼包里的說明文檔。

驅(qū)動其他網(wǎng)卡

十分不幸,有些網(wǎng)卡根本就沒有驅(qū)動或是由于種種原因驅(qū)動根本無法工作。沒關(guān)系,這并不代表我們不能使用這些網(wǎng)卡了。至少我們還有NDIS wrapper [3].

大部分用于桌面計算機(jī)或是筆記本的無線網(wǎng)卡都會支持Windows 2000/XP®,而這些驅(qū)動都是遵循 NDIS 標(biāo)準(zhǔn)接口的。這樣我們就應(yīng)該可以包裝一下這些擁有統(tǒng)一接口的驅(qū)動,使它們能為 Linux 工作了。這就是 Ndiswrapper 項目的由來。

本節(jié)中,我們將使用 ndiswrapper 驅(qū)動一塊 Net Gear 121 網(wǎng)卡。首先我們應(yīng)該先從項目網(wǎng)站http://ndiswrapper.sourceforge.net 下載驅(qū)動,并準(zhǔn)備好 Windows®下的驅(qū)動程序。nidswrapper 包括一個內(nèi)核模塊和一些工具。首先我們應(yīng)該編譯、安裝它們:

APTITUDE:/usr/src/ndiswrapper-0.11# make install

之后,加載 Windows® 的驅(qū)動程序:

APTITUDE:/usr/src/ndiswrapper-0.11# ndiswrapper -i ../wg121/WG121V200/ndis5/netwg121.inf

這個inf文件就是for Windows® 的 NDIS 驅(qū)動,安裝之后,應(yīng)該可以看到:

APTITUDE:/usr/src/ndiswrapper-0.11# ndiswrapper -l

Installed ndis drivers:

netwg121 driver present

好了!安裝過程完成了。

認(rèn)證

如果在一些公共場合訪問無線局域網(wǎng),出于安全考慮,一些組織提供的無線網(wǎng)絡(luò)接入是需要進(jìn)行認(rèn)證的。目前可用的無線局域網(wǎng)認(rèn)證方式包括 IEEE 802.1x (EAP) 為基礎(chǔ)的一系列認(rèn)證方法和 IEEE 802.11i,前者目前比較成熟、也非常常見。

有很多中基于 EAP 的認(rèn)證方法,包括 EAP-MD5,EAP-TLS, EAP-TTLS, EAP-SIM, LEAP 等等。對于 Linux 用戶,訪問使用這些基于 802.1x 的認(rèn)證方式的網(wǎng)絡(luò),可以使用 Open1x project [4] 提供的工具 xsupplicant,本節(jié)中使用 Cisco 提出的 LEAP 作為例子。 注意:認(rèn)證協(xié)議的支持不僅由xsupplicant決定,也由網(wǎng)卡決定,也就是說,即使正確安裝配置了 xsupplicant,如果驅(qū)動有問題也不一定可以訪問網(wǎng)絡(luò)。

首先先從項目網(wǎng)http://open1x.sourceforge.net 站下載xsupplicant并安裝,之后修改位于 /etc/xsupplicant/xsupplicant.conf 的配置文件的內(nèi)容,這里有一個LEAP的例子:

#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 authention, which usually for get some info from
#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 是一個非常簡單的認(rèn)證方法,對于其他方法還有很多其他設(shè)置,關(guān)于這些設(shè)置,請參考 xsupplicant 的例子和文檔。

一些有用的工具

如你所知,無線局域網(wǎng)網(wǎng)卡提供了一個與以太網(wǎng)一致的接口,你可以把它就當(dāng)成是另一個以太網(wǎng)接口。而另一方面,因為使用了無線介質(zhì),一個無線網(wǎng)卡擁有比以太網(wǎng)更多的特性。有一組工具就是用來配置無線網(wǎng)卡、獲取無線網(wǎng)卡工作狀態(tài)的,wireless tools 的相關(guān)內(nèi)容可以從http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html [5] 得到,這是由 Jean Tourrilhes 貢獻(xiàn)的。

最常用的工具是 iwconfig,它的用法類似 ifconfig。沒有接口名稱之外的參數(shù)的 iwconfig 命令可以得到網(wǎng)卡的工作狀態(tài):

gnawux@APTITUDE:~$ /sbin/iwconfig wlan0
wlan0     unassociated  ESSIDff/any  Nickname:"ipw2100"
          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00
          Bit Rate=0 kb/s   Tx-Powerff
          Retryn   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”參數(shù),你可以更改無線網(wǎng)卡的工作模式

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

這里,我們把網(wǎng)卡的工作模式改成了 Ad Hoc 模式了。使用 essid 參數(shù),還可以改動網(wǎng)絡(luò)的名稱:

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

你可能注意到了,現(xiàn)在我們的很多狀態(tài)參數(shù)都有了有意義的值,這是因為我們有了一個合法的 ESSID 了。對于其他參數(shù),可以參考 iwconfig(8)。

另一個常用工具是 iwlist,這個工具可以用來列出可用資源。使用 scanning 參數(shù),可以看到所有的 AP:

gnawux@APTITUDE:~$ /sbin/iwlist wlan0 scanning
wlan0     Scan completed :
          Cell 01 - Address: 00:0D:BD:6F:B4:48
                    ESSID:""
                    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

而使用 frequency 參數(shù),我們可以得到頻率列表:

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

你同樣可以通過 iwlist(8) 得到更多信息。

除了上面的兩個,還有很多其他工具,包括 iwevent, iwgetid, iwpriv, iwspy, 用來獲取網(wǎng)卡工作狀態(tài)、對網(wǎng)卡進(jìn)行管理

熱詞搜索:

上一篇:Windows XP怎樣節(jié)省內(nèi)存加快開機(jī)速度
下一篇:Linux操作系統(tǒng)下6個應(yīng)急處理小常識

分享到: 收藏