linux下brctl配置網橋

原文:http://zhumeng8337797.blog.163.com/blog/static/1007689142011643834429/html

先裝好網卡,連上網線,這是廢話,不用說了。 而後開始! 設置linux讓網橋運行    配置網橋 咱們須要讓linux知道網橋,首先告訴它,咱們想要一個虛擬的以太網橋接口:(這將在主機bridge上執行,不清楚的看看測試場景) root@bridge:~> brctl addbr br0 其次,咱們不須要STP(生成樹協議)等。由於咱們只有一個路由器,是絕對不可能造成一個環的。咱們能夠關閉這個功能。(這樣也能夠減小網絡環境的數據包污染): root@bridge:~> brctl stp br0 off 通過這些準備工做後,咱們終於能夠作一些立竿見影的事了。咱們添加兩個(或更多)以太網物理接口,意思是:咱們將他們附加到剛生成的邏輯(虛擬)網橋接口br0上。 root@bridge:~> brctl addif br0 eth0 root@bridge:~> brctl addif br0 eth1 如今,原來咱們的兩個以太網物理接口變成了網橋上的兩個邏輯端口。那兩個物理接口過去存在,將來也不會消失。要不信的話,去看看好了。 .如今他們成了邏輯網橋設備的一部分了,因此再也不須要IP地址。下面咱們將這些IP地址釋放掉 root@bridge:~> ifconfig eth0 down root@bridge:~> ifconfig eth1 down root@bridge:~> ifconfig eth0 0.0.0.0 up root@bridge:~> ifconfig eth1 0.0.0.0 up 好了!咱們如今有了一個任何IP地址都沒有的box w/o了。 好了,這下若是你想經過TP配置你的防火牆或路由器的話,你就只能經過本地的控制端口了。你不會告訴我你的機器上連串行端口都沒有吧? 注:上面紅色部分實際上是可選的,在試驗中,我發現,就算不把原有的網卡地址釋放掉,網橋也能工做!可是,爲了更規範,或者說爲了不有什幺莫名其妙的問題,最好仍是按要求作,執行這四步吧! 最後,啓用網橋 root@bridge:~> ifconfig br0 up 可選:    咱們給這個新的橋接口分配一個IP地址 root@bridge:~> ifconfig br0 10.0.3.129 或者把最後這兩步合成一步: root@bridge:~> ifconfig br0 10.0.3.129 up 就是多一個up! 這下咱們作完了 。linux

關閉網橋命令數據庫

     brctl delif ena eth1;      brctl delif ena eth0;      ifconfig ena down;      brctl delbr ena;網絡

ALinux網橋的實現分析與使用

 

1、什麼是橋接工具

 
       橋接工做在OSI網絡參考模型的第二層數據鏈路層,是一種以MAC地址來做爲判斷依據來將網絡劃分紅兩個不一樣物理段的技術,其被普遍應用於早期的計算機網絡當中。
       咱們都知道,以太網是一種共享網絡傳輸介質的技術,在這種技術下,若是一臺計算機發送數據的時候,在同一物理網絡介質上的計算機都須要接收,在接收後分析目的MAC地址,若是是屬於目的MAC地址和本身的MAC地址相同便進行封裝提供給網絡層,若是目的MAC地址不是本身的MAC地址,那麼就丟棄數據包。
       橋接的工做機制是將物理網絡段(也就是常說的衝突域)進行分隔,根據MAC地址來判斷鏈接兩個物理網段的計算機的數據包發送。
下面,咱們舉個例子來爲各位網友講解:在下圖中的網絡結構中,有兩臺集線器分別鏈接多臺計算機,咱們分別將A集線器和B集線器定爲A衝突域和B衝突域。在這樣的網絡環境中,若是計算機A向計算機C發送數據包時,集線器A會將數據包在整個網絡中的所有計算機(包括集線器B)發送一遍,而無論這些數據包是否是須要發送到另外一臺區域B。
 
圖1
 
       咱們再將集線器A和集線器B分別鏈接到網橋的兩個端口上,若是計算機A再向計算機C發送數據包時會遇到什麼樣的狀況呢?這時集線器A也是一樣會將數據包在全網發送,當到達網橋後,網橋會進行數據包目的MAC地址的分析,而後對比本身學習到的MAC地址表,若是這個表中沒有此MAC地址,網橋便會在兩個網段上的發送數據包,同時會將計算機A的MAC地址記錄在本身的表當中。
       通過屢次這樣的記錄,網橋會將全部的MAC地址記錄,並劃分爲兩個段。這時計算機A再次發送數據包給B的時候,由於這兩臺計算機同處在一個物理段位上,數據包到達網橋時,網橋會將目的MAC地址和本身的表進行對比,而且判斷計算機A和計算機B在同一個段位上,便不會轉發到區域B當中,而若是不在同一個物理段當中,網橋便會容許數據包經過網橋。
       經過以上的例子咱們瞭解到,網橋其實是一種控制衝突域流量的設備。網橋如今基本上已經不多用到了,除了隔離衝突域之外,網橋還能夠實現不一樣O類型網絡的鏈接(令牌環網和以太網之間的鏈接)和網絡的擴展(IEEE的5.4.3鏈接規則)等等功能。
2、什麼是交換
       交換一樣工做在OSI網絡參考模型的第二層數據鏈路層,也是一種以MAC地址來做爲判斷依據來將網絡劃分紅兩個不一樣段的技術,不一樣的是交換將物理網段劃分到每個端口當中,簡單的理解就是一種多端口的網橋,它其實是一種橋接技術的延伸。
       在前面的瞭解當中,咱們已經知道橋接是鏈接兩個不一樣的物理網段(衝突域)的技術,交換是鏈接多個物理網段技術,典型的交換機一般都有多個端口,每一個端口實際上就是一個網橋,當鏈接到交換機端口的計算機要發送數據包時,全部的端口都會判斷這個數據包是不是發給本身的,若是不是就將其丟棄,這樣就將衝突域的概念擴展到每一個交換機端口上。
       咱們仍是舉例爲你們說明,在下面的圖中,咱們能夠看到計算機A、B分別鏈接到交換機的不一樣端口當中,當計算機A向B發送數據包時,假設這時A端口並無學習到B端口的MAC地址,這時,A端口便會使用廣播將數據包發送到除A端口之外的全部端口(廣播域),當其餘計算機接收到數據包後會與本身的MAC地址進行對比,而後簡單的丟棄數據包;當B接收到數據包後,經過對比後接收數據包,而且記錄源地址。經過反覆這樣的學習,交換機會構建一個基於全部端口的轉發數據庫,存儲在交換機的內容可尋址存儲器當中(CAM)。
 
圖1
 
       在交換機學習到全部端口的信息後,計算機A再次發送數據包給B時,就再也不廣播地址,而是直接發送到轉發數據庫中所對應的B端口。經過這樣的學習,在交換機上實現了微分段,每一個鏈接到交換機端口的計算機均可以獨享帶寬。
3、什麼是路由
       路由工做在OSI參考模型的第三層網絡層當中,它是基於第三層的IP地址信息來做爲判斷依據來將網絡劃分紅不一樣段(IP子網)的技術,與橋接和交換不一樣,路由劃分的是獨立的邏輯網段,每一個所鏈接的網段都具備獨立的網絡IP地址信息,而不是以MAC地址做爲判斷路徑的依據,這樣路由便有隔離廣播的能力;而交換和橋接是劃分物理網段,它們僅僅是將物理傳輸介質進行分段處理。同時路由具有路徑選擇的功能,會根據不一樣的目的IP地址來分析到達目的地最合適的路徑。
       在下圖中,咱們看到路由器所鏈接了三臺交換機,這三臺交換機分別被劃分爲三個不一樣的子網地址段:192.168.0.0、192.168.1.0、192.168.3.0。當計算機A向B發送數據包時,在不知道到達B的路徑時,交換機A會將數據包在本身所在的段上全網廣播,當到達路由器中,路由器便不會再廣播這個數據包,它根據路由協議的規則來判斷到達B應該選擇將其轉發到那個段上,這時便會將數據包轉發到對應的IP地址段當中,而不廣播到不須要這個數據包的C網段當中。若是路由器中沒有規則定義到達目的IP地址的路徑時,它會直接丟棄這個數據包。
 
圖3
       路由器主要有路徑選擇和數據轉發兩個基本功能,但在不少場景下,路由器通常都承擔着網關的角色。在國內,咱們一般都是採用PPPOE撥號或者靜態路由兩種方式實現局域網共享上網。這時,路由器主要的功能是實現局域網和廣域網之間的協議轉換,這一樣也是網關的主要用途。
4、三者之間的區別
一、位於參考模型的層數不一樣
       在開放系統互聯參考模型當中,網橋和交換機都是位於參考模型的第二層-數據鏈路層,而路由器則位於更高一層-網絡層。
二、基於的路徑判斷條件不一樣
       因爲位於OSI參考模型的層數不一樣,因此使交換機、網關這兩種設備判斷路徑的條件也不相同,網橋和交換機是根據端口的MAC地址來判斷數據包轉發,而路由器則使用IP地址來進行判斷。
三、控制廣播的能力不一樣
       網橋和交換機(三層交換機或支持VLAN功能的除外)這兩種設備是沒法控制網絡的廣播,若是有廣播數據包,就會向全部的端口轉發,因此在大的網絡環境當中,必須得要有路由器來控制網絡廣播。
四、智能化程度不一樣
       在判斷數據的時候,網橋只能判斷是否在同一個物理網段,交換機則能夠判斷數據包是屬於那個端口,可是這兩種設備都沒有選擇最優路徑的能力,而路由器基於IP地址判斷路徑,因此會根據IP地址信息來判斷到達目的地的最優路徑。
 
5、三者的不一樣應用場景及將來發展
       在現實的應用環境當中,網橋已經基本上不會被使用了,在中小型的局域網當中,最經常使用到的組網設備即是交換機,是否選擇路由器會根據網絡的規模和功能來決定,在大型網絡中,路由器是必須的,用來控制廣播,可是因爲技術的不斷延伸,交換機也被集成了基於IP地址判斷路徑及控制廣播的功能,因此,路由器如今逐步在被可路由式交換機所取代。
       前面提到,路由器在不少場景下都是被用過網關,因此,隨着寬帶技術的迅速發展,在最末一千米,一種新興的設備-寬帶路由器將會逐步取代傳統路由器來實現網絡的接入功能。
       相信經過上面的介紹,你們對於網橋、交換、路由及網關的功能有了更清晰的瞭解!

3、   brctl 的使用方法

有五臺主機。其中一臺主機裝有linux ,安裝了網橋模塊,並且有四塊物理網卡,分別鏈接同一網段的其餘主機。咱們但願其成爲一個網橋,爲其餘四臺主機(IP 分別爲192.168.1.2,192.168.1.3 ,192.168.1.4 ,192.168.1.5) 之間轉發數據包。同時,爲了方便管理,但願網橋可以有一個IP (192.168.1.1 ),那樣管理員就能夠在192.168.1.0/24 網段內的主機 上telnet 到網橋,對其進行配置,實現遠程管理。學習

前一節中提到,網橋在同一個邏輯網段轉發數據包。針對上面的拓撲,這個邏輯網段就是192.168.1.0/24 網段。咱們爲這個邏輯網段一個名稱,br0 。首先須要配置這樣一個邏輯網段。測試

# brctl addbr br0 ( 創建一個邏輯網段,名稱爲br0)spa

 

# brctl delbr br0計算機網絡

實際上,咱們能夠把邏輯網段192.168.1.0/24 看做使一個VLAN ,而br0 則是這個VLAN 的名稱。3d

創建一個邏輯網段以後,咱們還須要爲這個網段分配特定的端口。在Linux 中,一個端口實際上就是一個物理網卡。而每一個物理網卡的名稱則分別爲eth0 ,eth1 ,eth2 ,eth3 。咱們須要把每一個網卡一一和br0 這個網段聯繫起來,做爲br0 中的一個端口。

 

# brctl addif br0 eth0      (讓eth0 成爲br0 的一個端口)

# brctl addif br0 eth1                ( 讓eth1 成爲br0 的一個端口)

# brctl addif br0 eth0                ( 讓eth2 成爲br0 的一個端口)

# brctl addif br0 eth3                ( 讓eth3 成爲br0 的一個端口)

 

# brctl delif br0 eth0

網橋的每一個物理網卡做爲一個端口,運行於混雜模式,並且是在鏈路層工做,因此就不須要IP了。

 

 

# ifconfig eth0 0.0.0.0

# ifconfig eth1 0.0.0.0

# ifconfig eth2 0.0.0.0

# ifconfig eth3 0.0.0.0

# ip addr add 127.0.0.1/8 dev lo brd +

ip 是iproute2 軟件包裏面的一個強大的網絡配置工具,它可以替代一些傳統的網絡管理工具。例如:ifconfig 、route 等。這個手冊將分章節介紹ip 命令及其選項。) 

而後給br0 的虛擬網卡配置IP :192.168.1.1 。那樣就能遠程管理網橋。

 

# ifconfig br0 192.168.1.1

 

 

br0 配置了IP 以後,網橋就可以工做了。192.168.1.0/24 網段內的主機均可以telnet 到網橋上對其進行配置。

以上配置的是一個邏輯網段,實際上Linux 網橋也能配置成多個邏輯網段( 至關於交換機中劃分多個VLAN) 。 

4、   brctl 命令詳細分析

增長橋接過程

 ( 1 ) # brctl addbr br0 ( 2 ) # brctl addif br0 eth0   ( 3 ) #   ip addr add 172.16.12.43/8 dev br0 brd + ( 4 ) #   ifconfig br0 up

刪除橋接過程

( 1 ) ip addr del 172.16.12.43/8 dev br0 brd +

( 2 ) ifconfig br0 down  

( 3 ) brctl delif br0 eth0

( 4 ) brctl delbr br0

相關文章
相關標籤/搜索