BigAdmin System Administration Portal
專文
Print-friendly VersionPrint-friendly Version

Solaris 平台的網路配置

作者:Eric Rinker

此文件目的

此文件應該可以讓您確切瞭解如何使用指令行介面來設定網路介面。此文也包括一些基本疑難排解提示。此文件並未涵蓋硬體。

需求

為了善加利用此文,您必須熟悉 Solaris 作業系統。您至少也應該對 TCP/IP 網路和子網路遮罩具有基本瞭解。若要使用此文,您需要建立和編輯系統檔案,並且瞭解啟動程序 (與啟動程序檔相關)。根存取權限是必要條件。

背景

網路的最基本形式是由兩部彼此連線以針對特定作業共同作業的電腦組成。這些共同作業的範圍涵蓋簡單檔案傳輸與分散式運算或叢集等複雜作業。

網路的兩個基本部分是實體媒介和網路協定。根據您需要連線電腦的方式以及願意花費的金額,網路中使用的實體媒介會有所不同。用於電腦連線的一些常用方法包括:

  • 記號環網路 — 由 IBM 開發,這種網路類型會將每部電腦大略排列成圓圈。
  • 10Base2 (同軸) — 每部電腦都是使用細同軸纜線串在一起,整條網路線的兩端則接上終端裝置。
  • 10(0)BaseT — 這是標準辦公室/家庭網路技術,而此技術使用具有雙絞線的纜線。集線器/交換器可用於連線多部電腦。原先的速度是 10 MB/秒 (每秒 MB 數),現在則有 100 MB/秒的產品。
  • 光纖 (Gigabit) — 此技術使用光纖纜線來傳輸資料,而不是使用雙絞線。它的速度可達 1000 MB/秒 (1 GB/秒),但是成本較高,而且在佈置纜線時需要特別小心。
  • 無線 802.11a — 工業級無線網路。它的執行速度是 54 MB/秒,但是範圍極為有限。
  • 無線 802.11b — 目前的家庭和辦公室無線網路標準。它的執行速度大約是 10MB/秒。
  • 無線 802.11g — 結合 802.11 的速度與 802.11b 的範圍。與 802.11a 和 802.11b 向下相容。

即使兩個網路使用相同的媒介,它們還是可以使用兩種完全不同的協定或方法來進行通訊。網路現今使用的一些協定包括:

  • TCP/IP — 網際網路標準。每片 NIC 都會有指定的 IP 位址和子網路遮罩。這些是用來判斷哪些機器位在區域網路內,而哪些機器需要透過路由器傳送流量。
  • IPX/SPX — 由 Novell 開發的廣播協定。每片 NIC 都會有指定的唯一的 IPX 網路位址。
  • AppleTalk — Apple 的專用協定。每片 NIC 都會有指定的網路編號、節點號碼和通訊端號碼。它的配置和路由功能與 TCP/IP 類似。

驗證硬體安裝

我們的分析藍本假設正在將第二片 NIC 安裝至先前配置的網路系統。安裝新的硬體之前,請先執行 prtconf -vD 以儲存目前的系統配置。在大型系統上,此指令的輸出可能會十分龐大,因此最好將 prtconf 的輸出導向至檔案。

實際安裝新硬體之後,請在 OK 提示中使用 -r 選項啟動系統。這樣系統會掃描新的硬體,並據此建置裝置驅動程式目錄。完成此項作業之後,請再執行一次 prtconf -vD,並比較它的內容與先前執行的結果。如果新的裝置未出現,請參閱此裝置的說明手冊,因為它可能需要安裝新的驅動程式或採取此硬體特有的一些其他特殊動作。根據系統和安裝的其他卡片,您應該可以發現類似下列的資訊:

        SUNW,hme, instance #0 (driver name: hme)
Register Specifications:
Bus Type=0xe, Address=0x8c00000, Size=0x108
Bus Type=0xe, Address=0x8c02000, Size=0x2000
Bus Type=0xe, Address=0x8c04000, Size=0x2000
Bus Type=0xe, Address=0x8c06000, Size=0x2000
Bus Type=0xe, Address=0x8c07000, Size=0x20
SUNW,hme, instance #1 (driver name: hme)
Register Specifications:
Bus Type=0x0, Address=0x8c00000, Size=0x108
Bus Type=0x0, Address=0x8c02000, Size=0x2000
Bus Type=0x0, Address=0x8c04000, Size=0x2000
Bus Type=0x0, Address=0x8c06000, Size=0x2000
Bus Type=0x0, Address=0x8c07000, Size=0x20

前一個範例是來自在 SBus 卡上安裝第二片 100MB NIC 之後的 Ultra 1 工作站。NIC 名稱是具有實例號碼的驅動程式縮寫,而實例號碼是從 0 開始的連續數字,用以計數使用此驅動程式的每個裝置。系統會將前一個產生 prtconf 輸出的裝置識別為 hme0 和 hme1。如果您無法分辨執行硬體的驅動程式,請參閱 NIC 卡的手冊。

ifconfig -a 的結果會顯示網路裝置的目前狀態:

lo0: flags=1000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
inet 192.168.1.100 netmask ffffff00 broadcast 192.168.1.255
ether

之前已配置內建 NIC (實例 #0),而 lo0 是本機迴路位址實例。hme1 未出現,表示它尚未進行初始化和配置。

永久性 IPv4 配置

若要讓系統在啟動時配置我們的 NIC,第一個步驟是取得 IP 位址和子網路遮罩。在我們的例子中,會將這個第二片 NIC 放入與原始 NIC 不同的 IP 範圍中。我們的第一片 NIC 是位於 192.168.1.x 網路,因此將新的 NIC 放入 192.168.2.x 網路。這兩個網路的子網路遮罩都是 255.255.255.0。注意:請一定要確定其他機器尚未使用指定的 IP;作法是針對此網路中已配置的機器使用 ping

接下來,我們會在 /etc/hosts 檔案針對新網路卡新增一行:

192.168.2.100		host2.mydomain.com		host2

現在,我們要在 /etc 中建立名稱為 hostname 的檔案。例如,我們第一片 NIC 的檔案是 /etc/hostname.hme0。而新裝置 hme1 則需要檔案 /etc/hostname.hme1。我們會在此檔案中放入與 IP 關聯的名稱 (與 /etc/hosts 檔案中的相同)。這個名稱應該是 /etc/hosts 檔案中的第一個名稱。在我們的分析藍本中,/etc/hostname.hme1 應該包含:

host2.mydomain.com

然後,我們會針對新的網路編輯 /etc/netmasks 檔案:

192.168.2.0	255.255.255.0

讓系統重新開機,您的網路卡現在已使用正確子網路遮罩配置新網路。您可以再次執行 ifconfig -a 進行檢查:

lo0: flags=1000849 mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
inet 192.168.1.100 netmask ffffff00 broadcast 192.168.1.255
ether
hme1: flags=1000843 mtu 1500 index 3
inet 192.168.2.100 netmask ffffff00 broadcast 192.168.2.255
ether

非永久性 IPv4 配置

若要配置 NIC,而不需重新開機 (先前已安裝硬體),則需要先初始化或激活網路卡:

	ifconfig hme1 plumb

然後再配置裝置:

	ifconfig hme1 192.168.2.100 netmask 255.255.255.0

現在只要讓 NIC 上線即可。

	ifconfig hme1 up

您的網路卡已經啟動並運作了。您仍然需要修改先前的檔案,否則不會在重新開機時配置您的網路卡。

IPv6 配置

幾乎 IPv6 的所有項目都已設計為自動化。因此只需要讓系統知道要使用 IPv6,系統就會處理其餘的事項。若要在啟動時進行配置 (永久性),請執行下列指令:

	touch /etc/hostname6 

若要透過指令行啟用 IPv6 (在系統重新啟動時就會消失),請執行下列指令:

	ifconfig  inet6 plumb
ifconfig inet6 up

疑難排解

下列是網路問題疑難排解的工具集:

/sbin/ifconfig:系統管理員處理 NIC 時的最佳夥伴。使用 /sbin/ifconfig 配置網路卡,可讓您知道系統目前所辨識的卡片和其狀態。您應該一律把這個工具當成疑難排解時採取的第一步。ifconfig -a 會提供所有 NIC 的資訊,包括 IP 位址 (inet)、子網路遮罩 (netmask) 和 MAC 位址 (ether) (如果是以 root 身份執行)。

/usr/sbin/arp:位址解析協定 (ARP) 會使用表格來記錄網際網路與乙太網路轉換資訊 (IP 位址到 MAC 位址)。arp 可讓您檢視此表格,以查看電腦在發生問題時所快取的資訊類型,也可讓您輸入或刪除項目。發生 DNS 問題時,使用帶有 -an 選項的 arp 指令可列出整張表格,而不會將 IP 位址解析為主機名稱。arp 可用來取得回應主機之 NIC 的 MAC 位址。使用方法是針對目標的主機名稱或 IP 位址執行 arparp host.domain.com。然而,這只適用於所輪詢的機器與執行輪詢的機器位在相同網路時。

/bin/netstat:這個十分有用的工具會顯示各種網路相關表格的內容。雖然簡潔的線上手冊是熟悉此工具的最佳方式,但此處的速查表則適用於基本用法:

  • 使用 netstat -a 可以取得連接埠/通訊端資訊。如果您擁有鎖定的網路常駐程式,或您想要知道哪些電腦正在瀏覽您的 Web 伺服器,則這個方法適用於分辨哪些遠端系統連接至哪些連接埠。
  • 大部分管理員會使用 netstat -rn 來檢查目前的系統路由表。因為「IP 對主機名稱」查找的 DNS 查找不是本機服務,因此疑難排解網路問題時幾乎一律應該使用 n 選項。因為「預設」目標是系統的預設路由器或閘道,所以需要重複檢查此項目。
  • 使用 netstat -I (通常用於自製的監視程序檔) 可以顯示每片 NIC 的統計。

/usr/sbin/snoop:顯示本機網路目前正在進行之作業的封包監視工具。適用於尋找造成網路阻塞故障的 NIC,或適用於確保 DHCP 運作正確。配置 NIC 之前,可以執行 snoop 來確認封包的確通過 NIC (即纜線/NIC/交換器連接埠作用中),而且那些封包的 IP 位址與 NIC 的新網路預期 IP 位址一致。請小心使用此工具:如果封包不是針對執行 snoop 的機器,則某些公司的政策會禁止使用擷取封包的網路監視工具。遠端登入機器時,也不建議您使用詳細顯示至螢幕模式執行 snoop。

下一步

網路可以既簡單又複雜。使用任何 UNIX 應用程式的第一個步驟都是參閱線上手冊。接下來,建議您瀏覽 Sun 產品文件站點的線上 Solaris 手冊 (docs.sun.com)。最後,建議您試試看 Sun Managers 郵件收信人清單。


Comments (latest comments first)

Discuss and comment on this resource in the BigAdmin Wiki

Unless otherwise licensed, code in all technical manuals herein (including articles, FAQs, samples) is provided under this License.


BigAdmin