目錄
摘要
Linux 提供所有必要的網路工具及功能,以整合到所有類型的網路結構。使用網路卡、數據機或其他裝置進行的網路存取可以使用 YaST 來設定。也可使用手動方式來設定組態。本章僅討論基本機制及相關的網路組態檔案。
Linux 及其他 Unix 作業系統使用 TCP/IP 通訊協定。它不是單一網路通訊協定,而是能夠提供各種服務的網路通訊協定家族的一員。表格 22.1 「TCP/IP 通訊協定家族中的數種通訊協定」 中所列的通訊協定,其用途是透過 TCP/IP 在兩個機器之間交換資料。由 TCP/IP 組合而成的各個網路形成了一個全球範圍的大網路,也稱為「網際網路」。
RFC 代表要求建議 (Request for Comments)。RFC 是描述作業系統及其應用程式的各種網際網路通訊協定和執行程序的文件。RFC 文件描述網際網路通訊協定的設定。若要擴展您對於某種通訊協定的瞭解,請參閱相應的 RFC 文件。http://www.ietf.org/rfc.html 上提供了這些文件。
表格 22.1. TCP/IP 通訊協定家族中的數種通訊協定¶
|
協定 |
描述 |
|---|---|
|
傳輸控制通訊協定:連接導向的安全通訊協定。傳輸的資料首先由應用程式當做資料流傳送出去,然後再由作業系統轉換為適當格式。資料送達目的地主機的相關應用程式時,使用的仍是最初傳送的原始資料流格式。TCP 會判定傳輸期間是否遺失或打亂了資料。只要是資料順序很重要的地方,就會執行 TCP。 | |
|
使用者資料包通訊協定:無連接、不安全的通訊協定。要傳送的資料以應用程式產生的封包形式加以傳送。不會保證資料抵達接收者時的順序,而且可能會發生資料遺失的情況。UDP 適用以記錄為導向的應用程式。它的特點是延遲時間比 TCP 短。 | |
|
網際網路控制訊息通訊協定:基本上,這不是適用一般使用者的通訊協定,而是發佈錯誤報表的特殊控制通訊協定,能夠控制參與 TCP/IP 資料傳送之機器的行為。此外,它還提供特殊的回音模式,可以使用 ping 程式檢視。 | |
|
網際網路群組管理通訊協定:此通訊協定在實做 IP 多點廣播時控制機器行為。 |
如 圖形 22.1 「TCP/IP 的簡化層模型」 中所顯示,資料交換發生在不同層。實際的網路層是透過 IP (網際網路通訊協定,Internet Protocol) 進行不安全的資料傳輸。在 IP 的上方,TCP (傳輸控制通訊協定,Transmission Control Protocol) 可以保證資料傳輸某種程度的安全性。IP 層是由基本的硬體相依通訊協定所支援,例如乙太網路。
圖表提供每層的一或兩個範例。層的順序是依據抽象階層 (abstraction level)。最低層非常靠近硬體。不過,最上層對硬體而言幾乎是完全抽象的。每層都有自己的特殊功能。這些特殊功能通常隱含於其描述中。資料連結及實體層代表使用的實體網路 (如乙太網路)。
幾乎所有的硬體通訊協定都是採用封包導向模式。要傳輸的資料會收集在封包中 (無法一次全部傳送)。TCP/IP 封包的大小上限約為 64 KB。由於網路硬體可能有所限制,因此封包一般都很小。乙太網路上資料封包的最大上限約為 1500 個位元組。在乙太網路上傳送資料時,TCP/IP 封包的大小受限於此數量。如果傳送更多資料,則需要由作業系統傳送更多資料封包。
因為每層有自己指定的功能,關於每層的其他資訊必須儲存於資料封包中。這些資訊放在封包的「標頭」中。每層皆在產生的封包前端附加小的資料區塊,稱為通訊協定標頭。在乙太網路纜線上傳送的 TCP/IP 資料封包範例,可參閱在 圖形 22.2 「TCP/IP 乙太網路封包」 中的說明。proof sum 位於封包結尾,不在開頭處。這樣可幫助網路硬體簡化程序。
當應用程式在網路上傳送資料時,資料會經過每一層,除實體層外,全部在 Linux 核心執行。每層都負責準備資料使其能夠傳送到下一層。最底層最後要負責傳送資料。接收到資料時則反轉執行整個程序。就如同洋蔥的層級一般,在每層中,會從已傳輸的資料上移除通訊協定標頭。最後,傳輸層負責讓目的地端的應用程式可以使用資料。以這種方式,每層僅直接與上下兩層通訊。對於應用程式而言,無論資料是透過 100 MBit/s FDDI 網路或 56-Kbit/s 數據線進行傳輸,都沒有關係。同樣地,對於資料線而言,只要封包的格式正確,無論傳送的是哪種類型的資料也是無關的。
在此節中的討論僅限於 IPv4 網路。如需有關 IPv6 通訊協定 (IPv4 的後繼者) 的資訊,請參閱第 22.2 節「IPv6 --下一代的網際網路」。
網際網路上的每台電腦都有唯一的 32 位元位址。這些 32 位元 (或 4 位元組) 一般所寫入的格式,如 範例 22.1 「寫入 IP 位址」 中的第二列所述。
範例 22.1. 寫入 IP 位址¶
IP Address (binary): 11000000 10101000 00000000 00010100 IP Address (decimal): 192. 168. 0. 20
採用十進位格式,四位元組以十進位數字系統撰寫,以句號分隔。IP 位址是指定給主機或網路介面。每個 IP 位址在全球範圍內只能使用一次。此規則有例外狀況,但下文中並未提及。
IP 位址中的點表示階層系統。直到 1990 年代,IP 位址仍嚴格地以類別加以分類。然而,事實證明此系統太過死板,因此已停止使用。現在,則是使用無類別路由 (classless routing),即 CIDR (無類別網域間路由,classless interdomain routing)。
網路遮罩是用來定義子網路的位址範圍。如果兩台主機位於相同的子網路遮罩內,他們可以直接連接。如果不在同一個子網路遮罩內,則需要閘道位址,由閘道處理子網路的所有流量。若要檢查兩個 IP 位址是否位於同一子網路,只要使用網路遮罩 「AND」 兩個位址。如果結果相同,兩個 IP 位址位於同一個網路。如果不同,遠端的 IP 位址,即為遠端介面,只能透過閘道來通訊。
若要瞭解網路遮罩如何作用,請參閱範例 22.2 「連結 IP 位址到網路遮罩」。網路遮罩由 32 位元組成,可辨認 IP 位址屬於哪個網路。這些位元為 1 標示 IP 位址中的對應位元,即表示為同屬一個網路。所有位元為 0 標示位元在子網路內。這表示愈多位元為 1,子網路就愈小。因為網路遮罩永遠由多個連續的 1 組成,也可以計算網路遮罩內的位元數。範例 22.2 「連結 IP 位址到網路遮罩」中,第一個 24 位元的網路也可寫成 192.168.0.0/24。
範例 22.2. 連結 IP 位址到網路遮罩¶
IP address (192.168.0.20): 11000000 10101000 00000000 00010100 Netmask (255.255.255.0): 11111111 11111111 11111111 00000000 --------------------------------------------------------------- Result of the link: 11000000 10101000 00000000 00000000 In the decimal system: 192. 168. 0. 0 IP address (213.95.15.200): 11010101 10111111 00001111 11001000 Netmask (255.255.255.0): 11111111 11111111 11111111 00000000 --------------------------------------------------------------- Result of the link: 11010101 10111111 00001111 00000000 In the decimal system: 213. 95. 15. 0
舉另外一個例子:使用相同乙太網路纜線連接的所有機器,通常位於同一個子網路中,而且可以直接存取。即使以交換器或橋接器實際分配子網路時,仍然可以直接連接這些主機。
位於本地子網路外的 IP 位址只能在設定目標網路的閘道時,才能與本地通訊。在大部分的狀況下,只能有一個閘道來處理所有對外的通訊。但是,您也可以為不同的子網路,設定多個閘道。
如果已經設定閘道,所有的外部 IP 封包會傳送到適當的閘道。然後此閘道會試圖以同樣方式傳送封包--主機對主機--直到連結到目標主機或封包 TTL (持續時間) 過期。
表格 22.2. 特定位址¶
|
位址類型 |
描述 |
|---|---|
|
這是網路遮罩「及」網路中的任何位址,如 | |
|
基本來說,即為「存取此子網路的所有主機」。若要產生此位址,網路遮罩會以二進位格式反轉,連結到具有邏輯 OR 的基本網路位址。因此以上範例會得到 192.168.0.255。此位址無法指派給任何主機。 | |
|
位址 |
因為 IP 位址在全世界必須是唯一的,您不能只選取隨機位址。如果要設立私人 IP 結構的網路,有三種位址網域可以使用。這些將無法從其他網際網路取得連結,因為他們無法透過網路傳送。這些位址網域在 RFC 1597 指定並列於 表格 22.3 「私人 IP 位址網域」 中。
表格 22.3. 私人 IP 位址網域¶
|
網路/網路遮罩 |
網域 |
|---|---|
|
|
|
|
|
|
|
|
|
![]() | IBM System z:IPv6 支援 |
|---|---|
IBM System z 硬體的 CTC 和 IUCV 網路連接不支援 IPv6。 | |
由於全球資訊網 (WWW) 的出現,過去十五年內,越來越多的電腦透過 TCP/IP 進行通訊,網際網路的規模發生了爆炸性的增長。自從 CERN 的 Tim Berners-Lee (http://public.web.cern.ch) 於 1990 年發明 WWW 以來,網際網路主機的數量從幾千台成長為幾百萬台。
如前面所述,IPv4 位址僅由 32 個位元組成。而且,損失了一些 IP 位址 -- 由於組織網路的方式,使得這些 IP 位址無法使用。您的子網路中可用的位址數量是位元數的平方減 2。例如,子網路有 2 個、6 個或 14 個位址可用。例如,如果要連接 128 個主機到網際網路,則子網路需要 256 個 IP 位址,但是其中只有 254 個可用,因為子網路結構本身需要用掉兩個 IP 位址:廣播與基本網路位址。
在目前的 IPv4 通訊協定之下,DHCP 或 NAT (網路位址轉譯,Network Address Translation) 是典型的機制,可用來避免位址可能不足的問題。搭配保持私人和公用位址空間分開的方式,能夠減輕短少的情形。其中產生的問題是在於其組態,設定麻煩且難於維護。若要在 IPv4 網路中設定主機,需要一些位址項目,如主機自己的 IP 位址、子網路遮罩、閘道位址,可能還需要名稱伺服器位址。您必須知道所有這些項目,且無法從其他地方取得。
透過 IPv6,位址短少及繁複組態的情形應該都成為過去式了。以下小節說明更多 IPv6 改善的部分及它帶來的好處,還有關於從舊通訊協定轉移到新通訊協定的資訊。
新通訊協定帶來的最重要、最顯而易見的改善,是能夠大量擴充可用的位址空間。IPv6 位址是由 128 個位元值組成,而不是傳統的 32 位元。這樣提供了數以千兆的 IP 位址。
然而,IPv6 位址不僅是在長度方面與之前的位址不同;這些位置的內部結構也不同,可能包含有關系統及其所屬網路的更明確資訊。有關 IPv6 的詳細資訊,可以在 第 22.2.2 節「定址類型與結構」 中找到。
以下是新通訊協定一些其他優勢的清單:
IPv6 讓網路能夠「隨插即用」(plug and play),表示新設定的系統不需經過任何手動設定,即可整合到 (區域) 網路。新主機使用其自動設定組態機制,從鄰近的路由器上可用的資訊取得自己的位址,依賴的是稱為「網路芳鄰探查」(Neighbor Discovery,ND) 的通訊協定。這個方法不需要管理員的介入,而且不需要維護分配位址的中央伺服器,這是 IPv4 的另一個優勢,因為自動位址分配需要 DHCP 伺服器。
但是,如果路由器連接到交換器,它應傳送具有旗標的週期性通告,告知網路中的主機彼此如何進行互動。如需詳細資訊,請參閱 RFC 2462、radvd.conf(5) man 頁面以及 RFC 3315。
IPv6 能夠同時將數個位址指定給一個網路介面。這樣可讓使用者輕鬆存取多個網路,有時可與行動電話服務公司提供的國際漫遊服務相比:當您帶您的行動電話出國時,一到對應區域,電話就會自動登入外國服務,因此仍可用同一個號碼聯絡到您,且您也可和在本國一樣撥打電話。
使用 IPv4,網路安全性是附加的功能。IPv6 包括 IPSec 為其中一個核心功能,允許系統在安全的通道上進行通訊,避免網際網路上的外人竊聽。
實際上,不可能一次將整個網際網路從 IPv4 切換到 IPv6。因此,很重要的是,兩個通訊協定不僅要能夠共存於網際網路上,也得要能夠共存於一個系統中。這是藉由相容的位址 (IPv4 位址可以輕易轉譯為 IPv6 位址) 以及使用一些通道來確保共存。請參閱第 22.2.3 節「IPv4 與 IPv6 的共存」。另外,系統可以仰賴「雙重堆疊 IP」(Dual Stack IP) 技術,同時支援這兩種通訊協定,這表示系統有兩個完全分開的網路堆疊,如此一來,兩種通訊協定版本不會相互干擾。
利用 IPv4,有些服務 (如 SMB) 需要廣播它們的封包到區域網路上的所有主機。IPv6 以更精細的方法,透過「多重廣播」(multicasting)— 將一些主機定位為群組的一部分,讓伺服器定址主機 (這與透過「廣播」(broadcasting) 定位所有主機,或透過「單點廣播」(unicasting) 個別定址每個主機的方式不同)。定址為群組的主機,取決於具體的應用程式。例如,有些預先定義的群組可以定址所有名稱伺服器 (「所有名稱伺服器多重廣播群組」) 或所有路由器 (「所有路由器多重廣播群組」)。
如上述,目前 IP 通訊協定有兩個重要缺失:IP 位址的短缺越來越嚴重,以及設定網路與管理輪遞表成為複雜而繁重的任務。IPv6 透過擴充位址空間到 128 個位元解決了第一個問題。第二個問題的解決方式則是引入階層位址結構,結合配置網路位址的複雜技術,以及 multihoming (指定數個位址到一個裝置,可以存取數個網路)。
使用 IPv6 時,瞭解三種不同類型的位址是很有用的:
這類位址恰好與一個網路介面有關聯。這類位址的封包僅傳送到一個目的地。因此,單點廣播位址用來傳送封包到區域網路或網際網路上的個別主機。
這類位址與一組網路介面有關聯。這類位址的封包會傳送到屬於該組的所有目的地。多重廣播位址主要由特定網路服務使用,可直接與特定主機群組通訊。
這類位址與一組介面有關聯。這類位址的封包會根據基礎路由通訊協定的原則,傳送到最靠近傳送者的群組成員。使用任點廣播位址,讓主機更易於找出在指定網路區域中提供特定服務的伺服器。相同類型的所有伺服器擁有一樣的任點廣播位址。只要主機要求服務,它會從最靠近位置的伺服器接收回覆,由路由通訊協定決定。如果此伺服器因為某種原因失敗,通訊協定會自動選取第二個最靠近的伺服器,或是選取第三個伺服器,依此類推。
IPv6 位址由八個四位數欄位組成,每個都代表 16 個位元,以十六進位標記法寫入。位址與位址之間以冒號 (:) 分隔。指定欄位內的任何前導零位元組可以刪除,但是欄位內或尾端的零不能刪除。另一個慣例是多於四個連續的零位元組可能會摺疊成兩個冒號。然而,每個位址只允許一個 ::。這類的簡略的標記法,顯示於範例 22.3 「範例 IPv6 位址」 中,其中三行都是代表相同的位址。
範例 22.3. 範例 IPv6 位址¶
fe80 : 0000 : 0000 : 0000 : 0000 : 10 : 1000 : 1a4 fe80 : 0 : 0 : 0 : 0 : 10 : 1000 : 1a4 fe80 : : 10 : 1000 : 1a4
IPv6 位址的每個部分都有定義的功能。第一個位元組形成字首,指定位址類型。中間的部分是位址的網路部分,但是可能不會使用。位址的尾端形成主機部分。透過 IPv6,在位址尾端的斜線後表示字首的長度,可以定義網路遮罩。位址如 範例 22.4 「指定字首長度的 IPv6 位址」 中所示,包含的資訊是形成位址網路部分的前 64 個位元以及形成其主機部分的最後 64 個位元。換句話說,64 表示網路遮罩從左邊開始填入 64 個 1 位元值。就像 IPv4 一樣,IP 位址使用 AND 結合網路遮罩的值,判斷主機是否位於相同的子網路或另一個子網路。
IPv6 知道關於數個字首的預定類型。有一些顯示在 表格 22.4 「各種 IPv6 字首」 中。
表格 22.4. 各種 IPv6 字首¶
|
字首 (十六進位) |
定義 |
|---|---|
|
|
IPv4 位址與透過 IPv6 的 IPv4 相容位址。這些位址用來維護與 IPv4 的相容性。其使用仍然要求路由器能夠轉譯 IPv6 封包為 IPv4 封包。數個特殊的位址,如迴路裝置的位址,也有此字首。 |
|
|
可彙總的全域單點廣播位址。在 IPv4 的情形中,可以指定介面形成部分的特定子網路。目前有下列位址空間: |
|
|
連結本地位址。具有這種字首的位址不應該傳送,因此僅能從相同的子網路內連接。 |
|
|
本地網站位址。這些位址可以傳送,但是僅能在所屬組織的網路內傳送。事實上,它們等同於目前私人網路位址空間的 IPv6 (例如, |
|
|
這些都是多重廣播位址。 |
單點廣播位址由三個基本元件組成:
第一個部分 (也包含上述的其中一種字首) 用來透過公用網際網路傳送封包。它包含了有關提供網際網路存取的公司或機構資訊。
第二個部分包含有關傳送封包的目的地子網路的傳送資訊。
第三個部分識別傳送封包的介面。它也允許 MAC 形成部分的位址。這個前提是 MAC 在全球是唯一的,由硬體製造商在裝置中編碼固定識別碼,可相當程度地簡化組態程序。事實上,結合前 64 個位址位元形成 EUI-64 記號,加上從 MAC 取得的最後 48 個位元,而其餘的 24 個位元則包含有關記號類型的特殊資訊。如此一來,就可以指定 EUI-64 記號給沒有 MAC 的介面,例如以 PPP 或 ISDN 為基礎的介面。
在此基本結構的最上層,IPv6 會分辨五種不同類型的單點廣播位址:
:: (未指定的) 第一次啟始介面時,如果還未用其他方法判定位址時,主機會使用此位址做為其來源位址。
::1 (迴路) 迴路裝置的位址。
IPv6 位址是由 IPv4 位址以及由 96 個零位元組成的字首形成的。這類相容性位址用於通道 (請參閱第 22.2.3 節「IPv4 與 IPv6 的共存」),允許 IPv4 與 IPv6 主機在純 IPv4 環境中彼此通訊。
這類位址以 IPv6 標記法指定純 IPv4 位址。
有兩種位址類型用於本地:
這類位址僅能用於本地子網路。具有此類型來源或目標位址的封包不應該傳送到網際網路或其他子網路。這些位址包含特殊字首 (fe80::/10) 以及網路卡的介面識別碼,加上由空位元組所組成的中間部分。自動設定組態以便與屬於相同子網路中的其他主機通訊時,會使用這類位址。
具有這種位址的封包可以傳送到其他子網路,但是不能到更寬廣的網際網路,而必須保留在組織自己的網路內。這類位址用於內部網路,而且等同於 IPv4 所定義的私人位址空間。它們包含特殊字首 (fec0::/10)、介面識別碼,以及指定子網路識別碼的 16 位元欄位。同樣地,其他則是填入空位元組。
因為引入了 IPv6 這種全新的功能,所以每個網路介面通常會取得數個 IP 位址,其優點是可透過相同介面存取數個網路。其中一個網路可以設定完全自動化 (使用 MAC 和已知的字首),只要一啟用 IPv6 (使用連結本地位址) 即可連接區域網路上的所有主機。利用形成位址部分的 MAC,全球使用的任何 IP 位址都成為唯一的。位址的唯一變數部分,是指定網站拓撲和公用拓撲,該部分視主機目前正在操作的實際網路而定。
如果主機要在不同的網路之間往返,至少需要兩個位址。其中一個,即主位址,不僅包含了介面識別碼,也包含了其通常所屬之主網路 (及其對應字首) 的識別碼。主位址是靜態位址,因此它通常不會變更。儘管如此,預定要送到行動主機的所有封包,還是可以傳送到主位址,無論是在主網路或其他外部網路中操作。這可藉由 IPv6 全新功能來達成,如「無狀態自動設定」與「網路芳鄰探查」。除了其主位址外,行動主機也取得一或多個其他的位址,這些位址屬於漫遊的外部網路。這些外部網路稱為 care-of 位址。主網路具有封包在外部漫遊時轉寄預定要送到主機的裝置。在 IPv6 環境中,這個任務是由主代理程式執行的,它會取得所有預定要送到主位址的封包,透過通道轉送它們。另一方面,預定送到 care-of 位址的封包會直接傳送到行動主機,不會特別繞行。
連接網際網路的所有主機從 IPv4 轉移到 IPv6 是一種漸進程序。這兩種通訊協定某些時候會共存。在一個系統上共存,可保證執行兩種通訊協定的「雙重堆疊」。但是仍出現一些問題,就是使用 IPv6 的主機如何與 IPv4 主機通訊,以及由 IPv4 結構主導的目前網路如何傳輸 IPv6 封包。最佳的解決方案是提供通道及相容性位址 (請參閱第 22.2.2 節「定址類型與結構」)。
IPv6 主機或多或少孤立於 (全球) IPv4 網路間,可透過通道通訊:IPv6 封包會被包成 IPv4 封包,在 IPv4 網路中移動。兩個 IPv4 主機之間的連接,稱為「通道」。若要完成這個目的,封包必須包含 IPv6 目的地位址 (或對應字首) 以及通道接收端上遠端主機的 IPv4 位址。基本通道可以根據主機管理員之間的協議「手動」設定;這也稱為「靜態通道」。
不過,靜態通道的組態及維護通常需要密集勞力,才能使用它們應付每天的通訊需求。因此,IPv6 提供三種不同的「動態通道」方法:
IPv6 封包會自動封裝成 IPv4 封包,透過能夠多重廣播的 IPv4 網路進行傳送。IPv6 的訣竅是將整個網路 (網際網路) 視為一個大型的區域網路 (LAN)。如此即能自動判定 IPv4 通道的接收端。然而,這個方法不能適當的延伸,而且也因 IP 多重廣播目前在網際網路上並不普遍的事實而受到阻礙。所以,它僅能為啟用多重廣播的小型公司或機構的網路提供解決方案。這個方法的規格詳述於 RFC 2529。
利用此方法,IPv4 位址會自動從 IPv6 位址產生,使得隔離的 IPv6 主機能夠在 IPv4 網路上通訊。不過,有關這些隔離的 IPv6 主機及網際網路之間的通訊,目前已出現一些問題。該方法詳述於 RFC 3056。
這個方法仰賴提供 IPv6 主機專屬通道的特殊伺服器。詳述於 RFC 3053。
若要設定 IPv6,通常不需要在個別工作站中做任何變更。IPv6 預設會開啟這個選項。您可在第 6.16.1.3 節「網路組態」 (第 6 章「使用 YaST 安裝」, ↑部署指南 )所述的網路設定步驟中的安裝期間停用。若要在安裝的系統上停用或啟用 IPv6,請使用 YaST 模組。在索引標籤上,根據需要核取或取消核取選項。如果想在下次重新開機前暫時啟用它,請以 root 身分輸入 modprobe -i ipv6。IPv6 模組載入之後,一般情況下無法卸載。
由於 IPv6 的自動組態概念,網路卡會在連結本地網路中指定一個位址。工作站通常不會進行路由表格管理。工作站可使用「路由器通告通訊協定」,向網路路由器查詢應使用的前置號碼和閘道。可使用 radvd 程式來設定 IPv6 路由器。此程式會通知工作站該 IPv6 位址應使用的前置號碼和路由器。或者,也可使用 zebra/quagga 自動設定位址和路由的組態。
請參閱 ifcfg-tunnel (5) man 頁面,瞭解如何使用 /etc/sysconfig/network 檔案來設定不同類型的通道。
上述綜覽沒有完整地涵蓋 IPv6 主題。如需更深入的探討這種新的通訊協定,請參閱以下線上文件和書籍:
所有有關 IPv6 的入門資訊。
啟動您 IPv6 網路所需的所有資訊。
啟用 IPv6 產品的清單。
在此處可找到 Linux IPv6-HOWTO 和許多與此主題相關的連結。
有關 IPv6 的基本 RFC。
描述此主題所有重要面向的書籍,《IPv6 Essentials》由 Silivia Hagen 所著 (ISBN 0-596-00125-8)。
DNS 協助指定 IP 位址給一或多個名稱以及指定名稱給 IP 位址。在 Linux 中,這種轉換通常是由已知為 bind 的特殊類型軟體執行的。處理這個轉換的機器稱為「名稱伺服器」(name server)。所有名稱元件之間以句號分隔,它們共同組成一個階層系統。但是,名稱階層與上述的 IP 位址階層無關。
考慮使用完整名稱,如 jupiter.example.com,以 hostname.domain 格式來寫入。完整名稱,也就是完整領域名稱 (Fully Qualified Domain Name,FQDN),是由主機名稱和領域名稱 (example.com) 組成的。後者也包含了「最上層網域」(top level domain) 或 TLD (com)。
TLD 指定因為過去的緣故變得相當混淆。習慣上,美國使用三個字母的網域名稱。全世界的其他國家,則是使用兩個字母的 ISO 國際代碼為標準。除此之外,2000 年引入了較長的 TLD,代表特定活動範圍 (例如,.info、.name、.museum)。
在早期的網際網路 (1990 年前),是使用檔案 /etc/hosts 儲存網際網路上所有機器的代表名稱。這種方式,對於連接到網際網路、快速增長的電腦數量層面而言,很快就證實是不切實際的。基於此因素,又開發出分散式的資料庫,以廣泛分散的方式來儲存主機名稱。這種資料庫與名稱伺服器類似,沒有有關網際網路上所有主機的立即可用資料,但是可以分散要求到其他名稱伺服器。
階層的最上層是由「root 名稱伺服器」(root name server) 所使用。這些 root 名稱伺服器管理最上層網域,且由「網路資訊中心」(Network Information Center,NIC) 負責管理。每個 root 名稱伺服器知道負責指定最上層網域的名稱伺服器。有關最上層網域 NIC 的資訊可從 http://www.internic.net 取得。
DNS 的功能不只是解析主機名稱。名稱伺服器也知道哪個主機,即「郵件交換器」(Mail Exchanger,MX),負責接收該領域的電子郵件。
若要讓您的機器能夠解析 IP 位址,它必須知道至少一個名稱伺服器及其 IP 位址。透過 YaST 的幫助可以輕鬆指定這類名稱伺服器。如果您使用數據機撥接連接,完全不需要手動設定名稱伺服器。撥號通訊協定在連接建立時會提供名稱伺服器位址。如需使用 SUSE® Linux Enterprise Server 設定名稱伺服器存取組態的資訊,請參閱第 22.4.1.4 節「設定主機名稱和 DNS」。關於設定您自己的名稱伺服器的資訊,請參閱第 25 章「網域名稱系統」。
whois 通訊協定與 DNS 密切相關。利用此程式,可快速找出伺服器負責哪個指定網域。
![]() | MDNS 和 .local 網域名稱 |
|---|---|
如果要在安裝期間關閉 MDNS,請使用 如需有關多路廣播 DNS 的詳細資訊,請參閱 http://www.multicastdns.org。 | |
Linux 可支援多種網路類型。大多數使用不同的裝置名稱和組態檔,會分佈在檔案系統的不同位置。要更瞭解手動網路組態的綜覽,請參閱第 22.6 節「手動設定網路連接」。
在 NetworkManager 預設處於啟用狀態的 SUSE Linux Enterprise Desktop 上,所有網路卡都會予以設定。如果未啟用 NetworkManager,只會自動設定連接 (連接了網路纜線) 的第一個介面。可隨時在安裝的系統上設定其他的硬體。以下幾節將說明 SUSE Linux Enterprise Server 支援之所有網路連接類型的網路組態。
![]() | IBM System z:可熱插拔網路卡 |
|---|---|
IBM System z 平台支援可熱插拔網路卡,但不支援透過 DHCP 的自動網路整合 (和 PC 的情況相同)。完成偵測後,接著以手動設定介面。 | |
若要在 YaST 中設定有線或無線網路卡,請選取+。啟動模組後,YaST 將顯示對話方塊,其中包含四個索引標籤︰、、和。
使用索引標籤可設定一般網路選項,例如使用 NetworkManager、IPv6 和一般 DHCP 選項。如需詳細資訊,請參閱第 22.4.1.1 節「設定全域網路選項的組態」。
索引標籤包含有關已安裝網路介面與組態的資訊。此處會列出所有正確偵測到之網路卡的名稱。在此對話方塊中,您可以手動設定新網路卡、移除或變更其組態。若要手動設定未自動偵測到的卡,請參閱第 22.4.1.3 節「設定未偵測到的網路卡」。若要變更已設定卡的組態,請參閱第 22.4.1.2 節「變更網路卡組態」。
使用索引標籤可設定機器的主機名稱並指定要使用的伺服器。如需詳細資訊,請參閱第 22.4.1.4 節「設定主機名稱和 DNS」。
索引標籤用於設定路由組態。如需相關資訊,請參閱第 22.4.1.5 節「設定路由」。
使用 YaST 模組的索引標籤,可以設定重要的全域網路選項,例如使用 NetworkManager、IPv6 和 DHCP 用戶端選項。這些設定適用於所有網路介面。
在中,選擇管理網路連接的方式。若希望 NetworkManager 桌面 applet 管理所有介面的連接,請選擇。此選項最適合用於在多個有線和無線網路之間進行切換。如果您執行的不是桌面環境 (GNOME 或 KDE),或者您的電腦是 Xen 伺服器、虛擬系統或者會在網路中提供 DHCP 或 DNS 等網路服務,請使用。如果使用 NetworkManager,則應使用 nm-applet 設定網路選項,且模組的、和索引標籤都會處於停用狀態。如需有關 NetworkManager 的詳細資訊,請參閱第 27 章「使用 NetworkManager」。
在中,選擇是否要使用 IPv6 通訊協定。可以同時使用 IPv6 和 IPv4。預設會啟用 IPv6。但是,在不使用 IPv6 通訊協定的網路中,停用 IPv6 通訊協定時回應較快。若要停用 IPv6,請取消核取選項。這會停用 IPv6 核心模組的自動載入功能。重新開機後會套用此設定。
在中,設定 DHCP 用戶端的選項。若希望 DHCP 用戶端要求伺服器一律廣播其回應,請核取。如果您的機器需要在不同的網路之間移動,可能會需要核取該項。在一個網路中,每個 DHCP 用戶端的均不能相同。若將其留為空白,則預設會使用網路介面的硬體位址。但是,如果您要使用同一個網路介面執行多個虛擬機,因此會使用同一個硬體位址,則請在此處指定不限格式的唯一識別碼。
指定當 dhcpcd 將訊息傳送至 DHCP 伺服器時,主機名稱選項欄位使用的字串。有些 DHCP 伺服器會根據此主機名稱 (動態 DNS) 更新名稱伺服器區域 (正向或反向記錄)。此外,有些 DHCP 伺服器需要選項欄位包含用戶端傳送之 DHCP 訊息中的特定字串。如果保留「自動」,將傳送目前的主機名稱 (即 /etc/HOSTNAME 中定義的主機名稱)。將選項欄位留為空白則不會傳送主機名稱。如果您不希望根據 DHCP 的資訊變更預設路由,請取消核取。
若要變更網路卡的組態,請在 YaST 的+中偵測到的網路卡清單中選取網路卡,然後按一下。對話方塊隨即出現,您可以使用、和索引標籤調整網路卡的組態。如需關於無線網路卡組態的更多資訊,請參閱第 19.5 節「利用 YaST 進行組態」。
在對話方塊的索引標籤中,可以設定網路卡的 IP 位址或確定其 IP 位址的方式。系統支援 IPv4 和 IPv6 兩種位址。您可以為網路卡設定(適用於 Bonding 裝置)、(IPv4 或 IPv6),也可以透過或/與為其指定。
若要使用,請選擇是使用(適用於 IPv4)、(適用於 IPv6),還是。
若情況適合,系統會將安裝時第一個可用的已連結網路卡自動設定為使用透過 DHCP 設定的自動位址。在 NetworkManager 預設處於啟用狀態的 SUSE Linux Enterprise Desktop 上,所有網路卡都會予以設定。
![]() | IBM System z 與 DHCP |
|---|---|
在 IBM System z 平台上,只有擁有 MAC 位址的網路卡才會支援 DHCP 式的位址組態。此情況只適用於 OSA 和 OSA 高速網路卡。 | |
若您用的是 DSL 連線而非 ISP (網際網路服務提供者) 指定的靜態 IP,還應該使用 DHCP。若您決定使用 DHCP,請在 YaST 網路卡組態模組中開啟對話方塊,於索引標籤的中設定詳細資料。在中指定 DHCP 用戶端是否應要求伺服器一律廣播其回應。如果您的機器是需要在不同網路之間移動的行動用戶端,則可能需要核取此選項。若您將虛擬主機設定為透過同一個介面與不同的主機進行通訊,則需要使用來分辨它們。
DHCP 對於用戶端組態是不錯的選擇,但不適用於伺服器組態。若要設定靜態 IP 位址,請如下執行:
在 YaST 網路卡組態模組的索引標籤中,於偵測到的網路卡清單中選取一個網路卡,然後按一下。
在索引標籤中,選擇。
輸入。使用 IPv4 和 IPv6 位址都可以。在中輸入網路遮罩。若使用 IPv6 位址,請以 /64 格式使用做為字首長度。
您還可以選擇為此位址輸入完全合法的,它將會寫入 /etc/hosts 組態檔案中。
按。
若要啟用組態,請按一下。
若使用靜態位址,系統將不會自動設定名稱伺服器和預設閘道。若要設定名稱伺服器,請依第 22.4.1.4 節「設定主機名稱和 DNS」 中的說明進行。若要設定閘道,請依第 22.4.1.5 節「設定路由」 中的說明進行。
一張網路卡可擁有多 IP 位址,稱為別名。
![]() | 別名是相容性功能 |
|---|---|
所說的這些別名或標籤僅適用於 IPv4。如果是 IPv6,則會被忽略。使用 iproute2 網路介面時可以使用一或多個地址。 | |
若要使用 YaST 設定您網路卡的別名,請執行以下步驟:
在 YaST 網路卡組態模組的索引標籤中,於偵測到的網路卡清單中選取一個網路卡,然後按一下。
在+索引標籤中,按一下。
輸入、和。別名中不要包含介面名稱。
按一下。
按。
若要啟用組態,請按一下。
可以在網路卡正在使用中時變更它的裝置名稱。也可以決定網路卡是否應由 udev 透過其硬體 (MAC) 位址或透過匯流排 ID 識別。後者更適合大型伺服器,可以方便熱交換網路卡。若要使用 YaST 設定這些選項,請執行下列步驟:
在 YaST 模組的索引標籤中,於偵測到的網路卡清單中選取一個網路卡,然後按一下。
移至索引標籤。目前的裝置名稱顯示在中。按一下。
選擇 udev 是應透過網路卡的還是透過來識別網路卡。網路卡目前的 MAC 位址和匯流排 ID 將顯示在對話方塊中。
若要變更裝置名稱,請選取選項,然後編輯名稱。
按一下,然後按。
若要啟用組態,請按一下。
有些網路卡可能有多個核心驅動程式可供使用。如果網路卡已設定,YaST 可讓您從可用且適合的驅動程式清單中選取要使用的核心驅動程式。還可以為核心驅動程式指定選項。若要使用 YaST 設定這些選項,請執行下列步驟:
在 YaST 網路設定模組的索引標籤中,於偵測到的網路卡清單中選取一個網路卡,然後按一下。
移至索引標籤。
在中選取要使用的核心驅動程式。在中以選項=值的格式輸入選定驅動程式的選項。若要使用多個選項,應以空格將其隔開。
按一下,然後按。
若要啟用組態,請按一下。
若使用傳統的 ifup 方法,可以設定您的裝置在開機時、連接纜線時、偵測到網路卡時啟動,或以手動方式啟動,或者永不啟動。若要變更裝置啟動,請執行下列步驟:
在 YaST 的+中,於偵測到的網路卡清單中選取一個網路卡,然後按一下。
在索引標籤中,從中選擇希望的項目。
選擇可在系統開機時啟動裝置。若使用,系統會監控介面,探查是否有實體的連接。若使用,只要介面可用就會將其設定。它與選項類似,唯一的區別在於如果開機時介面不存在,則不會發生錯誤。選擇可以透過 ifup 手動控制介面。選取則根本不會啟動裝置。與類似,區別是使用指令 rcnetwork stop 不會關閉介面。若您使用的是 nfs 或 iscsi 根檔案系統,請使用此選項。
按一下。
若要啟用組態,請按一下。
一般只有系統管理員可以啟動和取消啟動網路介面。若想讓任何使用者都能透過 KInternet 啟用此介面,請選取。
您可以設定介面的最大傳送單位 (MTU)。MTU 指允許的最大封包大小 (以位元組計)。MTU 越高,頻寬效率就越高。但是,大型封包可能會將慢速介面阻擋一段時間,這會加劇後續封包的延遲。
在 YaST 的+中,於偵測到的網路卡清單中選取一個網路卡,然後按一下。
在索引標籤中,從清單中選取所需的項目。
按。
若要啟用組態,請按一下。
您不需輸入 Section “Configuring the Firewall with YaST” (Chapter 15, Masquerading and Firewalls, ↑Security Guide) 所說明的詳細防火牆資訊,僅需在裝置設定時判斷基本防火牆設定即可。請執行下列步驟:
開啟 YaST 的+模組。在索引標籤中,於偵測到的網路卡清單中選取一個網路卡,然後按一下。
進入對話方塊的索引標籤。
決定您要為介面指派的防火牆區域。可用的選項如下:
只有當防火牆已停用以及防火牆根本未執行時,此選項才可用。唯有您的機器位於受外部防火牆保護的更大網路中時,才能使用此選項。
只有當防火牆已啟用時,此選項才可用。防火牆會執行,並且介面會自動指定至防火牆區域。包含關鍵字 any 的區域或外部區域將會用於這類介面。
防火牆會執行,但不強制執行任何保護此介面的規則。如果您的機器位於受外部防火牆保護的更大網路中,請使用此選項。如果機器具有多個網路介面,此選項也適用於連接到內部網路的介面。
廢除區域是內部網路與 (有潛在風險的) 網際網路之前的另一道防線。 從內部網路與網際網路都可連接到指派至此區域的主機,但主機無法連存取內部網路。
防火牆在此介面上執行,且會完全保護其抵禦其他可能有害的網路流量。此為預設選項。
按。
按一下以啟用組態。
您的網路卡有可能會無法正確偵測到。若發生此情況,該卡就不會出現在偵測到的網路卡清單中。若您確定您的系統具備網路卡的驅動程式,可手動設定。也可設定特殊的網路裝置類型,如橋接、Bond、TUN 或 TAP。若要設定未偵測到的網路卡或特殊裝置,請執行下列步驟︰
在 YaST 的++對話方塊中,按一下。
在對話方塊中,從可用的選項中設定介面的和。如果網路卡是 PCMCIA 或 USB 裝置,請啟用個別的核取方塊並使用來結束對話方塊。否則,您可以根據需要定義要用於網路卡的核心以及卡的。
在中,可以設定 ifup 用於介面的 ethtool 選項。有關可用的選項,請參閱 ethtool 手冊頁。如果選項字串以 - 開頭 (例如 -K ),則字串中的第二個單字會取代為目前的介面名稱。否則 (例如 介面名稱 rx onautoneg off speed 10) ifup 會在前面加上 -s 。
介面名稱
按一下。
在、和索引標籤中設定介面的所有必要選項,例如 IP 位址、裝置啟動或防火牆區域。如需組態選項的詳細資訊,請參閱第 22.4.1.2 節「變更網路卡組態」。
若您介面裝置類型選擇,請在下一個對話設定無線連接。關於無線裝置組態的詳細資料位於第 19 章「無線區域網路」。
按。
若要啟用新網路組態,請按一下。
若您在安裝期間未變更網路組態,且已有有線網路卡可用,則系統會自動為您的電腦產生主機名稱並啟動 DHCP。同時也會自動產生您主機要整合至網路環境所需的的名稱服務資訊。若網路位址設定使用 DHCP,則網域名稱伺服器清單會自動填入適當的資料。若您希望使用靜態設定,請手動設定數值。
若要變更您電腦的名稱並調整名稱伺服器搜尋清單,請如下執行:
在 YaST 的模組中,移至+索引標籤。
輸入並根據需要輸入。如果機器是郵件伺服器,網域就格外重要。請注意,主機名稱是全域的,會套用於所有已設定的網路介面。
若您要使用 DHCP 獲取 IP 位址,則電腦的主機名稱由 DHCP 自動設定。若要連接到其他網路,最好停用此選項,因為其他網路可能會指定其他主機名稱,而在執行時期變更主機名稱會混淆圖形桌面。若要停止使用 DHCP 獲取 IP 位址,請取消核取。
會將您的主機名稱與 /etc/hosts 中的 127.0.0.2 (迴路) IP 位址進行關聯。如果您希望主機名稱始終能得到解析 (即使是沒有使用中網路的情況下),則可以使用此選項。
在中,選取修改 DNS 組態 (名稱伺服器、搜尋清單、/etc/resolv.conf 檔案的內容) 的方式。
若選取選項,則組態由 netconfig 程序檔來處理,這樣會將靜態定義的資料 (使用 YaST 或在組態檔案中) 與從 DHCP 用戶端或 NetworkManager 動態取得的資料合併。此預設規則能夠處理大部分的情況。
若選取選項,則無法使用 netconfig 修改 /etc/resolv.conf 檔案。但是可以手動編輯此檔案。
若選取選項,則應指定定義合併規則的字串。該字串包含要視為設定之有效來源的介面名稱清單 (以逗號分隔)。除完整的介面名稱外,還允許使用基本萬用字元來對應多個介面。例如,eth* ppp? 將先找到所有 eth,然後找到所有 ppp0-ppp9 介面。以下為指定如何套用 /etc/sysconfig/network/config 檔案中所定義之靜態設定的兩個特定規則值:
STATIC
靜態設定必須與動態設定合併在一起。
STATIC_FALLBACK
只有動態組態不可用時才會使用靜態設定。
如需詳細資訊,請參閱 man 8 netconfig。
輸入並填寫清單。名稱伺服器必須透過 IP 位址而非主機名稱指定,例如 192.168.1.116。在索引標籤中指定的名稱就是用於解析沒有指定網域之主機名稱的網域名稱。如果使用多個,請以逗號或空格將網域隔開。
若要啟用組態,請按一下。
還可以使用 YaST 透過指令行編輯主機名稱。YaST 執行的變更會立即生效 (手動編輯 /etc/HOSTNAME 檔案的情況除外)。若要變更主機名稱,請使用下列指令:
yast dns edit hostname=hostname若要變更名稱伺服器,請使用下列指令:
yast dns edit nameserver1=192.168.1.116yast dns edit nameserver2=192.168.1.116yast dns edit nameserver3=192.168.1.116若要讓您的電腦與其他電腦和其他網路通訊,必須提供路由資訊,以讓網路流量採取正確的路徑。若使用 DHCP,會自動提供此資訊。若使用靜態設定,必須手動新增此資料。
在 YaST 中,移至+。
輸入的 IP 位址 (必要時可以輸入 IPv4 和 IPv6)。預設閘道會比對每個可能的目的地,但是如果任何其他符合所需位址的項目已經存在,就會使用該項目而非預設路由。
可以在中輸入更多項目。輸入網路 IP 位址、IP 位址和。選取要透過其將流量路由至所定義網路的(減號表示任意裝置)。若要省略這些值的任何一個,請使用減號「-」。若要在表中輸入預設閘道,請在欄位中使用「default」。
![]() | |
若使用了多個預設路由,則可以指定權值選項確定哪個路由的優先程度較高。要指定權值選項,請在中輸入 | |
如果系統是路由器,請在中啟用選項。
若要啟用組態,請按一下。
![]() | IBM System z:數據機 |
|---|---|
IBM System z 平台不支援此類型的硬體組態。 | |
在「YaST 控制中心」中,您可透過+存取數據機組態。如果無法自動偵測到您的數據機,請移至索引標籤,按一下開啟對話方塊以手動組態。在中輸入數據機要連接的介面。
![]() | CDMA 和 GPRS 數據機 |
|---|---|
使用 YaST 模組來設定支援的 CDMA 和 GPRS 數據機,這與您設定一般數據機使用的方式一樣。 | |
如果您使用的是專用交換機 (PBX),可能需要輸入撥號前置號碼。通常為 0。請參閱 PBX 隨附的說明。另外,請選擇是否使用按鍵式或轉盤式撥號、是否應開啟喇叭,以及數據機偵測撥號音前是否應等待。如果數據機連接到分機,就不能啟用最後一個選項。
在下,設定傳輸速率和數據機的啟始字串。只有在無法自動偵測您的數據機或是數據機需要特殊設定來傳輸資料時,才能變更這些設定。這些設定主要適用於 ISDN 終端機介面卡。按一下來結束此對話方塊。若要將數據機控制權委託給不具備 root 許可權的一般使用者,請啟用。使用此方式,使用者即可啟用和停用介面,而不需要管理員的許可。在下,指定一個正規表示式。KInternet 中的(一般使用者均可修改),必須符合此正規表示式。如果此欄位為空白,則使用者必須有管理員許可才能設定不同的。
在下一個對話方塊中選取 ISP。如果要從國內的 ISP 預先定義清單中選擇,請選取。或者,可按一下來開啟一個對話方塊,您可以在其中輸入您的 ISP 資料。這包括撥接連接名稱、ISP 名稱以及您的 ISP 提供的登入名稱和密碼。啟用 ,以提示您在每次連接時輸入密碼。
在最後一個對話方塊中,可以指定其他的連接選項:
如果您啟用了,請至少設定一個名稱伺服器。因為許多程式需要定期從網際網路獲取資料,所以請僅在網路網際連接費用較低的情況下使用此功能。
此選項是依照預設啟用的,每次您連接到網際網路時,即會更新名稱伺服器位址。
如果提供者沒有在連接後傳輸其網域名稱伺服器,則應停用此選項並手動輸入 DNS 資料。
若啟用此選項,則會在連接失敗後自動重新建立連接。
此選項會停止偵測來自撥號伺服器的所有提示。如果建立的連接太慢或完全沒有作用,請嘗試此選項。
選取此選項可啟動防火牆並將介面設為外部。這樣就可讓您在連接網際網路時免遭外部的攻擊。
使用此選項來指定網路靜止一段時間後即自動中斷數據機的連接。
這會開啟位址組態對話方塊。如果您的 ISP 沒有為您的主機指定動態 IP 位址,請停用然後輸入您主機的本地 IP 位址和遠端 IP 位址。請向您的 ISP 詢問此資訊。讓保持為啟用狀態並選取來結束此對話方塊。
選取回到原先的顯示數據機組態摘要的對話方塊。按一下關閉此對話方塊。
![]() | IBM System z:ISDN |
|---|---|
IBM System z 平台不支援此類型的硬體組態。 | |
使用此模組來為您的系統設定一個或多個 ISDN 卡。如果 YaST 未偵測到您的 ISDN 卡,請在 索引標籤中按一下,然後手動選取您的卡。可以有多個介面,但多個 ISP 只能設定一個介面。在接下來的對話方塊中,設定網路卡正常運作所需的 ISDN 選項。
在下一個對話方塊中 (如圖形 22.5 「ISDN 組態」 中所示),選取要使用的通訊協定。預設為 ,但如果是較舊或較大型的交換機,則選取 。如果您是在美國,請選取 。在相關欄位中選取您的國家。其對應的國家代碼會顯示在旁邊的欄位。最後,提供您的和(如有需要)。若不想記錄所有的 ISDN 流量,請取消核取選項。
可定義 ISDN 介面的啟動方式:選取會在系統每次開機時啟始化 ISDN 驅動程式。 會要求您以 root 身分使用 rcisdn start 指令來載入 ISDN 驅動程式 。用於 PCMCIA 或 USB 裝置,會在插入裝置後載入驅動程式。完成上述設定之後,請選取。
在下一個對話方塊中,指定您 ISDN 卡的介面類型,並將 ISP 新增至現有的介面。介面可能為 SyncPPP 或 RawIP 類型,但大多數 ISP 是在 SyncPPP 模式中操作,其說明如下。
視您的特殊設定而定,在 中必須輸入的號碼會有所不同:
標準 ISDN 連接會提供 3 組電話號碼 (稱為多重用戶號碼或 MSN)。如果訂閱者要求更多,最多可以到 10,所有的 MSN 都必須在此輸入,但不需輸入區域碼。如果您輸入錯誤的號碼,您的電話操作員會自動回復指定給您的 ISDN 連接的第一組 MSN。
此外,視安裝的設備而定,組態可能會有所不同:
小型的專用交換機 (PBX) 大多使用 Euro-ISDN (EDSS1) 通訊協定來撥接內線電話。這些電話交換機有一個內部 S0 匯流排並在連接設備上使用內部號碼。
使用其中一組內部號碼做為您的 MSN。您至少可使用一組電話交換機的 MSN,這些 MSN 已啟用可直接對外撥號。如果無法使用,請嘗試撥 0。如需詳細資訊,請參閱您的電話交換機隨附的文件。
較大型的商用電話交換機通常使用 1TR6 通訊協定來撥接內線電話。其 MSN 稱為 EAZ,通常可對應直撥號碼。如果要在 Linux 中設定組態,請輸入 EAZ 的最後一碼即可。最後一步是試著撥從 1 到 9的每個數字。
如果想在下一個收費單位開始之前終止連接,可啟用 。不過,要記得並不是每個 ISP 都適用。您也可以勾選對應的選項來啟用通道合併 (多重連結 PPP)。最後,您可以選取和來啟用連結的防火牆。要讓沒有管理員許可權的一般使用者能夠啟動或取消啟動介面,請選取。
會開啟一個對話方塊,用來執行更複雜的連接配置 (一般的家庭使用者不會用到此類配置)。選取以結束 對話方塊。
在下一個對話方塊中設定 IP 位址設定。如果您的提供者沒有給您一個靜態 IP,請選取。或者,可根據您 ISP 的規格,在提供的欄位中輸入您主機的本地 IP 位址和遠端 IP 位址。如果該介面應做為網際網路的預設路由,請選取。每個主機只能設定一個介面做為預設路由。選取 來結束此對話方塊。
下列對話方塊中可讓您設定您的國家和選取 ISP。清單中所列的 ISP 只有撥號計費提供者。如果您的 ISP 不在清單上,請選取。會開啟對話方塊,您可在其中輸入您 ISP 的所有詳細資料。輸入電話號碼時,在數字之間不能有空白或逗號。最後,請輸入您的 ISP 所提供的登入名稱和密碼。完成後,請選取 。
如果要在獨立的工作站上使用,請同時指定名稱伺服器 (DNS 伺服器)。大多數 ISP 均支援動態 DNS,即在您每次連接時 ISP 都會送出一個名稱伺服器的 IP 位址。不過,如果您使用的是單一工作站,您仍需提供一個替代位址,例如 192.168.22.99。如果您的 ISP 不支援動態 DNS,請指定 ISP 的名稱伺服器 IP 位址。如有需要,可為連接指定一個時限 未使用網路的時間 (以秒為單位),之後即會自動終止連接。按確認您的設定。YaST 會顯示已設定介面的摘要。若要啟用這些設定,請選取。
![]() | IBM System z:纜線數據機 |
|---|---|
IBM System z 平台不支援此類型的硬體組態。 | |
在有些國家/地區,透過電視纜線來存取網際網路的現象相當普遍。有線電視用戶通常會有一部數據機,一邊連接到電視纜線的輸出端子,另一邊 (使用 10Base-TG 雙絞纜線) 連接到電腦網路卡。接著纜線數據機會以固定的 IP 位址提供專用的網際網路連接。
視您的 ISP 所提供的說明而定,設定網路卡時可選取或。現在大多數提供者都使用 DHCP。靜態 IP 位址通常是特殊商用帳戶的一部分。
![]() | IBM System z:DSL |
|---|---|
IBM System z 平台不支援此類型的硬體組態。 | |
如果要設定您的 DSL 裝置,請從 YaST 區段選取 模組。此 YaST 模組含有多個對話方塊,可根據下列其中一種通訊協定在其中設定 DSL 連線的參數:
PPP over Ethernet (PPPoE)
PPP over ATM (PPPoATM)
CAPI for ADSL (Fritz 網路卡)
點對點通道通訊協定 (PPTP) -- 奧地利
在對話方塊的索引標籤中,提供有已安裝 DSL 裝置的清單。若要變更某個 DSL 裝置的組態,請在清單中將其選定,然後按一下。按一下可以手動設定新的 DSL 裝置。
PPPoE 或 PPTP 類型的 DSL 連接組態,要求對應的網路卡必須正確設定。如果您尚未完成此步驟,請先選取來進行設定 (請參閱 第 22.4.1 節「使用 YaST 設定網路卡」)。若是 DSL 連結,將會自動指定位址而不是透過 DHCP 指定,因此您不可啟用選項。而是應該輸入介面的靜態虛擬位址,例如 192.168.22.1。在中,輸入 255.255.255.0。如果您要設定獨立的工作站,則應保留 為空白。
![]() | |
和中的值只是預留位置。只用來啟始化網路卡,而不代表 DSL 連接等等。 | |
在第一個 DSL 組態對話方塊 (請參閱圖形 22.7 「DSL 組態」) 中,選取和 DSL 數據機要連接的(大多為 eth0)。然後使用來指定是否要在開機過程中建立 DSL 連結。按一下,以授權不具備 root 許可權的一般使用者透過 KInternet 啟動或取消啟動介面。
在下一個對話方塊中選取國家/地區,並從該國家/地區的多個 ISP 營運商中進行選擇。後續的 DSL 組態對話方塊詳細資料會視目前已設定的選項而定,因此下列段落只提供簡單的介紹。如需可用選項的詳細資訊,請參閱對話方塊中的詳細說明。
如果要在獨立的工作站上使用,請指定名稱伺服器 (DNS 伺服器)。大部份 ISP 均支援動態 DNS,每次連接時,會送出名稱伺服器的 IP 位址。不過,如果是單一工作站,請提供一個替代位址,例如 192.168.22.99。如果您的 ISP 不支援動態 DNS,請輸入您 ISP 提供的名稱伺服器 IP 位址。
定義網路靜止一段時間後即自動中斷連接。合理的逾時秒數為 60 和 300 秒。如果停用 ,將逾時值設為零將有助於避免自動掛斷。
T-DSL 的組態非常類似 DSL 的設定。只要選取 做為您的提供者,YaST 就會開啟 T-DSL 組態對話方塊。在此對話方塊中,提供一些 T-DSL 要求的其他資訊,線路 ID、T-Online 號碼、使用者代碼和您的密碼。在您加入 T-DSL 後,應該會收到這些資訊。
SUSE Linux Enterprise Server for IBM System z 支援多種不同類型的網路介面。您可使用 YaST 設定所有類型。
若要將 qeth-hsi (Hipersockets) 介面新增到安裝好的系統,請啟動 YaST 中的+模組。選取其中一個標示為的裝置做為「讀取」裝置位址,然後按一下。輸入讀取通道、寫入通道和控制通道的裝置編號 (裝置編號格式的範例︰0.0.0600)。然後按「下一步」。在對話方塊中,指定新介面的 IP 位址和網路遮罩,然後按和結束網路組態。
若要將 qeth-ethernet (IBM OSA Express 乙太網路卡) 介面新增到安裝好的系統,請啟動 YaST 中的+模組。選取其中一個標記為的裝置來做為「讀取」裝置位址,然後按一下。輸入讀取通道、寫入通道和控制通道的裝置編號 (裝置編號格式的範例︰0.0.0600)。輸入所需的連接埠名稱、連接埠號碼 (如果適用)、一些其他選項 (請參閱 http://www.ibm.com/developerworks/linux/linux390/documentation_novell_suse.html 中的《Linux for IBM System z: Device Drivers, Features, and Commands》(適用於 IBM System z 的 Linux︰裝置驅動程式、功能和指令) 手冊)、您的 IP 位址和相應的網路遮罩。按與結束網路組態。
若要將 ctc (IBM 平行埠 CTC 介面卡) 介面新增到安裝好的系統,請啟動 YaST 中的+模組。選取一個標示為的裝置做為您的讀取通道,然後按一下。選擇適合您裝置的(通常為)。指定您和遠端合作夥伴的 IP 位址。如有需要,可透過+來調整 MTU 的大小。按與結束網路組態。
![]() | |
不建議使用此介面。未來的 SUSE Linux Enterprise Server 版本將不支援此介面。 | |
若要將 lcs (IBM OSA-2 介面卡) 介面新增到安裝好的系統,請啟動 YaST 中的+模組。選取標示為的裝置,然後按一下。輸入所需的連接埠號、一些其他選項 (請參閱 http://www.ibm.com/developerworks/linux/linux390/documentation_novell_suse.html 中的《Linux for IBM System z: Device Drivers, Features, and Commands》(適用於 IBM System z 的 Linux︰裝置驅動程式、功能和指令) 手冊)、您的 IP 位址和相應的網路遮罩。按與結束網路組態。
若要將 iucv (IUCV) 介面新增到安裝好的系統,請啟動 YaST 中的+模組。選取標示為的裝置,並按一下。YaST 會提示您提供 IUCV 合作夥伴的名稱 ()。輸入名稱 (本項目區分大小寫) 然後選取。指定合作夥伴的及。如果需要,在索引標籤中大小。按與結束網路組態。
![]() | |
不建議使用此介面。未來的 SUSE Linux Enterprise Server 版本將不支援此介面。 | |
NetworkManager 是筆記型電腦與其他可攜式電腦的理想解決方案。有了 NetworkManager,您在行進之間,不必耽心網路介面的組態,也不必切換網路。
不過,NetworkManager 解決方案並不適用於所有情況,因此您仍然可以在用於管理網路連接的傳統方法 (ifup) 與 NetworkManager 之間進行選擇。如果要使用 NetworkManager 管理網路連接,請依第 27.2 節「啟用或停用 NetworkManager」中所述在 YaST 網路設定模組中啟用 NetworkManager,然後使用 NetworkManager 設定網路連接。如需使用案例的清單以及如何設定與使用 NetworkManager 的詳細說明,請參閱第 27 章「使用 NetworkManager」。
ifup 與 NetworkManager 之間的區別包括︰
root 權限
如果使用 NetworkManager 設定網路,就可以隨時使用 Applet 在您的桌面環境上輕鬆切換、停止或啟動網路連接。NetworkManager 也讓您不需要 root 權限就可以變更和設定無線網路卡連接。因此,NetworkManager 是行動工作站理想的解決方案。
傳統的 ifup 組態也提供一些切換、停止或啟動連接的方式,其中有需要使用者介入的,也有不需要的,就像使用者管理的裝置。但是,使用此方法始終需要 root 權限來變更或設定網路裝置。這對行動計算裝置而言,往往會造成問題,因為不可能預先設定好所有可能的連接。
不論是傳統組態還是 NetworkManager,都能使用 DHCP 和靜態組態來處理無線網路 (會存取 WEP、WPA-PSK 和 WPA-Enterprise) 和有線網路的網路連接。它們也支援透過撥號、DSL 和 VPN 建立的連接。透過 NetworkManager,您還可以連接行動寬頻 (3G) 數據機,而使用傳統組態則不能做到這一點。
NetworkManager 會嘗試使用最好的連接,讓您的電腦隨時保持連接狀態。如果網路纜線突然中斷,它會嘗試重新連接。它可以從您的無線連接清單中找到訊號最強的網路,並自動用它來連接。如果要用 ifup 達到相同的功能,必須執行很多組態工作。
使用 NetworkManager 建立的獨立網路連接設定儲存在組態設定檔中。使用 NetworkManager 或 YaST 設定的系統連接儲存在 /etc/networkmanager/system-connections/* 或 /etc/sysconfig/network/ifcfg-* 中。使用者定義的連接儲存在 GConf (GNOME) 或 $HOME/.kde4/share/apps/networkmanagement/* (KDE) 中。
如果未設定任何設定檔,NetworkManager 會自動建立一個,並將其命名為 Auto $INTERFACE-NAME。這是為了在未設定組態的情況下安全地處理盡可能多的案例。如果自動建立的設定檔不能滿足您的需要,請使用 KDE 或 GNOME 提供的網路連接組態對話方塊,根據需要修改這些設定檔。若需更多資訊,請參考第 27.3 節「設定網路連接」。
在集中管理的機器上,可以使用 PolicyKit 控制或停用某些 NetworkManager 功能,例如,是否允許使用者修改管理員定義的連接,或者是否允許使用者定義自己的網路組態。若要檢視或變更各自的 NetworkManager 規則,請啟動 PolicyKit 的圖形工具。這些規則位於左側網路樹中,項目的下方。如需 PolicyKit 的簡介及其詳細使用方法,請參閱Chapter 9, PolicyKit (↑Security Guide)。
網路軟體的手動組態應該永遠是最後的替代方案。建議使用 YaST。不過,這個有關網路組態的背景資訊也可協助您使用 YaST。
當核心偵測到網路卡並建立對應的網路介面時,它會根據探查到裝置或載入核心模組的順序,為該裝置指定名稱。只有在非常簡單或嚴密控制的硬體環境中,預設核心裝置的名稱才可預測。如果系統允許在執行時期新增或移除硬體,或是支援自動設定裝置組態,則無法準確預測核心在重新開機時指定的網路裝置名稱。
但是,所有系統組態工具均依賴於永久的介面名稱。udev 解決了此問題。udev 永久網路產生器 (/lib/udev/rules.d/75-persistent-net-generator.rules) 會產生與硬體相符的規則 (預設使用其硬體位址),並為硬體指定一個永遠唯一的介面。網路介面的 udev 資料庫儲存在檔案 /etc/udev/rules.d/70-persistent-net.rules 中。該檔案中的每一行描述一個網路介面並指定其永久名稱。系統管理員可以透過編輯 NAME="" 項目來變更指定的名稱。您也可以使用 YaST 修改永久規則。
表格 22.5 「手動網路組態程序檔」 總結了與網路組態相關的最重要的程序檔。
表格 22.5. 手動網路組態程序檔¶
|
指令 |
函數 |
|---|---|
|
ifup, ifdown, ifstatus |
|
|
rcnetwork |
|
如需 udev 和永久裝置名稱的詳細資訊,請參閱第 15 章「使用 udev 進行動態核心裝置管理」。
本節提供網路組態檔的綜覽,並說明其用途和使用的格式。
/etc/sysconfig/network/ifcfg-*¶
這些檔案包含網路介面的組態。其中包含啟動模式和 IP 位址等資訊。可以使用的參數請參閱 ifup 的手冊頁。此外,如果一個一般設定只能用於一個介面,則檔案 dhcp 中的大多數變數在 ifcfg-* 檔案中都可以使用。但是,大多數 /etc/sysconfig/network/config 變數都是全域變數,在 ifcfg 檔案中不能將它們覆寫。例如,NETWORKMANAGER 或 NETCONFIG_* 變數就是全域變數。
如需 ifcfg.template 的相關資訊,請參閱第 22.6.1.2 節「/etc/sysconfig/network/config 和 /etc/sysconfig/network/dhcp」。
►System z:
IBM System z 不支援 USB。介面檔案名稱和網路別名包含 System z 專屬元素,如 qeth。
◄
/etc/sysconfig/network/config 和 /etc/sysconfig/network/dhcp¶
config 檔案包含 ifup、ifdown 和 ifstatus 行為的一般設定。dhcp 包含 DHCP 的設定。這兩個組態檔案中的變數都已被註解。/etc/sysconfig/network/config 中的某些變數也可以在 ifcfg-* 檔案中使用,而且在這些檔案中它們的優先程度更高。/etc/sysconfig/network/ifcfg.template 檔案列出了可在永久介面中指定的變數。但是,大多數 /etc/sysconfig/network/config 變數都是全域變數,在 ifcfg 檔案中不能將它們覆寫。例如,NETWORKMANAGER 或 NETCONFIG_* 變數就是全域變數。
/etc/sysconfig/network/routes 和 /etc/sysconfig/network/ifroute-*¶
TCP/IP 封包的靜態路由在此決定。您可以將各種系統任務所需的所有靜態路由都輸入 /etc/sysconfig/network/routes 檔案,包括主機的路由、透過閘道前往主機的路由,以及網路的路由。對於需要個別路由的介面,請定義額外的組態檔案:/etc/sysconfig/network/ifroute-*。以介面的名稱取代 *。在路由組態檔中的項目看起來就像這樣:
# Destination Dummy/Gateway Netmask Device # 127.0.0.0 0.0.0.0 255.255.255.0 lo 204.127.235.0 0.0.0.0 255.255.255.0 eth0 default 204.127.235.41 0.0.0.0 eth0 207.68.156.51 207.68.145.45 255.255.255.255 eth1 192.168.0.0 207.68.156.51 255.255.0.0 eth1
路由的目的地是在第一個資料欄。這個資料欄可能包含網路或主機的 IP 位址,這是指「可到達的」名稱伺服器、完整合格的網路或主機名稱。
第二個資料欄包含預設的閘道或是可以存取主機或網路的閘道。第三個資料欄包含在閘道後面的網路或主機的網路遮罩。例如,遮罩為 255.255.255.255,供在閘道後面的主機使用。
第四欄只與連接至本地主機的網路相關,例如迴路、乙太網路、ISDN、PPP 以及虛擬裝置。必須在這裏輸入裝置名稱。
第五欄 (可選) 可指定路由的類型。不需要的欄位必須包含 - 減號,以確保解析程式可正確解譯指令。如需詳細資訊,請參閱 routes(5) man 頁面。
現在,IPv4 和 IPv6 的統一格式如下所示:
prefix/lengthgateway- [interface]
相應地,所謂的相容性格式則為:
prefixgatewaylength[interface]
對於 IPv4,您仍然可以使用含網路遮罩的舊格式:
ipv4-networkgatewayipv4-netmask[interface]
下列範例作用相同:
2001:db8:abba:cafe::/64 2001:db8:abba:cafe::dead - eth0 208.77.188.0/24 208.77.188.166 - eth0 2001:db8:abba:cafe:: 2001:db8:abba:cafe::dead 64 eth0 208.77.188.0 208.77.188.166 24 eth0 208.77.188.0 208.77.188.166 255.255.255.0 eth0
/etc/resolv.conf¶
主機所屬的網域指定於此檔案 (關鍵字 search);另外也會列出要存取的名稱伺服器位址的狀態 (關鍵字 nameserver)。可以在檔案中指定多個網域名稱。解析不完整的名稱時,會嘗試附加個別 search 項目產生一個名稱。可以在多行中指定多個伺服器名稱,每個名稱均以 nameserver 開頭。備註前面標有 # 符號。範例 22.5 「/etc/resolv.conf」 顯示了 /etc/resolv.conf 的格式。
不過,您不可手動編輯 /etc/resolv.conf。它是由 netconfig 程序檔產生的。若要定義靜態 DNS 組態而不使用 YaST,請在 /etc/sysconfig/network/config 檔案中手動編輯適當的變數:
NETCONFIG_DNS_STATIC_SEARCHLIST
用於主機名稱查詢的 DNS 網域名稱清單
NETCONFIG_DNS_STATIC_SERVERS
用於主機名稱查詢的名稱伺服器 IP 位址清單
NETCONFIG_DNS_FORWARDER
定義必須設定的 DNS 轉遞者的名稱
若要使用 netconfig 停用 DNS 組態,請設定 NETCONFIG_DNS_POLICY=''。如需 netconfig 的詳細資訊,請參閱 man 8 netconfig。
範例 22.5. /etc/resolv.conf¶
# Our domain search example.com # # We use dns.example.com (192.168.1.116) as name server nameserver 192.168.1.116
/sbin/netconfig¶netconfig 是一個模組化工具,用於管理其他網路組態設定。它根據預先定義的規則,將靜態定義的設定與自動組態機制 (如 DHCP 或 PPP) 提供的設定進行合併。透過呼叫負責修改組態檔案和重新啟動服務或類似動作的 netconfig 模組,將必要的變更套用至系統。
netconfig 可以辨識三個主要動作。DHCP 或 PPP 等精靈使用 netconfig modify 與 netconfig remove 指令提供或移除 netconfig 的設定。使用者僅可使用 netconfig update 指令:
netconfig modify 指令會修改目前的介面和服務特定的動態設定,並更新網路組態。Netconfig 會從標準輸入或從 --lease-file 選項指定的檔案讀取設定,並將它們儲存於內部,直到系統重新開機 (或執行下一個修改或移除動作) 為止。系統會覆寫同一個介面與服務組合的現有設定。介面由 檔案名稱-i 參數來指定。服務由 介面名稱-s 參數來指定。
服務名稱
netconfig remove 指令會移除修改動作為指定介面和服務組合提供的動態設定,並更新網路組態。介面由 -i 參數來指定。服務由 介面名稱-s 參數來指定。
服務名稱
netconfig update 指令會使用目前的設定更新網路組態。當規則或靜態組態變更時可以使用此指令。如果只想更新指定的服務 (dns、nis 或 ntp),請使用 -m 參數。
模組類型
netconfig 規則和靜態組態設定可透過手動方式定義,或使用 YaST 在 /etc/sysconfig/network/config 檔案中定義。自動組態工具 (如 DHCP 或 PPP) 提供的動態組態設定經由這些工具透過 netconfig modify 和 netconfig remove 動作直接傳送。NetworkManager 也可以使用 netconfig modify 與 netconfig remove 動作。NetworkManager 啟用時,netconfig (在 auto 規則模式中) 只會使用 NetworkManager 設定,而忽略使用傳統 ifup 方法設定的任何其他介面的設定。如果 NetworkManager 未提供任何設定,則使用靜態設定做為備用設定。系統不支援同時使用 NetworkManager 與傳統 ifup 方法。
如需 netconfig 的詳細資訊,請參閱 man 8 netconfig。
/etc/hosts¶
在此檔中 (請參閱 範例 22.6 「/etc/hosts」),IP 位址是指定給主機名稱。如果沒有執行任何名稱伺服器,將使用此 IP 連接設定的所有主機將列示於此。對於每個主機,分別在檔案中輸入一行包含 IP 位址、完全合法的主機名稱及主機名稱的項目。IP 位址必須在行的開頭,然後以空格和定位點分隔這些項目。註解的前面永遠是 # 符號。
範例 22.6. /etc/hosts¶
127.0.0.1 localhost 192.168.2.100 jupiter.example.com jupiter 192.168.2.101 venus.example.com venus
/etc/host.conf¶
名稱解析--透過解析器庫分析主機和網路的名稱--由此檔案收集。該檔案僅用於與 libc4 或 libc5 連結的程式。對於目前的 glibc 程式,請參閱 /etc/nsswitch.conf 中的設定。每個參數必須永遠是獨立一行。註解的前面是 # 符號。表格 22.6 「/etc/host.conf 的參數」 顯示出可用的參數。/etc/host.conf 範例是顯示在 範例 22.8 「/etc/host.conf」。
表格 22.6. /etc/host.conf 的參數¶
|
order hosts, bind |
指定針對名稱解析存取服務的順序。可用的引數有 (以空格或逗號分隔): |
|
hosts:搜尋 | |
|
bind:存取名稱伺服器 | |
|
nis:使用 NIS | |
|
multi on/off |
定義在 |
|
nospoof on spoofalert on/off |
這些參數會影響名稱伺服器 spoofing,但並不會對網路組態產生任何影響。 |
|
trim domainname |
指定的網域名稱在主機名稱解析後會與主機名稱分隔 (只要主機名稱包括網域名稱)。只有在本地網域分隔出來的名稱位於 |
/etc/nsswitch.conf¶
GNU C Library 2.0 的介紹隨附於名稱服務切換 (NSS,Name Service Switch) 的介紹。詳細資訊請參閱 nsswitch.conf(5) man 頁面和 GNU C Library 參考手冊。
查詢的順序定義於檔案 /etc/nsswitch.conf。nsswitch.conf 範例是顯示在 範例 22.9 「/etc/nsswitch.conf」。備註前面標有 # 符號。在此範例中,hosts 資料庫下的項目表示要求是透過 DNS 傳送到 /etc/hosts (files) (請參閱第 25 章「網域名稱系統」)。
範例 22.9. /etc/nsswitch.conf¶
passwd: compat group: compat hosts: files dns networks: files dns services: db files protocols: db files rpc: files ethers: files netmasks: files netgroup: files nis publickey: files bootparams: files automount: files nis aliases: files nis shadow: compat
NSS 上可用的「資料庫」列示於 表格 22.7 「透過 /etc/nsswitch.conf 的可用資料庫」。 NSS 資料庫的組態選項將列於表格 22.8 「NSS「資料庫」的組態選項」。
表格 22.7. 透過 /etc/nsswitch.conf 的可用資料庫¶
|
|
|
|
|
乙太網路位址。 |
|
|
網路及其子網路遮罩的清單。當您使用子網路時才需要。 |
|
|
適用於 |
|
|
|
|
|
在網路中有效的主機與使用者清單,以利控制存取權限,請參閱 |
|
|
|
|
|
NFS 及 NIS+ 使用之 Secure_RPC 的公開金鑰和私密金鑰。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表格 22.8. NSS「資料庫」的組態選項¶
|
|
直接存取檔案,例如 |
|
|
透過資料庫存取 |
|
|
NIS,請參閱Chapter 3, Using NIS (↑Security Guide) |
|
|
只能做為 |
|
|
只能做為 |
/etc/nscd.conf¶
此檔案用來設定 nscd (名稱服務快取精靈)。請參閱 nscd(8) 與 nscd.conf(5) man 頁面。依預設,passwd 與 groups 的系統項目是由 nscd 快取。這對於目錄服務 (如 NIS 和 LDAP) 的效能而言是很重要的,否則每次存取名稱或群組時都需要使用網路連接。預設是不會快取 hosts,因為 nscd 快取主機的機制會造成本地系統無法信任轉寄以及反向查詢檢查。不要要求 nscd 快取名稱,而是設定快取 DNS 伺服器。
如果啟用 passwd 的快取,通常需要 15 秒,才能辨識新增的本地使用者。使用指令 rcnscd restart 重新啟動 nscd,縮短這段等待時間。
將組態寫入您的組態檔案之前,可先進行測試。若要設定測試組態,請使用 ip 指令。若要測試連接,請使用 ping 指令。同時也可使用較舊的組態工具,如 ifconfig 和 route。
ip、ifconfig 和 route 指令會直接變更網路組態,不會將其儲存到組態檔案中。除非您將組態輸入正確的組態檔案,否則重新開機之後網路組態的變更就會遺失。
ip 是一項可顯示及設定網路裝置、路由、規則路由和通道的工具。
ip 是非常複雜的工具。其一般語法是 ip 。您可使用下列物件:
options object command
此物件代表網路裝置。
此物件代表裝置的 IP 位址。
此物件代表 ARP 或 NDISC 快取項目。
此物件代表路由表格項目。
此物件代表路由原則資料庫中的規則。
此物件代表多重廣播位址。
此物件代表多重廣播路由快取項目。
此物件表示 IP 上的通道。
若未提供指令,會使用預設指令 (通常是 list)。
您可使用 ip link set device_namecommand 指令變更裝置狀態。例如,若要停用裝置 eth0,請輸入 ip link set eth0 down。若要重新啟用,請使用 ip link set eth0 up。
啟用裝置之後,就可加以設定。若要設定 IP 位址,請使用 ip addr add 。例如,若要將介面 eth0 的 IP 位址以標準廣播 (選項 ip_address + dev device_namebrd) 設定為 192.168.12.154/30,請輸入 ip addr add 192.168.12.154/30 brd + dev eth0。
若要具備作用中連接,必須設定預設閘道。若要為您的系統設定閘道,請輸入 ip route add 閘道 IP 位址。若要轉換某個 IP 位址,請使用 nat: ip route add nat ip_address via other_ip_address。
若要顯示所有裝置,請使用 ip link ls。若只希望顯示運作中介面,請使用 ip link ls up。若要列印裝置的介面統計值,請輸入 ip -s link ls device_name。若要檢是您裝置的位址,請輸入 ip addr。在 ip addr 的輸出中同時也可找到您裝置的 MAC 位址相關資訊。若要顯示所有路由,請使用 ip route show。
如需有關使用 ip 的詳細資訊,請輸入 ip help 或參閱 ip(8) man 頁面。help 選項也適用於所有 ip 子指令。例如,如果您需要 ip addr 的說明,請輸入 ip addr help。/usr/share/doc/packages/iproute2/ip-cref.pdf 中提供了有關 ip 的說明。
ping 指令是測試 TCP/IP 連接運作的標準工具。其使用 ICMP 通訊協定,將小型資料封包 ECHO_REQUEST 傳送至目的地主機,要求立即回應。如果有作用,ping 會顯示訊息,指示網路連結基本上是正常的。
ping 不僅會測試兩台電腦之間能否連接,還會提供一些關於連接品質的基本資訊。您可在 範例 22.10 「指令 ping 的輸出」 中看到 ping 輸出的一些範例。倒數第二行包含送出的封包數、封包遺失率以及執行 ping 總共花費的時間等資訊。
對於目的地,可使用主機名稱或 IP 位址,例如 ping example.com 或 ping 192.168.3.100。程式會持續傳送封包,直到您按下 Ctrl+C 為止。
若您只需要檢查連接功能性,您可以 -c 選項限定封包數量。例如,若要將 ping 限制於三個封包,請輸入 ping -c 3 example.com。
範例 22.10. 指令 ping 的輸出¶
ping -c 3 example.com PING example.com (192.168.3.100) 56(84) bytes of data. 64 bytes from example.com (192.168.3.100): icmp_seq=1 ttl=49 time=188 ms 64 bytes from example.com (192.168.3.100): icmp_seq=2 ttl=49 time=184 ms 64 bytes from example.com (192.168.3.100): icmp_seq=3 ttl=49 time=183 ms --- example.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2007ms rtt min/avg/max/mdev = 183.417/185.447/188.259/2.052 ms
兩個封包之間的預設間隔為一秒。若要變更間隔,可以使用 ping 提供的選項 -i。例如,若要將 ping 間隔增加到十秒,請輸入 ping -i 10 example.com。
在具備多網路裝置的系統中,透過特定介面位址傳送 ping 非常實用。若要執行此動作,請使用 -I 選項以及所選裝置的名稱,例如 ping -I wlan1 example.com。
如需使用 ping 的選項與詳細資訊,請輸入 ping -h 或參閱 ping (8) man 頁面。
![]() | Ping IPv6 位址 |
|---|---|
對於 IPv6 位址,請使用 ping6 指令。請注意,若要 ping 連結-本機位址,必須使用 ping6 -I eth1 fe80::117:21ff:feda:a425 | |
ifconfig 是一項網路組態工具。
![]() | ifconfig 和 ip |
|---|---|
ifconfig 工具已過時。請改用 ip。與 ip 相反,ifconfig 只能用於介面組態。它將介面名稱限制為 9 個字元。 | |
無疑,ifconfig 顯示的是目前作用中介面的狀態。如您在範例 22.11 「ifconfig 指令的輸出」 中所見,ifconfig 的輸出排列整齊並且內容詳盡。輸出的第一行亦包含您裝置的 MAC 位址 (HWaddr 的值) 等相關資訊。
範例 22.11. ifconfig 指令的輸出¶
eth0 Link encap:Ethernet HWaddr 00:08:74:98:ED:51
inet6 addr: fe80::208:74ff:fe98:ed51/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:634735 errors:0 dropped:0 overruns:4 frame:0
TX packets:154779 errors:0 dropped:0 overruns:0 carrier:1
collisions:0 txqueuelen:1000
RX bytes:162531992 (155.0 Mb) TX bytes:49575995 (47.2 Mb)
Interrupt:11 Base address:0xec80
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8559 errors:0 dropped:0 overruns:0 frame:0
TX packets:8559 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:533234 (520.7 Kb) TX bytes:533234 (520.7 Kb)
wlan1 Link encap:Ethernet HWaddr 00:0E:2E:52:3B:1D
inet addr:192.168.2.4 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::20e:2eff:fe52:3b1d/64 Scope:Link
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:50828 errors:0 dropped:0 overruns:0 frame:0
TX packets:43770 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:45978185 (43.8 Mb) TX bytes:7526693 (7.1 MB)
如需有關使用 ifconfig 的選項與詳細資訊,請輸入 ifconfig -h 或參閱 ifconfig (8) man 頁面。
route 是操作 IP 路由表格的程式。您可使用此指令檢視您的路由組態,以及新增或移除路由。
![]() | route 與 ip |
|---|---|
route 這個程式已過時。請改用 ip。 | |
若您需要快速又易於理解的路由組態資訊以判別路由問題,route 是特別實用的工具。若要檢視您目前的路由組態,請以 root 使用者身分輸入 route -n。
範例 22.12. route -n 指令的輸出¶
route -n Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 10.20.0.0 * 255.255.248.0 U 0 0 0 eth0 link-local * 255.255.0.0 U 0 0 0 eth0 loopback * 255.0.0.0 U 0 0 0 lo default styx.exam.com 0.0.0.0 UG 0 0 0 eth0
如需使用 route 的選項與詳細資訊,請輸入 route -h 或參閱 route (8) man 頁面。
除了上述的組態檔之外,還有在機器開機時載入網路程式的各種程序檔。只要系統切換到其中一個 multiuser runlevels,就會啟動這些程序檔。在 表格 22.9 「網路程式的一些啟動程序檔」 中提供了一些程序檔的說明。
表格 22.9. 網路程式的一些啟動程序檔¶
|
此程序檔會處理網路介面的組態。如果未啟動網路服務,則不會實作任何網路介面。 | |
|
啟動 xinetd。xinetd 可以用來讓伺服器服務能夠在系統上使用。例如,只要開啟 FTP 連接,它即可啟動 vsftpd。 | |
|
啟動可將 RPC 程式號碼轉換為通用位址的 rpcbind 公用程式。NFS 伺服器等 RPC 服務需要用到。 | |
|
啟動 NFS 伺服器。 | |
|
控制後置程序。 | |
|
啟動 NIS 伺服器。 | |
|
啟動 NIS 用戶端。 |
對於某些系統而言,實作的網路連接除了需要符合一般乙太網路裝置的標準資料安全性或可用性要求之外,還需要符合其他要求。在這些情況下,數個乙太網路裝置可以結集成單個 Bonding 裝置。
bonding 裝置的組態是透過 bonding 模組選項來設定,而其行為主要受 Bonding 裝置的模式影響。該模式預設為 mode=active-backup,這表示如果使用中的從屬裝置失敗,另一個從屬裝置將變成使用中狀態。
![]() | Bonding 和 Xen |
|---|---|
Bonding 裝置僅適用於具有多個實際網路卡的機器。在大多數組態中,這表示您只應該在 Domain0 中使用結合組態。此外,只有在您將多個網路卡指定給 VM 客體系統的情況下,在 VM 客體中設定結合才有用。 | |
若要設定 bonding 裝置,請執行以下程序︰
執行++。
使用,然後將變更為。按繼續。
![]() |
選取為 bonding 裝置指定 IP 位址的方法。有三種方法可供您選擇︰
無 IP 位址
動態位址 (透過 DHCP 或 Zeroconf)
靜態指定的 IP 位址
請使用適合您環境的方法。
在索引標籤中,透過啟用相關的核取方塊來選取應包含在 Bond 中的乙太網路裝置。
編輯。可用於設定的模式顯示如下:
balance-rr
active-backup
balance-xor
廣播
802.3ad
balance-tlb
balance-alb
確認參數 miimon=100 已新增至。若沒有此參數,就無法定期檢查資料的完整性。
按,然後按一下離開 YaST,以建立裝置。
所有模式以及其他更多選項的詳細說明請見(安裝套件 kernel-source 之後可在 /usr/src/linux/Documentation/networking/bonding.txt 中找到)。
在特定網路環境 (例如高可用性) 中,有時候您需要將 Bonding 從屬介面取代成其他介面。原因可能在於網路裝置不斷發生故障。解決方案是設定 Bonding 從屬的熱插拔。
請如一般方式設定 Bond (根據 man 5 ifcfg-bonding),例如:
ifcfg-bond0
STARTMODE='auto' # or 'onboot'
BOOTPROTO='static'
IPADDR='192.168.0.1/24'
BONDING_MASTER='yes'
BONDING_SLAVE_0='eth0'
BONDING_SLAVE_1='eth1'
BONDING_MODULE_OPTS='mode=active-backup miimon=100'
但使用 STARTMODE=hotplug 和 BOOTPROTO=none 指定從屬:
ifcfg-eth0
STARTMODE='hotplug'
BOOTPROTO='none'
ifcfg-eth1
STARTMODE='hotplug'
BOOTPROTO='none'
BOOTPROTO=none 會使用 ethtool 選項 (若提供),但不會使用 ifup eth0 設定連結。這是因為從屬介面是由 Bond 主要裝置所控制的。
STARTMODE=hotplug 會導致從屬介面只要可使用便會自動加入 Bond。
必須變更 /etc/udev/rules.d/70-persistent-net.rules 中的 udev 規則才能按匯流排 ID (udev KERNELS 關鍵字等於 hwinfo --netcard 中所示的「SysFS BusID」) 比對裝置 (而不是按 MAC 位址),從而允許更換有故障的硬體 (網路卡位於相同的插槽中但具有不同的 MAC),以及避免在 Bond 變更其所有從屬的 MAC 位址時引起混淆。
例如:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
KERNELS=="0000:00:19.0", ATTR{dev_id}=="0x0", ATTR{type}=="1",
KERNEL=="eth*", NAME="eth0"
開機時,/etc/init.d/network 不會等待熱插拔從屬,但會等待 Bond 就緒 (至少需要一個可用的從屬)。當從系統移除其中一個從屬介面 (從 NIC 驅動程式解除結合、NIC 驅動程式的 rmmod 或實際 PCI 熱插拔移除) 時,核心會自動將它從 Bond 中移除。當將新卡新增至系統時 (更換插槽中的硬體),udev 會使用匯流排型永久命名規則將它重新命名為從屬的名稱,然後為它呼叫 ifup。ifup 呼叫會自動將它加入 Bond。
部份家庭使用者沒有連接到網際網路的專線。而是使用撥號連接。視撥號方法 (ISDN 或 DSL) 而定,連接是由 ipppd 或 pppd 來控制。基本上,連接所需做的事就是正確地啟動這些程式。
如果您有單一速率的連接,不會產生撥號連接的其他成本,請直接啟動個別的精靈。使用桌面 Applet 或指令行介面控制撥號連接。如果網際網路閘道不是您所使用的主機,您可能需要透過網路主機來控制撥號連接。
這種情況下將需要使用 smpppd (SUSE Meta PPP 精靈)。它會為輔助程式提供一致的介面並以兩個方向運作。首先,它會撰寫所需的 pppd 或 ipppd 程式,然後控制其撥號內容。其次,它會提供各個提供者給使用者程式,並傳輸關於連接目前狀態的資訊。因為 smpppd 也可以透過網路控制,所以它適合從私人子網路的工作站中,控制連至網際網路的撥號連接。
smpppd 所提供的連接會自動由 YaST 設定。實際的撥號程式 KInternet 與 cinternet 也是預先設定的。只有在設定 smpppd 的遠端控制等其他功能時才需要進行手動設定。
smpppd 的組態檔為 /etc/smpppd.conf。根據預設,它不會啟用遠端控制。此組態檔最重要的選項為:
yes|no
若要透過網路控制 smpppd,請將此選項設定為 yes。smpppd 會在連接埠 3185 上監聽。如果此參數設為 yes,則必須對 bind-address、host-range 以及 password 參數進行相應的設定。
ip address
如果主機具有數個 IP 位址,請使用此參數以決定那個 IP 位址 smpppd 應該接受連接。預設為監聽所有位址。
min ipmax ip
host-range 參數會定義網路範圍。在此範圍中的 IP 位址之主機擁有 smpppd 的存取權。所有不在此範圍中的主機都將拒絕存取。
password
透過指定密碼,將用戶端限制為授權的主機。因為這是純文字的密碼,您不應該高估它所提供的安全性。如果沒有指定密碼,則所有的用戶端都將允許存取 smpppd。
yes|no
使用此參數,smpppd 服務就可以透過 SLP 在網路中宣告。
有關 smpppd 的詳細資訊,請參閱 smpppd(8) 和 smpppd.conf(5) man 頁面。
cinternet 可用於控制本地或遠端 smpppd。cinternet 是對應於圖形 KInternet 的指令行工具。若要準備這些公用程式以供遠端 smpppd 使用,請以手動方式或使用 cinternet 編輯 /etc/smpppd-c.conf 組態檔案。此檔案只使用四個選項:
list of sites
站台清單是指前端搜尋 smpppd 的站台。這些前端將會依這裏所指定的順序來測試選項。local 可命令建立與本地 smpppd 的連接。gateway 指向閘道上的 smpppd。config-file 指示與指定的 smpppd (由 /etc/smpppd-c.conf 中的 server 與 port 選項指定) 建立連接。slp 可命令前端連接至透過 SLP 找到的 smpppd。
server
執行 smpppd 的主機。
port
執行 smpppd 的連接埠。
password
為 smpppd 選取的密碼。
若 smpppd 正在使用,則嘗試加以存取。例如,使用 cinternet --verbose --interface-list。如果在此遇到問題,請參閱 smpppd-c.conf(5) 與 cinternet(8) man 頁面。