天天看點

Ubuntu雙網卡驅動配置

    在師兄們的張羅下,教研室配了兩台伺服器,然後需要各種部署,師兄就叫我幫忙打雜(但是我也對Linux技術性的東西知之甚少)。因為每台伺服器有兩片以太網卡,有一台伺服器又裝了Windows Server和Ubuntu Server雙系統;在Ubuntu下,貌似隻有一片網卡被正常驅動,問題就出來了:怎樣令雙網卡同時工作?使得一片網卡接入一個子網,另一片接入另一個子網。

    網卡型号:Intel   82574/9 千兆以太網控制器

    作業系統:Ubuntu  Server 10.04

    到官方去下了對應網卡驅動的.tar.gz包(比如我們的是e1000e-2.0.0.tar.gz)到某個目錄(比如/home/guest)下,然後根據官方自述檔案,裡面有安裝指導。

    1. 打開終端(Ctrl + Alt + T),進入驅動包目錄/home/guest ,解壓:tar zxf e1000e-2.0.0.tar.gz

    2. 再進入解壓後的驅動源檔案目錄:cd /e1000e-2.0.0/src/

    3. 編譯驅動源檔案:sudo make install,完成編譯後會在目錄下産生一個名為e1000e.ko的子產品檔案(貌似也有可能不在目前目錄下?可能是/lib/modules/<KERNEL VERSION>/kernel/drivers/net/e1000e/e1000e.ko)

    4. 根據官方自述檔案,對基于2.6核心的Linux系統,需要確定舊的e1000e驅動已從核心中移除(沒有移除會怎麼樣呢?我不曉得,反正今天被弄暈了),是以我們執行:

        rmmod e1000e

    哦,醬紫恐怕不得行,那麼就換成全路徑的嗎?如下:

        rmmod /lib/modules /<KERNEL VERSION>/kernel/drivers/net/ethernet/e1000e/e1000e.ko

    5. 然後我們才加載我們新編譯的驅動子產品:

        #拷貝過去先

        mv  e1000e.ko /lib/modules /<KERNELVERSION>/kernel/drivers/net/ethernet/e1000e/e1000e.ko

        #加載吧

        insmod /lib/modules/<KERNEL VERSION>/kernel/drivers/net/ethernet/e1000e/e1000e.ko

    6. 好了,通過終端下執行以下指令重新開機網絡

        /etc/init.d/networking restart

    7. 為新裝的以太網卡指定ip位址吧(原有一個eth0,是以下面就是eth1?)

        ifconfig eth1  192.168.x.x

    8. 然後就好了吧,運作ifconfig,OK,eth0 和eth1,都有了,貌似是搞定了的樣子,我也以為是,很happy地重新開機,喔吼,又沒了,裝好的驅動呢?于是胡亂又裝一遍驅動,重複以上過程,又對了,重新開機,又死翹翹了。。。哦,然則:重新開機就失效?!

    于是繼續焦頭爛額,衆裡尋他千百度。。。。。。終于在偉大的網海裡面找到眉目,但是各種紛繁各種複雜,搞不明白,慚愧啊慚愧啊,慚愧的同時,還是要辦事啊,解決問題啊,就隻好用“笨方法”咯——把移除舊子產品/加載新子產品/重新開機網絡的指令寫入啟動腳本~~通過終端打開主機啟動配置檔案:

        sudo gedit /etc/rc.local

        #在其中加入以下指令(應該要加在“exit 0”之前吧?)

        rmmod /lib/modules/2.6.32-21-server/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko

        insmod /lib/modules/2.6.32-21-server/kernel/drivers/net/ethernet/intel/e1000e/e1000e.ko

        /etc/init.d/networking restart

    這下好了,真的好了,雖然笨了點,總算:整個世界清靜了。