Linux 網橋配置命令:brctl
Linux閘道器模式下將有線LAN和無線LAN共享網段實現區域網內互聯:
brctl addbr bridge
brctl addif bridge eth0
brctl addif bridge ath0
ifconfig eth0 0.0.0.0
ifconfig bridge 10.0.0.1 netmask 255.255.255.0 up
新增iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 192.168.2.173
將有線和無線都設定為10.0.0.*網段,即可通過網路上的芳鄰進行訪問
當然了,要是Linux可以工作在網橋模式,必須安裝網橋工具bridge-utils,執行命令:
yum install bridge-utils
或者下載bridge-utils-1.4.tar.gz進行安裝,步驟如下:
編譯安裝bridge-utils
(1)進入到/usr/src 目錄下,下載bridge-utils-1.4.tar.gz :
#cd /usr/src
#wget http://launchpad.net/bridgeutils/
main/1.4/+download/bridge-utils-
1.4.tar.gz
(2)解壓縮:
#tar zxvf bridge-utils-1.4.tar.gz
進入bridge-utils-1.4目錄:
#cd bridge-utils-1.4
(3)編譯安裝:
#autoconf
生成configure檔案:
#./configure
#make
#make install
編譯安裝完成。最後將命令brctl複製到/sbin下:
#cp/usr/local/sbin/brctl/sbin
=========================================================================
下面是參考的一片文章:
有五臺主機。其中一臺主機裝有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)
實際上,我們可以把邏輯網段192.168.1.0/24看作使一個VLAN ,而br0則是這個VLAN的名稱。
建立一個邏輯網段之後,我們還需要為這個網段分配特定的埠。在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的一個埠)
網橋的每個物理網路卡作為一個埠,執行於混雜模式,而且是在鏈路層工作,所以就不需要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
然後給br0的虛擬網路卡配置IP:192.168.1.1。那樣就能遠端管理網橋。
# ifconfig br0 192.168.1.1
給br0配置了IP之後,網橋就能夠工作了。192.168.1.0/24網段內的主機都可以telnet到網橋上對其進行配置。
以上配置的是一個邏輯網段,實際上Linux網橋也能配置成多個邏輯網段(相當於交換機中劃分多個VLAN)。
另外一篇有助理解的文章:http://www.2cto.com/os/201202/118320.html
=====================================================================
[root@xenserver ~]# brctl --help
Usage: brctl [commands]
commands:
addbr <bridge> add bridge
delbr <bridge> delete bridge
addif <bridge> <device> add interface to bridge
delif <bridge> <device> delete interface from bridge
setageing <bridge> <time> set ageing time
setbridgeprio <bridge> <prio> set bridge priority
setfd <bridge> <time> set bridge forward delay
sethello <bridge> <time> set hello time
setmaxage <bridge> <time> set max message age
setpathcost <bridge> <port> <cost> set path cost
setportprio <bridge> <port> <prio> set port priority
show show a list of bridges
showmacs <bridge> show a list of mac addrs
showstp <bridge> show bridge stp info
stp <bridge> {on|off} turn stp on/off
====================================================================
addbr bridge的名稱 #新增bridge;
delbr bridge的名稱 #刪除bridge;
addif bridge的名稱device的名稱#新增介面到bridge;
delif bridge的名稱device的名稱#從bridge中刪除介面
setageing bridge的名稱時間 #設定老化時間,即生存週期
setbridgeprio bridge的名稱 優先順序#設定bridge的優先順序
setfd bridge的名稱時間 #設定bridge轉發延遲時間
sethello bridge的名稱時間 #設定hello時間
setmaxage bridge的名稱時間 #設定訊息的最大生命週期
setpathcost bridge的名稱 埠 權重#設定路徑的權值
setportprio bridge的名稱 埠 優先順序#設定埠的優先順序
show #顯示bridge列表
showmacs bridge的名稱 #顯示MAC地址
showstp bridge的名稱 #顯示bridge的stp資訊
stp bridge的名稱{on|off} #開/關stp
設定linux讓網橋執行 配置網橋
1.我們需要讓linux知道網橋,首先告訴它,我們想要一個虛擬的乙太網橋介面:(這將在主機bridge上執行,不清楚的看看測試場景)
root@bridge:~> brctl addbr br0
2.其次,我們不需要STP(生成樹協議)等。因為我們只有一個路由器,是絕對不可能形成一個環的。我們可以關閉這個功能。(這樣也可以減少網路環境的資料包汙染):
root@bridge:~> brctl stp br0 off
3.經過這些準備工作後,我們終於可以做一些立竿見影的事了。我們新增兩個(或更多)乙太網物理介面,意思是:我們將他們附加到剛生成的邏輯(虛擬)網橋介面br0上。
root@bridge:~> brctl addif br0 eth0
root@bridge:~> brctl addif br0 eth1
4.現在,原來我們的兩個乙太網物理介面變成了網橋上的兩個邏輯埠。那兩個物理介面過去存在,未來也不會消失。要不信的話,去看看好了。.現在他們成了邏輯網橋裝置的一部分了,所以不再需要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配置你的防火牆或路由器的話,你就只能通過本地的控制埠了。你不會告訴我你的機器上連串列埠都沒有吧?
注:上面紅色部分其實是可選的,在試驗中,我發現,就算不把原有的網路卡地址釋放掉,網橋也能工作!但是,為了更規範,或者說
為了避免有什么莫名其妙的問題,最好還是按要求做,執行這四步吧!
5.最後,啟用網橋root@bridge:~> ifconfig br0 up
可選: 我們給這個新的橋介面分配一個IP地址
root@bridge:~> ifconfig br0 10.0.3.129
或者把最後這兩步合成一步:
root@bridge:~> ifconfig br0 10.0.3.129 up
就是多一個up!
這下我們做完了 。
關閉網橋命令
brctl delif ena eth1;
brctl delif ena eth0;
ifconfig ena down;
brctl delbr ena;
摘自 zjl_1026_2001的專欄
什麼是網橋
網橋是一種在鏈路層實現中繼,對幀進行轉發的技術,根據MAC分割槽塊,可隔離碰撞,將網路的多個網段在資料鏈路層連線起來的網路裝置。
Linux 網橋配置命令:brctl
在Linux中配置網路一般使用 brctl 命令,使用此命令首先要安裝:bridge-utils軟體包。
[inbi@debian~]#apt-get install bridge-utils
[inbi@debian~]#modprobe bridge
[inbi@debian~]#echo "1">/proc/sys/net/ipv4/ip_forward
#安裝bridge-utils軟體包,並載入bridge模組和開啟核心轉發。
[inbi@debian~]#brctl
#直接輸入brctl命令將顯示幫助資訊!
Usage: brctl [commands]
commands:
addbr |
<bridge> |
add bridge |
delbr |
<bridge> |
delete bridge |
addif |
<bridge> <device> |
add interface to bridge |
delif |
<bridge> <device> |
delete interface from bridge |
setageing |
<bridge> <time> |
set ageing time |
setbridgeprio |
<bridge> <prio> |
set bridge priority |
setfd |
<bridge> <time> |
set bridge forward delay |
sethello |
<bridge> <time> |
set hello time |
setmaxage |
<bridge> <time> |
set max message age |
setpathcost |
<bridge> <port> <cost> |
set path cost |
setportprio |
<bridge> <port> <prio> |
set port priority |
show |
|
show a list of bridges |
showmacs |
<bridge> |
show a list of mac addrs |
showstp |
<bridge> |
show bridge stp info |
stp |
<bridge> {on|off} |
turn stp on/off |
[inbi@debian~]#brctl addbr br0
#增加一個網橋
[inbi@debian~]#ifconfig eth0 0.0.0.0 promisc
[inbi@debian~]#ifconfig eth1 0.0.0.0 promisc
[inbi@debian~]#brctl addif br0 eth0 eth1
#將兩塊已有的網路卡新增到網橋,此時這兩個網路卡工作於混雜模式,所以不需要IP了,因為網橋是工作在鏈路層的。
[inbi@debian~]#brctl show
#檢視已有網橋
你也可以為 br0 設定一個IP,已訪問這臺機器。
[inbi@debian~]#ifconfig br0 10.10.1.1 netmask 255.255.0.0 up
[inbi@debian~]#brctl delif br0 eth0 eth1
#增加網橋中的介面
[inbi@debian~]#brctl delbr br0
#刪除網橋
[inbi@debian~]#brctl stp br0 off
#關閉生成樹協議,減少資料包汙染,因為我這裡只有一個路由器哦!
[inbi@debian~]#echo "modprobe bridge">>/etc/rc.local
#開機載入 bridge 模組,或者echo "bridge">>/etc/modules
[inbi@debian~]#cp /etc/network/interfaces /etc/network/interfaces.default
#備份下,方便以後使用啊!
[inbi@debian~]#vim /etc/network/interfaces
auto lo eth0 eth1 br0
iface lo inet loopback
iface br0 inet static
address 10.10.10.1
netmask 255.255.0.0
gateway 10.10.10.254
pre-up ip link set eth0 promisc on
pre-up ip link set eth1 promisc on
pre-up echo "1">/proc/sys/net/ipv4/ip_forward
bridge_ports eth0 eth1
#配置eth0 eth1 br0開機啟動,eth0,eth1未設定IP資訊,在啟動br0網路卡時,開啟了eth0,eth1的混雜模式,並橋接了它們。
相關文章
- linux系統網橋管理工具brctl 安裝及使用Linux
- brctl 命令詳解
- -bash: brctl:未找到命令
- Linux 最小安裝 + 橋接模式 + 網路配置Linux橋接模式
- Linux網路配置:Nat和橋接模式詳解Linux橋接模式
- 如何在 Debian Linux 上設定和配置網橋Linux
- 如何在 Ubuntu 上配置網橋Ubuntu
- linux 網橋程式碼分析 二 網橋初始化Linux
- Linux-網橋原理分析********************Linux
- 【Linux】Linux網路配置基礎1 網路相關命令與網路卡配置檔案Linux
- 用Linux命令手工配置TCP/IP網路(轉)LinuxTCP
- 【linux 】路由配置命令Linux路由
- VitualBox + Centos 6下橋接網路配置CentOS橋接
- 『學了就忘』Linux基礎命令 — 34、配置網路相關命令Linux
- Win XP系統中網橋的配置方法(轉)
- Linux網橋原始碼框架分析初步(轉)Linux原始碼框架
- linux 看硬體配置 命令Linux
- linux命令網站Linux網站
- VMware Workstation Linux 安裝及橋接網路Linux橋接
- LINUX 檢視硬體配置命令Linux
- LINUX檢視硬體配置命令Linux
- linux 看硬體配置 命令2Linux
- Linux命令FAQ:系統配置(轉)Linux
- Linux|網路配置Linux
- linux 配置網路Linux
- Linux 網路卡配置Linux
- [Linux]配置網路Linux
- linux網路配置Linux
- linux網路系統層面的配置、管理及操作命令彙總Linux
- CMD命令配置網路引數
- linux-網路命令Linux
- 利用橋接上網橋接
- [網路配置相關]——ifconfig命令、ip命令、route命令
- 【Linux】(小白向)詳解VirtualBox網路配置-配置Linux網路Linux
- virtualbox虛擬機器橋接網路連線方式配置虛擬機橋接
- linux安裝配置與基本命令Linux
- linux ifconfig命令配置ip地址Linux
- Linux網路基本網路配置Linux