作者: Christopher Cole, cole@lynkmedia.com
譯者: Mile Yeh mile@mail.timenet.net
v1.10, 13十一月 1997
--------------------------------------------------------------------------------
這文件描述如何去設(shè)定一個(gè)乙太網(wǎng)路橋接器.什麼是一個(gè)乙太網(wǎng)路橋接器?一個(gè)乙太網(wǎng)路橋接器是一個(gè)設(shè)備它可以控制在一個(gè)子網(wǎng)路之內(nèi)的資料封包去試圖減少網(wǎng)路的大量流量. 一個(gè)橋接器是通常安放的在兩組分開(kāi)的電腦群組之間使電腦自己在內(nèi)部溝通自已,而不是頻繁和其他的群組的電腦溝通.一個(gè)好的例子的是想想一群的麥金塔和一群的 Unix 機(jī)器.這些組別的機(jī)器兩個(gè)群組都傾向於他們自己和自已的機(jī)器十分繁忙的溝通, 他們?cè)诰W(wǎng)路上產(chǎn)生的通訊流量使其他機(jī)器試著和另外一個(gè)溝通時(shí)的造成碰撞.一個(gè)橋接器是放的在這些電腦組群之間.橋接器的工作是然後檢查那目的地的數(shù)據(jù)封包一個(gè)一次而且決定要不要傳輸封包到那乙太網(wǎng)區(qū)段另一邊.結(jié)果是變成一個(gè)更快的,更安靜,更少的碰撞的網(wǎng)路.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
1. 設(shè)定
取得 ``橋接器配置'':
ftp://shadow.cabi.net/pub/linux/BRCFG.tgz
取得和閱讀 ``Multiple ethernet'' HOWTO:
ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/Multiple-Ethernet
使多個(gè)乙太網(wǎng)路設(shè)備在你的機(jī)器運(yùn)作照著加入這行到你的 /etc/lilo.conf, 和重新執(zhí)行 lilo:
append = "ether=0,0,eth1"
如果你在你的橋接器上有三張界面卡,使用這些行取代上面:
append = "ether=0,0,eth1 ether=0,0,eth2"
靠加入更多的乙太陳述可以找到更多的界面. 預(yù)設(shè)上一個(gè)傳統(tǒng)的 Linux 核心只偵測(cè)一張獨(dú)一的乙太網(wǎng)路卡, 和當(dāng)一個(gè)被找到偵測(cè)就會(huì)停止. 上面所附加的陳述告訴核心在第一個(gè)被找到之後繼續(xù)偵測(cè)去找到更多乙太網(wǎng)路設(shè)備.
另一個(gè)方法,可以使用啟動(dòng)變數(shù)來(lái)取代:
linux ether=0,0,eth1
或者, 有三個(gè)界面,使用:
linux ether=0,0,eth1 ether=0,0,eth2
重新編譯那核心啟動(dòng)BRIDGING功能.
一個(gè)橋接器應(yīng)沒(méi)有一個(gè)的 IP 地址. 它可以有一個(gè),但是一個(gè)平常的橋接器不需要一個(gè) IP 地址. 從你的橋接器上移除 IP 地址,到 /etc/sysconfig/network-scripts/ (對(duì)於一個(gè) RedHat系統(tǒng)) 和拷貝 ifcfg-lo0到 ifcfg-eth0 & ifcfg-eth1. 在這兩個(gè)乙太檔案中,改變那行包含 ``DEVICE=lo'' to ``DEVICE=eth0'' 和 ``DEVICE=eth1''. 別的 Linux distribution 也許和這個(gè)不同,自已動(dòng)手做你想要的! 如果橋接器上有超過(guò)兩個(gè)界面卡, 確定也使設(shè)定符合這些界面.
重新啟動(dòng),執(zhí)行那包含橋接器功能的核心, 另外也查明確認(rèn)一個(gè) IP 地址沒(méi)有指定到這網(wǎng)路界面卡.
一次系統(tǒng)是備份, 把乙太網(wǎng)路卡設(shè)定在紛亂(PRomiscuous)的模式, 他們將靠它的界面監(jiān)看每一個(gè)通過(guò)的封包:
ifconfig promisc eth0 ; ifconfig promisc eth1
連接到網(wǎng)路區(qū)段的全部的界面卡被橋接器分開(kāi)進(jìn)入 promiscuous(紛亂) 的模式.
啟動(dòng)橋接器使用 brcfg程式:
brcfg -ena
檢驗(yàn)每一個(gè)界面卡有不同的交通流量:
tcpdump -i eth0 (在一個(gè)視窗)
tcpdump -i eth1 (在另一個(gè)視窗)
執(zhí)行一個(gè) sniffer (監(jiān)看器) 或者 tcpdump 在另外的機(jī)器上去檢驗(yàn)橋接器正確地分開(kāi)區(qū)段.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
2. 一般的問(wèn)題
Question
我得到這個(gè)訊息
ioctl(SIOCGIFBR) failed: Package not installed
這是什麼意思?
Answer
你的核心沒(méi)有橋接器的能力. 取得到一個(gè) 2.0或者更後面的核心, 和重新編譯啟動(dòng)橋接器功能的選項(xiàng) BRIDGING.
Question
機(jī)器在一邊不能 ping 到另外一邊!
Answer
你有使用 ``brcfg -ena' 使橋接器運(yùn)作'嗎? (brcfg將說(shuō) ``bridging is ENABLED'')
你有把界面放在 promiscuous(紛亂)的模式嗎? (使用 ``ifconfig''命令. 那 ``PROMISC''參數(shù)應(yīng)該是在兩個(gè)界面卡上.)
如果正在用 multiple-media 界面卡, 確定啟動(dòng)的是正確的是那一端. 你也許需要使用和網(wǎng)路界面卡附的 配置/設(shè)定 程式來(lái)做設(shè)定 .
Question
我不能從橋接器上 telnet/ftp!為什麼?
Answer
這是因?yàn)闆](méi)有 IP 地址指定到任何的橋接器的界面卡.一個(gè)橋接器是一個(gè)網(wǎng)路的透通部分.
Question
在設(shè)定路由方面我需要做什麼?
Answer
無(wú)! 整個(gè)的路由資料是由核心的橋接器的碼所掌握. 靠橋接器看見(jiàn)那乙太網(wǎng)路地址他們是被學(xué)習(xí), 在測(cè)錯(cuò)模式下使用 brcfg程式:
brcfg -deb
Question
那橋接器看起來(lái)有運(yùn)作,但是為什麼 ``traceroute'' 沒(méi)有顯示那橋接器是路徑的一個(gè)部分?
Answer
由於橋接器當(dāng)然的功能, ``traceroute''將不顯示橋接器當(dāng)作路徑的一部分.一個(gè)橋接器是網(wǎng)路的一個(gè)透通組件.
Question
IP_FORWARD 是否必要編譯到核心中呢?
Answer
不.核心中的橋接器的碼照料封包傳送. IP_FORWARD對(duì)於一個(gè) gateway(通路閘)它要有 IP 地址指定到它的界面.
Question
根據(jù)那 ``brcfg''程式顯示,為什麼對(duì)於埠 1和埠 2 實(shí)體的乙太網(wǎng)路地址是相同的? 他們應(yīng)該是不同的嗎?
Answer
不.一個(gè)橋接器的每一埠是故意地是由橋接器的碼指定那相同的實(shí)體的乙太網(wǎng)路地址.
Question
當(dāng)在核心中執(zhí)行的一個(gè) (make config)建造設(shè)定,橋接器的選項(xiàng)沒(méi)有出現(xiàn) .它是如何啟動(dòng)的呢?
Answer
在核心配置的時(shí)候,針對(duì)以下的問(wèn)題回答 'Y' , ``Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?]''.
Question
太多集線器 (4個(gè)或者更多)一個(gè)接一個(gè)串連在一起 (連續(xù)地) 在一個(gè)乙太網(wǎng)路上造成時(shí)間回應(yīng)的問(wèn)題.在一個(gè)由集線器所布建的子網(wǎng)中一個(gè)橋接器會(huì)有什麼結(jié)果?
Answer
一個(gè)橋接器重設(shè) 3/4/5集線器規(guī)則.一個(gè)橋接器沒(méi)有如同一個(gè)集線器所做的處理封包,因此沒(méi)有一個(gè) contributor(貢獻(xiàn)者) 到在一個(gè)網(wǎng)路上有時(shí)間回應(yīng)問(wèn)題.
Question
一個(gè)橋接器界面能夠同時(shí)連接 10Mb 和 100Mb 兩個(gè)乙太網(wǎng)路區(qū)段? 這樣的配置會(huì)造成高速流量的另一邊慢下來(lái)嗎?
Answer
是,一個(gè)橋接器能夠把 10 Mb 的區(qū)段和 100Mb 的區(qū)段綁在一起只要那網(wǎng)路卡在橋接器的快速網(wǎng)路的那一邊是有 100Mb 能力的 , TCP 將要照料其馀的部分.這時(shí)它發(fā)生的情形是從一個(gè)在 100Mb 網(wǎng)路的主機(jī)送封包溝通另一個(gè)在 10Mb 網(wǎng)路的主機(jī)是只有用 10Mb/s 的速度移動(dòng),其馀的 那網(wǎng)路交通在快速乙太網(wǎng)路是不會(huì)被拖慢.
--------------------------------------------------------------------------------