網卡的安裝思路(2) 還有另一種方法,這種方法比較簡單,但是需要有X-windows的支持。(注意,首先在windows 9x下到系統設備中看一下“網絡適配器”的IO Address和IRQ。)有些網卡在Setup成jumpless後無法在windows 9x 中正常工作,那麼只能進入Setup程序中查看一下了。 有許多種網卡的配置的方法。這裡介紹最容易的一種kernelcfg。kernelcfg是Redhat自帶的核心模塊配置工具,是一個在X-windows下非常方便的圖形界面的配置工具。 而且在其他版本中也有類似的工具。在X-windows的xterm中輸入"kernelcfg"。讀者可以看到屏幕上彈出一個"kernel Configurtor"的框。如果內核還沒有找了你的網卡的話,框裡面是沒有關於網卡的描述的。在左下角的"add"點擊一下,然後在彈出的界面中的Module Type按鈕中選擇模塊類型為eth。表明這是一塊以太網卡,而不是聲卡,或其他的一些硬件設備。 然後選擇OK後,就可以在以後的界面中選擇合適的網卡模塊了。如果配置第一塊網卡,則在“Which module type”中選擇eth0;如果是第二塊那麼就選擇eth1,以此類推。在"which module"中需要選擇的網卡的具體類型,對於D-Link DE220的卡來講,只要在其中選擇單元“ne”就可能了。注意,之後還需要填寫有關於網卡的一些配置參數,這裡需要的參數就是在Setup中設jumpless後,網卡的I/O地址和IRQ。這些工作完成以後,網卡就可以驅動了。系統每次啟動時,都會自動定位網卡的位置和型號。但是並不是每塊卡可以通過的。如果你使用LILO引導系統,那麼就可以在lilo.conf文件中使用附加的命令語句將設備參數傳遞給核心。對於以太網卡可以使用: ether=irq,base_addr,param1,param2,name 前四個參數是用數字,最後一個參數是設備的名稱。所有的數字變量都可以自由選擇,如果用戶忽略或是設置成0,那麼核心會自動檢測該設備的參數變量或使用默認值。第一個參數代表分配給設備的中斷請求通道,默認情況下核心會自動檢測設備的IRQ通道。第二個參數變量base_addr用來指定設備的基本I/O地址。同樣,如果這裡是0,就意味著核心會自動檢測該設備的I/O地址;剩下的兩個參數變量param1和param2對於不同的設備有不同的含義。對於共享內存的網卡,它們用來定義共享內存區域的起始點和結束點。對於其他網卡來說,它們使用param1來設置信息的調試等級,數字1到7代表調試等級逐漸增加,而數字8表示關閉信息調試,0表示使用默認值。 如果用戶有兩塊網卡,那麼其中一塊可以讓Linux在啟動時自動檢測而另一塊則通過lilo將其參數傳遞給核心。但是,您必須確保通過lilo傳遞參數的那塊網卡不會在系統啟動時被“偶然”檢測到,否則第一塊網卡就檢測不到了。為此,可以在lilo.conf中使用reserve命令。這條命令語句明確地告訴核心不自動檢測第二塊網卡。例如,為了安裝I/O地址是0x300的第二塊網卡eth1,可以在lilo.conf中加上下面這一條語句: reserve=0x300,32 eth1=0,0x300,eth1 使用rserve命令語句就可以保證核心在系統啟動檢測其他硬件時不會檢測分配給第二塊網卡的I/O地址。用戶可以使用這條語句來覆蓋自動檢測的第一塊網卡: reserve=0x340,32 eth1=0,0x340,eth0 如果要關閉自動檢測功能,可以將base_argiment參數變量定義為-1,如: ether=0,-1,etn0 接下來是網卡接口的配置,可以ifconfig命令來配置TCP/IP網絡。它可以使Linux核心知道軟件回送這樣一些網絡接口,但這些網絡接口被激活以後,核心就可以使用它們發送和接收數據報。我們需要在自己的機器上設置好幾個接口,包括回送接口lo和以太網接口(或者所有使用的其他網絡接口)。ifconfig命令可以激活每一個網絡接口。 ifconfig命令最常用的格式是: #ifconfig interface_type IP_Address 這裡interface_type是接口設備的驅動器名,如回送接口lo,ppp接口PPP和以太網接口eth等。IP_Address是分配給接口設備的IP地址。運行了ifconfig之後,相應接口會被激活。先配置回送接口loopback位於網絡上的每一台主機都應該有一個回送接口,所有系統中回送接口的IP地址都是127.0.0.1。通常Linux系統的回送接口在安裝時就已經自動設置好了,並且使用虛擬主機名localhost來代表地址127.0.0.1。如果在/etc/hosts文件中可以找到下面這一項。 #Sample /etc/hosts entry for localhost 127.0.0.1 localhost 那麼說明回送接口已經配置好了,如果不存在,則可以使用vi編輯器添加。 當hosts文件中沒有回送接口這一項時,還需要使用ifconfig命令來產生回送接口: #ifconfig 127.0.0.1 之後我們還可以使用ifconfig命令來顯示回送接口的所有信息以確認配置是否生效: $ifconfig lo lo Link encap Local Loopback inet addr 127.0.0.1 Bcast[NONE SET] Mask 255.0.0.0 UP BROADCAST LOOPBACK RUNNING MTU 2000 METRIC 1 RX packets 0 errors 0 dropped 0 overrun 0 TX packets 0 errors 0 dropped 0 overrun 可看到回送接口的掩碼是255.0.0.0,這是因為回送地址127.0.0.1本身是一個A類地址:此外回送接口也沒有設置廣播地址,廣播地址對於回送接口來說意義不是很大,但是如果想運行rwhod守護進程的話,就必須設置回送設備的廣播地址以便rwho命令可以正常工作。如何設置廣播地址將在本章第三節中介紹。現在還需要使用下面兩條命令中的任意一個將回送設備添加到核心路由表中: #route add 127.0.0.1 #route add localhost 我們可以使用一些命令來檢查剛才配置的回送網絡是否正常工作,檢查網絡狀態的命令很多,如ifconfig、arp、netstat等,這裡使用ping命令。ping命令可以指出一台主機是否可以到達,還可以顯示分組報文丟失和傳輸時間等統計資料等等。然後你可以使用 #ping localhost 如果顯示 PING localhost(127.0.0.1):56 data bytes 64 bytes from 127.0.0.1:icmp seq=0 ttl=32 time=1ms ...... 那麼你就將回送接口配置好了。 然後就可以配置以太網接口,這其實與配置回送接口非常相似:使用ifconfig命令配置接口設備,然後將遠程網絡的主機路由添加到核心路由表中,配置工作完成後也使用ping命令檢查網絡是否暢通。只是如果有子網存在的話,還需要更多的配置參數。 首先,使用ifconfig命令設置以太網接口。在B類網絡Vtriual Breway中定義了兩個C類子網。為了讓接口設備可以識別他們,需要安下面的格式使用ifconfig命令: #ifconfig eth0 vstout netmask 255.255.255.0 這條命令將把主機的IP地址分配給了以太網接口eth0。如果忽略了掩碼,ifconfig命令將從IP網絡的級別中自動推測出掩碼值,這樣會將掩碼指定為255.255.0.0。 現在可以用下面的命令來檢查以太網接口的工作狀況。 #ifconfig eth0 eth0 Link encap 10Mps Ethernet HWaddr 00:00:C0:90:B3:44 inet addr xxx.xxx.xxx.xxx Bcast xxx.xxx.xxx.255 Mask 255.255.255.0 UP BROADCAST RUNNING MTU 1500 Metric 1 RX packets 0 errors 0 dropped 0 overrun 0 TX packets 0 errors 0 dropped 0 overrun 0 從輸出結果可以看到Linxu依照主機的IP地址自動地為eth0設置廣播地址xxx.xxx.xxx.255,這個地址是主機IP地址的網絡號加上將所有主機位位置為1而得到的。信息傳送單元(MTU)被設置成了最大值1500bit。在下文,您將看到所有這些數值都可以使用特殊的命令進行修改。