歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> 如何才能讓Linux運行兩塊以太網卡?

如何才能讓Linux運行兩塊以太網卡?

日期:2017/3/6 15:44:49   编辑:關於Unix
這個問題的答案取決於驅動程序是否被用做可載入的模塊或者直接編譯進了內核。大多數 Linux 發行版本現在都使用模塊化的驅動程序。這樣就不用發行許多內核,每種內核設置一個不同的內建驅動程序。使用一個單 一的基本內核,如果特定用戶系統需要,一旦系統啟 這個問題的答案取決於驅動程序是否被用做可載入的模塊或者直接編譯進 了內核。大多數Linux發行版本現在都使用模塊化的驅動程序。這樣就不用 發行許多內核,每種內核設置一個不同的內建驅動程序。使用一個單
一的 基本內核,如果特定用戶系統需要,一旦系統啟動,就可以從驅動程序模 塊文件(通常存放在/lib/modules/)
中載入個別的驅動程序。

方法一,把驅動程序作為模塊使用: 對於PCI驅動程序,模塊通常會自動檢測該品牌類型所有安裝的網卡。
但對於ISA網卡,探尋一個網卡是不安全的操作,因此你需要提供網卡的I/O地址以便模塊知道去哪裡查找。這一信息
存儲在文件 /etc/conf.modules中。

假設用戶有一塊在0x350的3c503網卡和一塊在 0x280的SMC Elite16 (wd8013)網卡。則應該這樣:

alias eth0 wd
alias eth1 3c503
options wd io=0x280
options 3c503 io=0x350

對於PCI網卡,只要用alias語句把ethN接口和相應的驅動程序 名聯系起來就行了,因為PCI網卡的I/O地址
可以被安全地檢測到。

可用的模塊一般存放在/lib/modules/`uname -r`.net下,這裡 uname -r命令可以得到內核的版本(比如
2.0.34)。你可以在這裡看 看哪一個驅動程序適合你的網卡。一旦你在conf.modules文件裡進行了正確的設置,就
可以用下面的方法檢查一下:

modprobe ethN
dmesg | tail

這裡“N”是你要檢測的以太網卡的接口號。

方法二,使用編譯進內核的驅動程序: 如果你需要的驅動程序編譯進了內核,那麼處理多塊以太網卡的接口已經存在了。但缺省情況下只自動檢測一塊以太網卡。這樣就避免了啟動 時檢測敏感網卡可能引起的麻煩。

(注意:在2.1.x之後的內核中,啟動檢測被分為安全和不安全的兩類,所 有安全的檢測(如對PCI和EISA網卡)可以自動找到所有相關的網卡。在至少有一塊ISA網卡的多網卡系統中還需要進行以下的處理。)

如何啟動對第二塊(或第三塊等等)網卡的自動檢測。最簡單的方法是向內核傳遞啟動參數,由LILO完成。
使用ether=0,0,eth1這 樣簡單的啟動參數就可以完成對第二塊網卡的檢測。此時按照啟動時找到的網卡順序分配eth0和eth1。假如你想讓0x300處的網卡為eth0,而0x280處的網卡為eth1,那麼可以使用

LILO: linux ether=5,0x300,eth0 ether=15,0x280,eth1

Copyright © Linux教程網 All Rights Reserved