雙網卡的配置——總結性文檔

來源:互聯網
上載者:User

一大早就有朋友在說,linux環境上配置雙網卡,有時得得到ip有時不能得到ip 修改了網卡速率就,現在正常了。但是 也不能同時的使用。

       在網上找了找資料,寫了一個解決方案如下:

一.安裝和配置網路裝置

      在安裝linux時,如果你有網卡,安裝程式將會提示你給出tcp/ip網路的配置參數,如原生 ip地址,預設網關的ip地址,DNS的ip地址等等。

       根據這些配置參數,安裝程式將會自動把網卡(linux系統首先要支援)驅動程式編譯到核心中去,但是我們一定要瞭解載入網路卡驅動程式的過程,那麼在以後改變網卡,使用多個網卡的時候我們就會很容易的操作,網卡的驅動程式是作為模組載入到核心中去的,所有linux支援的網路卡驅動程式都是存放在目錄/lib/modules/(linux版本號碼)/net/ 。
1. 修改/etc/conf.modules 檔案

這個設定檔是載入模組的重要參數檔案,大家先看一個範例檔案
複製內容到剪貼簿
代碼:

#/etc/conf.modules

alias eth0 eepro100

alias eth1 eepro100
這個檔案是一個裝有兩塊inter 82559系列網卡的linux系統中的conf.modules中的內容,alias命令表明以太口(如eth0)所具有的驅動程式的名稱,alias eth0 eepro100說明在零號乙太網路口所要載入的驅動程式是eepro100.o.那麼在使用命令 modprobe eth0的時候,系統將自動將eepro100.o載入到核心中.對於pci的網卡來說,由於系統會自動找到網卡的io地址和中斷號,所以沒有必要在conf.modules中使用選項options來指定網卡的io地址和中斷號.但是對應於ISA網卡,則必須要在conf.modules中指定硬體的io地址或中斷號,如下所示,表明了一塊NE的ISA網卡的conf.modules檔案
複製內容到剪貼簿
代碼:
r8169
alias eth0 ne

options ne io=0x300 irq=5
在修改完conf.modules檔案之後,就可以使用命令來載入模組,例如要插入inter的第二塊網卡。
複製內容到剪貼簿
代碼:
#insmod /lib/modules/2.2.14/net/eepro100.o
這樣就可以在以太口載入模組eepro100.o.同時,還可以使用命令來查看當前載入的模組資訊:
複製內容到剪貼簿
代碼:
[root@ice /etc]# lsmod

Module Size Used by

eepro100 15652 2 (autoclean)
返回結果的含義是當前載入的模組是eepro100,大小是15652個位元組,使用者兩個,方式是自動清除。

2. 修改/etc/lilo.conf檔案

為了在系統初始化中對新加的網卡進行初始化,可以修改lilo.conf檔案.在/etc/lilo.conf檔案中增加如下命令:
複製內容到剪貼簿
代碼:
append="ether=5,0x240,eth0 ether=7,0x300,eth1"
在配置好網卡之後,就應該配置TCP/IP的參數,在一般情況下,在安裝linux系統的同時就會提示你配置網路參數。但是之後如果我們想要修改網路設定,可以使用如下的命令:
複製內容到剪貼簿
代碼:
#ifconfig eth0 ***.***.***.*** netmask ***.***.***.***
在linux系統中我們可以給一塊網卡設定多個ip地址,例如下面的命令:
複製內容到剪貼簿
代碼:
#ifconfig eth0:1 10.1011.218 netmask 255.255.255.192
然後,使用命令#ifconfig -a 就可以看到所有的網路介面的介面;

另外,在/etc/sysconfig/network-scripts目錄下存放著系統關於網路的設定檔,範例如下:
複製內容到剪貼簿
代碼:
ifcfg-eth0* ifdown-post* ifup-aliases* ifup-ppp*
ifcfg-eth1* ifdown-ppp* ifup-ipx* ifup-routes*
ifcfg-lo* ifdown-sl* ifup-plip* ifup-sl*
ifdown@ ifup@ ifup-post* network-functions

ifcfg-eth0是以太口eth0的配置資訊,它的內容如下:

DEVICE="eth0" /*指明網路裝置名稱*/
IPADDR="202.112.13.204" /*指明網路裝置的ip地址*/
NETMASK="255.255.255.192" /*指明網路遮罩*/
NETWORK=202.112.13.192 /*指明網路地址*/
BROADCAST=202.112.13.255 /*指明廣播位址*/
ONBOOT="yes" /*指明在系統啟動時是否啟用網卡*/
BOOTPROTO="none" /*指明是否使用bootp協議*/

3.網域名稱服務 (DNS)的設定檔
(1)/etc/HOSTNAME 在這個檔案中儲存著linux系統的主機名稱和網域名稱.範例檔案

ice.xxxx.cn

這個檔案表明了主機名稱ice,網域名稱是xanet.edu.cn

(2)/etc/hosts和/etc/networks檔案 在網域名稱服務 (DNS)系統中,有著主機表機制,/etc/hosts和/etc/networks就是主機表發展而來在/etc/hosts中存放著你不需要DNS系統查詢而得的主機ip地址和主機名稱的對應,下面是一個範例檔案:

# ip 地址 主機名稱 別名

127.0.0.1 localhosts loopback

202.151.3.81 http://www.xxxx.cn/ www

202.151.3.81 http://www.cnblogs.com/xianqingzh/admin/ftp://ftp.xxxx.cn/ ftp

在/etc/networks 中,存放著網路ip地址和網路名稱的一一對應.它的檔案格式和/etc/hosts是類似的

(3)/etc/resolv.conf 這個檔案是DNS網域名稱解析器的主要設定檔,它的格式十分簡單,每一行由一個主關鍵字組成./etc/resolv.conf的關鍵字主要有:

domain 指明預設的本地區名,
search 指明了一系列尋找主機名稱的時候搜尋的網域名稱列表,
nameserver 指明了在進行網域名稱解析時網域名稱伺服器的ip地址.下面給出一個範例檔案:
#/etc/resolv.conf
domain xxxx.cn
search xxxx.cn
nameserver 202.151.3.81
nameserver 202.151.3.81

(4)/etc/host.conf 在系統中同時存在著DNS網域名稱解析和/etc/hosts的主機表機制時,由檔案/etc/host.conf來說明瞭解析器的查詢順序.範例檔案如下:

#/etc/host.conf

order hosts,bind #解析器查詢順序是檔案/etc/hosts,然後是DNS
multi on #允許主機擁有多個ip地址
nospoof on #禁止ip地址欺騙

 

作業系統 turbolinux 7.0 DataServer

現象:
      1: 每個網卡都可以拼通並且可以互連
      2: 外網訪問不通

整個操作流程:
1: 建立雙網卡
eth0 192.18.2.100
eth1 192.18.3.100 (外網)

gateway 192.18.3.100

測試網卡都通

2: 配置adsl-setup
2: >;>;>; Enter the Ethernet interface connected to the ADSL m
For Solaris, this is likely to be something like /dev/hme0.
For Linux, it will be ethn, where 'n' is a number.
(default eth1):
eth1
4:The firewall choices are:
>;>;>; Choose a type of firewall (0-2): 0

adsl-start可以分配IP地址,可以ping 通網關

3: 設定 ip-forward = 1

4: 執行 iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

5: 執行ping 203.212.6.173網路不通

6:traceroute -d 203.212.6.173 報沒有到主機的路由錯誤

\\\

資料中心該走向開放還是封閉? | IT應用你算老幾?| 免費頂級Unix/Linux系統叢集課程 | IT經理悲劇生活大曝光調查!
gentoo

 

adsl-start 了沒有!
ifconfig 看看有沒有PPP.
 

 

Linux核心來說一般只能檢測到一塊網卡,為了我們能檢測到兩塊以上的網卡,我們就需要配置核心模組了,好在現在的核心,一般將驅動程式將作為模組。即,在核心啟用時,讓模組自動檢測所安裝的Ethernet,如果我們使用的時PCI網卡,這一切動作將由核心自動完成,但是,如果我們使用的是ISA網卡,核心不一定能檢測到你的網卡哦,這時,我們就要手動來設定網卡了,我們需要指定網卡的IO地址,以至於讓模組直接到指定的IO地址去檢測網卡,因此這些資訊我們需要放在/etc/conf.modules檔案中,如下面幾個執行個體供大家參考:  
假設你有兩塊ISA   NE2000網卡,一般設定為非PnP。如果你的網卡是跳線型,你就直接移動你網卡上的跳線頭即可,如果你的網卡是軟跳線(一般為軟跳線),你首先應該用你的網卡驅動盤,在dos下(我使用的是a:setup.exe進行網卡的設定)將這兩塊網卡的IO和IRQ值設定好,而且要檢測通過。  
比如一塊是:IO=0x300,IRQ=10  
另一塊是:IO=0x240,IRQ=3  
而且,這兩種設定,都能正常運行。好了現在我們進入linux,且編輯/etc/conf.modules檔案,內容如下:  
---------------  
alias   eth0   ne  
alias   eth1   ne  
options   ne   io=0x240,0x300  
---------------  
這是什么意思呢?當ne.o模組(該模組位於/lib/modules/2.2.5-15/net目錄中)被核心載入時,該模組知道到那一個IO地址去尋找網卡,注意0x的意思為16進位,一般IO地址都用16進位來表示。  
好了,你的兩塊網卡已經能配置好了,趕快reboot你的linux,注意你的啟用資訊,特別是在進程管理程式init啟用之前的一行,你就可以看到下面的內容:  
-------------  
ne.c:v1.0   9/23/94   Donald   Becker  
NE*000   ethercard   probe   at   0x300:   00   ae   25   01   c7   6b  
eth0:   NE2000   found   at   0x300,using   IRQ   10.  
NE*000   ethercard   probe   at   0x240:   00   00   21   5a   00   07  
eth1:   NE2000   found   at   0x240,using   IRQ   3.  
-------------  
如果你在啟用時錯過了,你可以輸入dmesg   |   more   來看。:-)  
一般來說,大部分的ISA網卡都可以用逗號將兩個IO地址分開,讓模組自動檢測,但是有些網卡就不行,如:3com的ec501.o模組,當該模組被核心載入時只能檢測到一塊網卡,這時你就應該將該模組載入兩次,這樣才能將兩塊網卡都檢測到,如下面的配置模組:  
--------  
alias   eth0   3c501  
alias   eth1   3c501  
options   eth0   -o   3c501-0   io=0x280   irq=5  
options   eth1   -o   3c501-1   io=0x300   irq=7  
--------  
在該例中,-o是指定一個唯一的模組名稱,只有這樣才能模組在核心中載入兩次irq=指定網卡的中斷值。但是如果你用的網卡是兩塊不同的網卡,這時應該怎么辦呢?如下面的例子:  
一塊網卡是:3c503   IO值為:0x350  
另一塊為:   NE2000   IO值為:0x280  
模組的設定檔內容如下:  
----------  
alias   eth0   ne  
alias   eth1   3c503  
options   ne   io=0x280  
options   3c503   io=0x350  
----------  
如果你的網卡為PCI網卡,那就容易多了,你只需要在alias一行將ethN和指定的驅動模組聯絡起來即可,因為基於IO的PCI網卡很容易被檢測到。可用的驅動模組都在下面的目錄下:/lib/modules/ 'uname   -r '/net中,注意uname   -r是指當前你的Linux核心的版本號碼,如2.0.34或2.2.5-15,我的核心為2.2.5-15,這些驅動模組就在/lib/modules/2.2.5-15/net目錄下。一旦你配置好了你的conf.modules檔案,你可以用下面的命令來檢測:  
modprobe   ethN  
dmesg   |   tail  
'N '表示網卡的號碼,如果你將網卡的驅動模組編譯到核心中了,那你就只能檢測到一塊網卡了,因為,linux核心只能預設的只檢測一個網卡。  
一般有兩種方法讓核心在啟用時啟用第二塊、三、四塊網卡。  
上面已經介紹了一種方法,下面介紹另一種方法。該方法是一種傳統的方法,即在核心還沒有模組化的時候。一般是在LILO啟用核心時,加入一些參數,如:  
LILO:   linux   ether=10,0x300,eth0   ether=3,0x240,eth1  
有關LILO啟用參數的詳細資料,請參考BootPrompt-HOWTO。  
為了不在每一次啟用時都鍵入太長的參數,我們可以用append=命令在lilo.conf種配置如:  
append= "ether=10,0x300,eht0   ether=3,0x240,eth1 "  
如果你是在dos系統下的loadlin.exe來啟用你的Linux的,就看下面的例子:  
loadlin   zImage   root=/dev/hdb1   ro   ether=10,0x300,eht0   ether=3,0x240,eth1  
在linux下安裝2塊以上的網卡一般就這兩種常用的方法,但是還有一種,這種方法不推薦該方法是直接編輯Space.c檔案,將0xffe0改為0x0,0xffe0表示不檢測裝置,改為0後,即自動檢測裝置。

資料中心該走向開放還是封閉? | IT應用你算老幾?| 免費頂級Unix/Linux系統叢集課程 | IT經理悲劇生活大曝光調查!
lobster

你最好找一下關於linux下adsl的配置指南。

首先,你的eth1不用啟動,不用設定ip和路由,最好是
檔案 /etc/sysconfig/network-scripts/ifcfg-eth1內容:

DEVICE=eth1
BOOTPROTO=none
IPADDR=
ONBOOT=no
TYPE=Ethernet

因為,這塊網卡不是作網卡給你用的,只是插了一條線到adsl  modem而已。應該有adsl來管理,你就當它不存在吧。

同樣,也是最重要的

QUOTE:
4: 執行 iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

裡的不應該是 -o eth1  而是  ppp0(如果你的adsl正常啟動的話)

對你來說,eth0是內網介面,ppp0是外網介面,而不是eth1(你就別當它是網卡了吧;))

 

查看網卡的屬性:ethtool -g eth0

二、在Linux中查看硬體資訊的工具;

在Linux 中,並不是沒有工具可以查看硬體的晶片資訊,應該說Linux的工具能把硬體資訊查看的更清楚;下面介紹幾個常用的工具;我們最常用的工具還是lspci ;其它的工具只是瞭解一下;
1、lspci 列出所有PCI 裝置;
lspci - list all PCI devices ,主要是有來列出機器中的PCI 裝置,比如音效卡、顯卡、貓、網卡等,主板整合裝置也能列出來;lspci 是讀取 hwdata 資料庫,hwdata 由軟體包 hwdata 提供;

LINUX雙網卡綁定一個IP步驟
時間:2009-09-17 10:26來源: 作者: 點擊:次
專業的Linux技術網站,使用者遍布全國各地,擁有大批的Linux專家與工程師,彙集海量Linux資訊,是中國Linux人的網上家園。
(責任編輯:億騰科技)
原創出自:黑蟲Linux空間

1.建立/etc/sysconfig/network-scripts/ifcfg-bond0檔案
DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
IPADDR=192.168.128.225
NETMASK=255.255.255.224
GATEWAY=192.168.128.233
USERCTL=no

2.更改/etc/sysconfig/network-scripts/ifcfg-eth0網卡屬性
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
USERCTL=no

3.更改/etc/sysconfig/network-scripts/ifcfg-eth1網卡的屬性
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
USERCTL=no

4.編輯/etc/modprobe.conf檔案,加入以下內容
alias bond0 bonding
options bond0 miimon=100 mode=0

5.加入/etc/rc.d/rc.local啟動項
ifenslave bond0 eth0 eth1

6.啟動網卡
ifconfig bond0 192.168.128.225 up
ifenslave bond0 eth0 eth1

注:完成以上步驟一定要重啟電腦,由於bonding需要載入驅動,本環境在CentOS4.5測試通過.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.