章 34. 無線通訊

內容目錄

34.1. 無線區域網路
34.2. 藍芽
34.3. 紅外線資料傳輸

摘要

您可以藉由使用 Linux 系統,與其它電腦、手機或週邊設備進行各種通訊。WLAN (無線區域網路) 可用來建立筆記型電腦網路。藍芽可用來連接個別的系統元件 (滑鼠、鍵盤)、週邊設備、手機、PDA 及個人電腦。IrDA 大多用來與 PDA 或手機進行通訊。本章節將介紹這三種技術及其組態設定。


34.1. 無線區域網路

無線區域網路已成為行動運算世界中不可或缺的一環。如今,大多數的筆記型電腦都有內建的 WLAN 卡。WLAN 卡所使用的無線通訊 802.11 標準是由 IEEE 組織所制定。此標準最初用於最大傳輸率 2 MBit/s。目前已增加許多新增補而提高資料傳輸率。這些新增補所定義的細節包括類比調節、傳輸輸出及傳輸率:

表格 34.1. WLAN 標準綜覽

名稱

頻段 (GHz)

最大傳輸率 (MBit/s)

附註

802.11

2.4

2

過時的;實際上無法取得終端設備

802.11b

2.4

11

普遍的

802.11a

5

54

較不普遍

28.29oz

2.4

54

與 11b 反向相容

此外還有一些專賣標準,像是德州儀器的 802.11b 變異標準,其最大傳輸率為 22 MBit/s (有時稱為 802.11b+)。不過使用此標準的網路卡數量有限。

34.1.1. 硬體

SUSE Linux 不支援 802.11 網路卡。支援大部份使用 802.11a、802.11b 和 802.11g 的網路卡。新網路卡通常符合 802.11g 標準,但也有一些是 802.11b 的網路卡。一般來說,附有下列晶片的網路卡可受到支援:

  • Aironet 4500、4800

  • Atheros 5210、5211 及 5212

  • Atmel at76c502、at76c503、at76c504 及 at76c506

  • Intel PRO/Wireless 2100、2200BG 及 2915ABG

  • Intersil Prism2/2.5/3

  • Intersil PrismGT

  • Lucent/Agere Hermes

  • Ralink RT2400、RT2500

  • Texas Instruments ACX100 及 ACX111

  • ZyDAS zd1201

有些極少人使用、且不再生產的舊網路卡產品也可受到支援。在 http://www.linux-wlan.org/docs/wlan_adapters.html.gz 網站的 AbsoluteValue Systems 可以找到 WLAN 卡和 WLAN 卡所使用的晶片的延伸清單。http://wiki.uni-konstanz.de/wiki/bin/view/Wireless/ListeChipsatz 提供各種不同 WLAN 晶片的綜覽。

某些網路卡需要在啟動驅動程式時載入韌體影像。例如 Intersil PrismGTAtmel 以及 TI ACX100 和 ACX111。這些韌體可以使用 YaST 線上更新輕鬆安裝。Intel PRO/Wireless 卡的韌體與 SUSE Linux 一起提供,並且會在偵測到此類型時,由 YaST 自動安裝。關於這個主角在安裝系統中的詳細資訊,請參閱 /usr/share/doc/packages/wireless-tools/README.firmware

您可以使用 ndiswrapper 應用程式來使用本來 Linux 不支援的網路卡。Ndiswrapper 會使用多數 WLAN 卡隨附的 Windows XP 驅動程式。

若要設定 ndiswrapper,請遵循下列步驟:

  1. 使用 YaST 安裝 ndiswrapper 套件。

  2. 為您的無線網路介面卡下載適用的 Windows XP 驅動程式使用 http://ndiswrapper.sourceforge.net/mediawiki/index.php/List 支援介面卡清單中列出的驅動程式。您也可以使用網路卡安裝 CD 中的未測試驅動程式,但可能會發生未預期的問題。

  3. 解開歸檔。每個驅動程式都包含 .inf 副檔名和一或多個 DLL。以 root 的身份使用 ndiswrapper -i driver_name.inf 指令來安裝驅動程式。它會將所有必要的檔案複製到 /etc/ndiswrapper/ 目錄,並建立介面卡的組態檔。

  4. 檢查是否已使用 ndiswrapper -l 指令正確安裝驅動程式。

  5. 使用 modprobe ndiswrapper 指令載入模組。系統記錄 /var/log/messages 會表示其已成功或失敗。

  6. 如果每個項目都可以運作,您可以在系統啟動時輸入 ndiswrapper -m 來載入模組。

  7. 在 YaST 中依序選擇 網路設備+網路卡,設定無線網路介面卡。在設備類型中選擇無線、在組態名稱中選擇 O,並在模組名稱中選擇 ndiswrapper。其他欄位則保持預設值。

若需有關 ndiswrapper 的說明,請參閱 /usr/share/doc/packages/ndiswrapper/README.SUSE (如果已安裝 ndiswrapper 套件)。若需 ndiswrapper 的進一步相關資訊,請參閱專案網站,網址為 http://ndiswrapper.sourceforge.net/support.html

34.1.2. 功能

使用無線網路時,您可以用各種不同的技術和組態來確保快速、高品質的安全連線。不同的作業類型適合不同的設定方式。選擇正確的驗證方法相當困難。可用的加密方法會有不同的優缺點。

34.1.2.1. 操作模式

基本上,無線網路可分為管理網路和臨機操作網路。受管理的網路具備的管理元件:存取點。在此模式 (又稱為基礎結構模式) 之下,網路上所有 WLAN 工作站的連線都會通過該存取點,此存取點亦可連線至乙太網路。臨機操作網路中沒有存取點。工作站之間直接進行通訊。臨機操作網路中的傳輸範圍及連線工作站的數目相當有限。因此,存取點的效率通常較高。WLAN 卡甚至可做為存取點。大部份的網路卡均支援此項功能。

無線網路比有線網路更容易受到攔截和危害,因此各項標準均包含驗證和加密方式。在較早版本的 IEEE 802.11 標準中,可在 WEP 條款下找到這些項目的說明。然而,WEP 已證實不夠安全 (請參閱節 34.1.5.2, "安全性"),WLAN 業者 (組成「Wi-Fi 聯盟」) 已定義一項新的安全標準,稱為 WPA,用來提高 WEP 的安全性。更新的 IEEE 802.11i 標準 (又稱為 WPA2,WPA 建立於 802.11i 草擬版本) 包含 WPA 及其它驗證和加密方式。

34.1.2.2. 驗證

目前管理網路時會使用各種不同的驗證機制,以便確定只有獲得授權的工作站才可進行連線:

開放

開放的系統,即不需要驗證的系統。任何工作站均可加入網路。但可使用 WEP 加密 (請參閱節 34.1.2.3, "加密")。

共用金鑰 (根據 IEEE 802.11)

此程序使用 WEP 金鑰進行驗證。不過,並不建議採用此程序,因為它使 WEP 金鑰更容易受到攻擊。攻擊者只需要截聽工作站與存取點間的通訊達足夠的時間就行了。在驗證過程中,雙方交換相同的資訊,先是以加密的形式,然後是以未加密形式。這樣就可以利用適合的工具重新建構金鑰。由於此方式是以 WEP 金鑰來驗證和加密,因此無法提高網路的安全性。擁有正確 WEP 金鑰的工作站可以驗證、加密及解密。缺乏金鑰的工作站則無法解密已收到的封包。因此,不論是否需要驗證其身份,該工作站均無法進行通訊。

WPA-PSK (根據 IEEE 802.1x)

WPA-PSK (PSK 即 Pre-Shared Key (預先共用金鑰) 的縮寫) 的作用方式與共用金鑰程序相似。所有連線工作站及存取點都要有相同的金鑰。此金鑰長度為 256 位元,且通常以通關短語的方式輸入。本系統不需要如 WPA-EAP 一樣複雜的金鑰管理,並且更適合個人使用。因此,WPA-PSK 有時稱為 WPA「家用」。

WPA-EAP (根據 IEEE 802.1x)

WPA-EAP 實際上並非驗證系統,而是用來傳送驗證資訊的協定。WPA-EAP 用來保護企業中的無線網路。在私人網路中幾乎很少用到。因此,WPA-EAP 有時稱為 WPA「企業」。

WPA-EAP 需要 Radius 伺服器才能驗證使用者。EAP 提供三種不同的方法,用於連接至伺服器以及向伺服器進行驗證:TLS (Transport Layer Security)、TTLS (Tunneled Transport Layer Security) 以及 PEAP (Protected Extensible Authentication Protocol)。在 Nutshell 中,這些選項的運作方式如下:

EAP-TLS

TLS 驗證仰賴伺服器和用戶端相互交換憑證。首先,伺服器會向評估它的用戶端提供其憑證。如果用戶端認為該憑證有效,就會接著向伺服器提供其憑證。雖然 TLS 是安全的,它仍需要網路中的工作憑證管理基礎結構。這種基礎結構在私有網路中很難找到。

EAP-TTLS 和 PEAP

TTLS 和 PEAP 都是兩階段的協定。第一個階段建立安全性,而第二個階段則交換用戶端驗證資料。它們需要的憑證管理負荷 (如果有的話) 遠低於 TLS。

34.1.2.3. 加密

可使用各種不同的加密方式,防止未經授權者讀取無線網路中交換的資料封包,或進入網路:

WEP (定義於 IEEE 802.11 中)

此標準使用 RC4 加密演算法,最初的金鑰長度為 40 位元,後來增加為 104 位元。視 24 位元的啟始向量是否包含其中而定,其長度通常為 64 位元或 128 位元。然而此標準具有某些弱點。此系統所產生的金鑰可能受到攻擊。儘管如此,使用 WEP 仍然比完全不加密的網路來得好。

TKIP (定義於 WPA/IEEE 802.11i 中)

此金鑰管理協定定義於 WPA 標準中,使用與 WEP 相同的加密演算法,其弱點則均已消除。因為每個資料封包都有一個新的金鑰,所以攻擊這些金鑰等於白費力氣。TKIP 與 WPA-PSK 必須搭配使用。

CCMP (定義於 IEEE 802.11i 中)

CCMP 說明金鑰管理。通常與 WPA-EAP 搭配使用,但也可配合 WPA-PSK 使用。根據 AES 的規定所進行的加密,比 WEP 標準下的 RC4 加密更安全。

34.1.3. 利用 YaST 進行組態

若要設定您的無線網路卡,請啟動 YaST 網路卡 模組。您也可以在此選擇要使用 YaST 或 NetworkManager 來管理網路卡。如果您選擇 YaST,請在網路位址設定中選擇 無線設備類型,然後按一下下一步。在無線網路卡組態設定 中 (顯示於 圖形 34.1, "YaST:設定無線網路卡" 中),指定 WLAN 的基本操作設定:

圖形 34.1. YaST:設定無線網路卡

YaST:設定無線網路卡
操作模式

工作站可用三種模式來連接 WLAN。依照要通訊的網路而定,適用不同的模式:臨機操作模式 (沒有存取點的對等網路)、管理模式 (由存取點管理網路) 或 主要模式 (應該以您的網路卡為存取點)。若要使用任何 WPA-PSK 或 WPA-EAP 模式,就應該將作業模式設為管理模式

網路名稱 (ESSID)

在無線網路中,所有工作站都要有相同的 ESSID 才能互相通訊。在未指定的情況下,網路卡會自動選擇一個存取點,該存取點可能不是您想要使用的。

驗證模式

為您的網路選取適用的驗證方式:開放共用金鑰WPA-PSKWPA-EAP。如果您選取 WPA 驗證,則必須設定網路名稱。

進階設定

此按鈕會開啟一個對話方塊,說明 WLAN 連線的組態設定細節。稍後會提供此對話方塊的詳細說明。

完成基本設定之後,您的工作站即可部署在 WLAN 中。

[Important]無線網路的安全性

記得使用支援的驗證和加密方式,以保護您的網路資料傳輸。第三者可在未加密的 WLAN 連線上截取所有的網路資料。即使是不嚴密的加密 (WEP) 也比不加密來得好。如需詳細資訊,請參閱節 34.1.2.3, "加密"節 34.1.5.2, "安全性"

視所選取的驗證方式而定,YaST 提示會要求您在其它對話方塊中微調您的設定。開放組態並不需要設定,因為它不需要驗證即可執行未加密的作業。

WEP 金鑰

設定金鑰輸入類型。選擇通關短語ASCII16 進位其中之一。您最多可使用四個金鑰來加密傳送的資料。按一下多個金鑰來開啟金鑰設定對話方塊。設定金鑰長度:128 位元64 位元。預設值為 128 位元。在對話方塊底下的清單中,最多可指定四個金鑰,讓您的工作站用來加密。按設定為預設值將其中之一設為預設金鑰。除非您對此做變更,否則 YaST 都會使用第一個輸入的金鑰作為預設金鑰。如果標準金鑰被刪除了,則必須手動標記其它金鑰為預設金鑰。按一下編輯,修改現有的清單項目或建立新金鑰。在此例中,快顯視窗會提示您選擇一個輸入類型 (通關短語ASCII16 進位)。如果您選取通關短語,請輸入一個單字或字元,會據此及先前指定的長度建立金鑰。ASCII 必須輸入 5 個字元以建立 64 位元金鑰;輸入 13 個字元以建立 128 位元金鑰。16 進位 則必須輸入 10 個字元以建立 64 位元金鑰,或 26 個字元以在 16 進位表示法中建立 128 位元金鑰。

WPA-PSK

若要輸入一個 WPA-PSK 金鑰,請選取通關短語輸入法或 16 進位。在通關短語模式下,必須輸入 8 至 63 個字元。在 16 進位 模式下,必須輸入 64 個字元。

WPA-EAP

輸入網路管理員給您的憑證。若為 TLS,請提供用戶端憑證伺服器憑證。TTLS 和 PEAP 需要識別密碼伺服器憑證是選用的。YaST 會在 /etc/cert 下搜尋任何憑證,所以請將您的憑證儲存在這個位置,並將這些檔案的存取權限制為 0600 (擁有者讀取和寫入)。

按一下進階設定,輸入 WPA-EAP 設定的進階驗證對話方塊。選擇 EAP-TTLS 或 EAP-PEAP 通訊之第二階段的驗證方法。如果您在前一個對話方塊中選擇 TTLS,請選擇 autoMD5GTCCHAPPAPMSCHAPv1MSCHAPv2。如果您選擇 PEAP,請選擇 autoMD5GTCMSCHAPv2。如果您無法使用自動決定的設定,請使用 PEAP 版本 來強制使用特定 PEAP 執行方式。按一下確定,結束此對話方塊。

按一下進階設定,離開 WLAN 連線的基本設定對話方塊,並進入進階組態。此對話方塊包含下列選項:

通道

應只有臨機操作主要模式會用到 WLAN 工作站的工作通道規格。在管理模式下,網路卡會自動搜尋可用的通道以連接存取點。在臨機操作模式中,必須從提供的 12 個通道中選取其中之一,讓您的工作站可與其它工作站通訊。在主要模式下,必須決定一個通道,讓您的網路卡可以用它來提供存取點功能。此選項的預設值為自動

位元率

視您網路的效能而定,您可以設定點對點間特定的傳輸位元率。在預設值為自動的情況下,系統會試著選擇使用最高的資料傳輸率。有些 WLAN 卡不支援位元率的設定。

存取點

在擁有多個存取點的環境中,只要指定 MAC 位址即可預選其中一個存取點。

使用電源管理

當您出外時,可使用省電技術,使您的電池操作時間達到最久。如需電源管理的詳細資訊,請參閱章 33, 電源管理

34.1.4. 公用程式

hostap (hostap 套件) 可用來使 WLAN 卡發揮存取點的功能。如需更多有關此套件的資訊,請參閱專案首頁 (http://hostap.epitest.fi/)。

kismet (kismet 套件) 是一種網路診斷工具,可用來傾聽 WLAN 的封包資料傳輸。您也可以藉此偵測您網路上任何侵入的企圖。如需更多相關資訊,請參閱 http://www.kismetwireless.net/ 及手冊。

34.1.5. 設定 WLAN 的秘訣與技巧

這些秘訣可協助您調整 WLAN 的速度、穩定性及安全性。

34.1.5.1. 穩定性及速度

無線網路的效能及可靠性,要看連線工作站是否能從其它工作站收到清楚的訊號。牆壁之類的障礙物會大大減弱訊號強度。訊號強度愈弱,傳輸速度愈慢。指令行 (連結品質 欄位) 上的 iwconfig 公用程式或 KDE 中的 KInternet 可檢查運作時的訊號強度。若您的訊強度出現問題,試著將您的設備安裝在其它地方,或調整您存取點的天線方向。許多 PCMCIA WLAN 卡都有輔助天線,可大幅提高接收度。由廠商指定的速率 (例如 54 MBit/s) 為一額定值,代表推定的最大值。實際上,最大資料產生量還不到該值的一半。

34.1.5.2. 安全性

如果您要建立一個無線網路,請記得在缺乏安全措施的情況下,任何在傳輸範圍內的人都可輕易地進入您的網路。 因此,應確定啟用加密方式。所有 WLAN 卡和存取點都支援 WEP 加密。雖然不是安全無虞,但仍足以阻礙可能的攻擊。WEP 通常足夠個人使用。WPA-PSK 則是更佳的選擇,不過較舊型的存取點或路由器並未在其 WLAN 功能中使用 PA-PSK。有些設備只要透過防火牆的更新,即可執行 WPA。此外,Linux 並不支援所有硬體元件上的 WPA。在開發此軟體時,WPA 只適用於使用 AtherosIntel PRO/WirelessPrism2/2.5/3 晶片的網路卡。就 Prism2/2.5/3 而言,只有在使用 hostap 驅動程式的情況下,才能使用 WPA (請參閱 節 34.1.6.2, "Prism2 網路卡的問題")。如果沒有 WPA,則 WEP 仍然比完全不加密來得好。對於需要進階安全性的企業來說,只有在執行 WPA 的情況下才可操作無線網路。

34.1.6. 疑難排解

如果您的 WLAN 卡沒有回應,檢查看看您是否已下載所需的韌體。請參閱節 34.1.1, "硬體"。以下段落為您說明一些可能出現的問題。

34.1.6.1. 多重網路設備

現代的筆記型電腦通常具備一張網路卡和一張 WLAN 卡。如果您以 DHCP 來設定這兩者 (自動指定位址),則可能會出現名稱解析和預設閘道的問題。如果您可以偵測到路由器,卻無法瀏覽網際網路,表示己出現此問題。http://portal.suse.com 的支援資料庫中有一篇與此相關的文章。如果要找這篇文章,請在搜尋對話方塊中輸入「DHCP」。

34.1.6.2. Prism2 網路卡的問題

有許多驅動程式可用於裝有 Prism2 晶片的設備。各種不同的網路卡多多少少都可以與不同的驅動程式配合運作。使用這些卡時,WPA 只能配合 hostap 驅動程式來運作。如果這些網路卡無法順利運作,或完全無法運作,或者您想使用 WPA,請參閱 /usr/share/doc/packages/wireless-tools/README.prism2

34.1.6.3. WPA

SUSE Linux 的新 WPA 支援仍處於開發階段。因此,YaST 並未支援所有 WPA 驗證方法的組態。並非所有無線 LAN 卡和驅動程式都支援 WPA。某些卡需要韌體更新才能啟用 WPA。如果您要使用 WPA,請參閱 /usr/share/doc/packages/wireless-tools/README.wpa

34.1.7. 更多資訊

Linux「無線工具」的開發者 Jean Tourrilhes 在其網頁中提供大量有關無線網路的有用資訊。請參閱 http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wireless.html