桥接器的运作 mini-Howto

资讯 驱动中国 64 次阅读 0 条评论
分享 Q

作者:ChristopherCole,cole@lynkmedia.com
译者:MileYehmile@mail.timenet.net
v1.10,13十一月1997


--------------------------------------------------------------------------------
这文件描述如何去设定一个乙太网路桥接器.什麽是一个乙太网路桥接器?一个乙太网路桥接器是一个设备它可以控制在一个子网路之内的资料封包去试图减少网路的大量流量.一个桥接器是通常安放的在两组分开的电脑群组之间使电脑自己在内部沟通自已,而不是频繁和其他的群组的电脑沟通.一个好的例子的是想想一群的麦金塔和一群的Unix机器.这些组别的机器两个群组都倾向於他们自己和自已的机器十分繁忙的沟通,他们在网路上产生的通讯流量使其他机器试著和另外一个沟通时的造成碰撞.一个桥接器是放的在这些电脑组群之间.桥接器的工作是然後检查那目的地的数据封包一个一次而且决定要不要传输封包到那乙太网区段另一边.结果是变成一个更快的,更安静,更少的碰撞的网路.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

1.设定

取得``桥接器配置'':
ftp://shadow.cabi.net/pub/Linux/BRCFG.tgz
取得和阅读``Multipleethernet''HOWTO:
ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/Multiple-Ethernet
使多个乙太网路设备在你的机器运作照著加入这行到你的/etc/lilo.conf,和重新执行lilo:

append="ether=0,0,eth1"


如果你在你的桥接器上有三张界面卡,使用这些行取代上面:
append="ether=0,0,eth1ether=0,0,eth2"


靠加入更多的乙太陈述可以找到更多的界面.预设上一个传统的Linux核心只侦测一张独一的乙太网路卡,和当一个被找到侦测就会停止.上面所附加的陈述告诉核心在第一个被找到之後继续侦测去找到更多乙太网路设备.

另一个方法,可以使用启动变数来取代:

linuxether=0,0,eth1


或者,有三个界面,使用:
linuxether=0,0,eth1ether=0,0,eth2



重新编译那核心启动BRIDGING功能.
一个桥接器应没有一个的IP地址.它可以有一个,但是一个平常的桥接器不需要一个IP地址.从你的桥接器上移除IP地址,到/etc/sysconfig/network-scripts/(对於一个RedHat系统)和拷贝ifcfg-lo0到ifcfg-eth0&ifcfg-eth1.在这两个乙太档案中,改变那行包含``DEVICE=lo''to``DEVICE=eth0''和``DEVICE=eth1''.别的Linuxdistribution也许和这个不同,自已动手做你想要的!如果桥接器上有超过两个界面卡,确定也使设定符合这些界面.
重新启动,执行那包含桥接器功能的核心,另外也查明确认一个IP地址没有指定到这网路界面卡.
一次系统是备份,把乙太网路卡设定在纷乱(promiscuous)的模式,他们将靠它的界面监看每一个通过的封包:
ifconfigpromisceth0;ifconfigpromisceth1


连接到网路区段的全部的界面卡被桥接器分开进入promiscuous(纷乱)的模式.
启动桥接器使用brcfg程式:
brcfg-ena


检验每一个界面卡有不同的交通流量:
tcpdump-ieth0(在一个视窗)
tcpdump-ieth1(在另一个视窗)


执行一个sniffer(监看器)或者tcpdump在另外的机器上去检验桥接器正确地分开区段.

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------

2.一般的问题


Question
我得到这个讯息

ioctl(SIOCGIFBR)failed:Packagenotinstalled


这是什麽意思?
Answer
你的核心没有桥接器的能力.取得到一个2.0或者更後面的核心,和重新编译启动桥接器功能的选项BRIDGING.


Question
机器在一边不能ping到另外一边!

Answer

你有使用``brcfg-ena'使桥接器运作'吗?(brcfg将说``bridgingisENABLED'')
你有把界面放在promiscuous(纷乱)的模式吗?(使用``ifconfig''命令.那``PROMISC''参数应该是在两个界面卡上.)
如果正在用multiple-media界面卡,确定启动的是正确的是那一端.你也许需要使用和网路界面卡附的配置/设定程式来做设定.

Question
我不能从桥接器上telnet/ftp!为什麽?

Answer
这是因为没有IP地址指定到任何的桥接器的界面卡.一个桥接器是一个网路的透通部分.


Question
在设定路由方面我需要做什麽?

Answer
无!整个的路由资料是由核心的桥接器的码所掌握.靠桥接器看见那乙太网路地址他们是被学习,在测错模式下使用brcfg程式:

brcfg-deb



Question
那桥接器看起来有运作,但是为什麽``traceroute''没有显示那桥接器是路径的一个部分?

Answer
由於桥接器当然的功能,``traceroute''将不显示桥接器当作路径的一部分.一个桥接器是网路的一个透通组件.


Question
IP_FORWARD是否必要编译到核心中呢?

Answer
不.核心中的桥接器的码照料封包传送.IP_FORWARD对於一个gateway(通路闸)它要有IP地址指定到它的界面.


Question
根据那``brcfg''程式显示,为什麽对於埠1和埠2实体的乙太网路地址是相同的?他们应该是不同的吗?

Answer
不.一个桥接器的每一埠是故意地是由桥接器的码指定那相同的实体的乙太网路地址.


Question
当在核心中执行的一个(makeconfig)建造设定,桥接器的选项没有出现.它是如何启动的呢?

Answer
在核心配置的时候,针对以下的问题回答'Y',``Promptfordevelopmentand/orincompletecode/drivers(CONFIG_EXPERIMENTAL)[Y/n/?]''.


Question
太多集线器(4个或者更多)一个接一个串连在一起(连续地)在一个乙太网路上造成时间回应的问题.在一个由集线器所布建的子网中一个桥接器会有什麽结果?

Answer
一个桥接器重设3/4/5集线器规则.一个桥接器没有如同一个集线器所做的处理封包,因此没有一个contributor(贡献者)到在一个网路上有时间回应问题.


Question
一个桥接器界面能够同时连接10Mb和100Mb两个乙太网路区段?这样的配置会造成高速流量的另一边慢下来吗?

Answer
是,一个桥接器能够把10Mb的区段和100Mb的区段绑在一起只要那网路卡在桥接器的快速网路的那一边是有100Mb能力的,TCP将要照料其馀的部分.这时它发生的情形是从一个在100Mb网路的主机送封包沟通另一个在10Mb网路的主机是只有用10Mb/s的速度移动,其馀的那网路交通在快速乙太网路是不会被拖慢.


--------------------------------------------------------------------------------

版权声明:本文由驱动中国整理发布,转载需注明出处与原文链接。如有疑问请联系 editor@qudong.com
本文价值 成为第一个评分的人
登录后为本文打分
网友评论0 条评论
正在回复 的评论取消
评论加载中…
🔐

登录后参与互动

评论、点赞均可赚积分
连续签到、邀请好友也有奖励 🎁

电脑端: 微信扫码登录 微信内: 一键登录

微信扫一扫

打开微信「扫一扫」,分享本文到朋友圈或好友