当前位置:Linux教程 - Linux - Linux网桥接器的运作

Linux网桥接器的运作

Linux网桥接器的运作


1. 设定
l 取得 ````桥接器配置''''
ftp://shadow.cabi.net/pub/Linux/BRCFG.tgz
l 取得和阅读 ````Multiple ethernet'''' HOWTO
ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini/Multiple-Ethernet
l 配置lilo启动参数
使多个乙太网路设备在你的机器运作照著加入这行到你的 /etc/lilo.conf, 和重新执行 lilo:append = ""ether=0,0,eth1""
如果你在你的桥接器上有三张界面卡,使用这些行取代上面
append = ""ether=0,0,eth1 ether=0,0,eth2""
靠加入更多的乙太陈述可以找到更多的界面. 预设上一个传统的 Linux 核心只侦测一张独一的乙太网路卡, 和当一个被找到侦测就会停止. 上面所附加的陈述告诉核心在第一个被找到之後继续侦测去找到更多乙太网路设备。
另一个方法,可以使用启动变数来取代:
linux ether=0,0,eth1
或者, 有三个界面,使用:
linux ether=0,0,eth1 ether=0,0,eth2
l 重新编译那核心启动BRIDGING功能
l 一个桥接器应没有一个的 IP 地址. 它可以有一个,但是一个平常的桥接器不需要一个 IP 地址. 从你的桥接器上移除 IP 地址,到 /etc/sysconfig/network-scripts/ (对於一个 RedHat系统) 和拷贝 ifcfg-lo0到 ifcfg-eth0 & ifcfg-eth1. 在这两个乙太档案中,改变那行包含 ````DEVICE=lo'''' to ````DEVICE=eth0'''' 和 ````DEVICE=eth1''''. 别的 Linux distribution 也许和这个不同,自已动手做你想要的! 如果桥接器上有超过两个界面卡, 确定也使设定符合这些界面.
l 重新启动,执行那包含桥接器功能的核心, 另外也查明确认一个 IP 地址没有指定到这网路界面卡.
l 一次系统是备份, 把乙太网路卡设定在纷乱(promiscuous)的模式, 他们将靠它的界面监看每一个通过的封包:
ifconfig promisc eth0 ; ifconfig promisc eth1
连接到网路区段的全部的界面卡被桥接器分开进入 promiscuous(纷乱) 的模式.
l 启动桥接器使用 brcfg程式:
brcfg –ena
l 检验每一个界面卡有不同的交通流量:
tcpdump -i eth0 (在一个视窗)
tcpdump -i eth1 (在另一个视窗)
l 执行一个 sniffer (监看器) 或者 tcpdump 在另外的机器上去检验桥接器正确地分开区段。
2. 一般的问题
l Question:我得到这个讯息 ioctl(SIOCGIFBR) failed: Package not installed这是什麽意思?
l Answer:你的核心没有桥接器的能力. 取得到一个 2.0或者更後面的核心, 和重新编译启动桥接器功能的选项 BRIDGING。
l Question:机器在一边不能 ping 到另外一边!
l Answer:你有使用 ````brcfg -ena'' 使桥接器运作''吗? (brcfg将说 ````bridging is ENABLED'''') 你有把界面放在 promiscuous(纷乱)的模式吗? (使用 ````ifconfig''''命令. 那 ````PROMISC''''参数应该是在两个界面卡上.)。如果正在用 multiple-media 界面卡, 确定启动的是正确的是那一端. 你也许需要使用和网路界面卡附的 配置/设定 程式来做设定 。
l Question:我不能从桥接器上 telnet/ftp!为什麽?
l Answer:这是因为没有 IP 地址指定到任何的桥接器的界面卡.一个桥接器是一个网路的透通部分。
l Question:在设定路由方面我需要做什麽?
l Answer:无! 整个的路由资料是由核心的桥接器的码所掌握. 靠桥接器看见那乙太网路地址他们是被学习, 在测错模式下使用 brcfg程式:brcfg –deb
l Question:那桥接器看起来有运作,但是为什麽 ````traceroute'''' 没有显示那桥接器是路径的一个部分?
l Answer:由於桥接器当然的功能, ````traceroute''''将不显示桥接器当作路径的一部分.一个桥接器是网路的一个透通组件。
l Question:IP_FORWARD 是否必要编译到核心中呢?
l Answer:不.核心中的桥接器的码照料封包传送. IP_FORWARD对於一个 gateway(通路闸)它要有 IP 地址指定到它的界面。
l Question:根据那 ````brcfg''''程式显示,为什麽对於埠 1和埠 2 实体的乙太网路地址是相同的? 他们应该是不同的吗?
l Answer:不.一个桥接器的每一埠是故意地是由桥接器的码指定那相同的实体的乙太网路地址。
l Question:当在核心中执行的一个 (make config)建造设定,桥接器的选项没有出现 .它是如何启动的呢?
l Answer:在核心配置的时候,针对以下的问题回答 ''Y'' , ````Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [Y/n/?]''''。
l Question:太多集线器 (4个或者更多)一个接一个串连在一起 (连续地) 在一个乙太网路上造成时间回应的问题.在一个由集线器所布建的子网中一个桥接器会有什麽结果?
l Answer:一个桥接器重设 3/4/5集线器规则.一个桥接器没有如同一个集线器所做的处理封包,因此没有一个 contributor(贡献者) 到在一个网路上有时间回应问题.
l Question:一个桥接器界面能够同时连接 10Mb 和 100Mb 两个乙太网路区段? 这样的配置会造成高速流量的另一边慢下来吗?
l Answer:是,一个桥接器能够把 10 Mb 的区段和 100Mb 的区段绑在一起只要那网路卡在桥接器的快速网路的那一边是有 100Mb 能力的 , TCP 将要照料其馀的部分.这时它发生的情形是从一个在 100Mb 网路的主机送封包沟通另一个在 10Mb 网路的主机是只有用 10Mb/s 的速度移动,其馀的 那网路交通在快速乙太网路是不会被拖慢。