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
/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 位址執行 arp:arp host.domain.com。然而,這只適用於所輪詢的機器與執行輪詢的機器位在相同網路時。
使用 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.