确保您的所有网卡工作正常且可访问。如果正常,ifconfig 将显示您的网络接口硬件布局。如果您在使网卡工作时遇到问题,请阅读 Ethernet-HOWTO,链接为 http://www.linuxdoc.org/HOWTO/Ethernet-HOWTO.html。不要修改 IP 地址或网络掩码。在您的网桥完全运行并启动之前,您不需要这样做。
在您完成上述步骤后,modprobe -v bridge 应该不会显示任何错误。您可以通过执行 cat /proc/modules 来检查是否成功。此外,对于您想在网桥中使用的每张网卡,ifconfig 您的接口名称 应该会提供有关该接口的一些信息。
如果您的 bridge-utilities 已正确构建,并且您的内核和网桥模块正常,那么执行 brctl 应该会显示一个简短的命令概要。
root@mbb-1:~ # brctl commands: addbr <bridge> add bridge |
对应的 “关闭” 命令是 brctl delbr 网桥名称。
注意 |
只有在您要删除的实例中没有添加更多接口时,brctl delbr 网桥名称 才会起作用。 |
将接口从网桥中移除的对应命令是 brctl delif 网桥名称 设备
示例 7. brctl show 的输出
root@mbb-1:~ # brctl show bridge name bridge id stp enabled mybridge1 0000.0800062815f6 yes |
示例 8. brctl showbr 网桥名称 的输出
root@mbb-1:~ # brctl showbr mybridge1 mybridge1 bridge id 0000.0800062815f6 designated root 0000.0800062815f6 root port 0 path cost 0 max age 4.00 bridge max age 4.00 hello time 1.00 bridge hello time 1.00 forward delay 4.00 bridge forward delay 4.00 ageing time 300.00 gc interval 4.00 hello timer 0.84 tcn timer 0.00 topology change timer 0.00 gc timer 1.84 flags eth0 (1) port id 8001 state forwarding designated root 0000.0800062815f6 path cost 100 designated bridge 0000.0800062815f6 message age timer 0.00 designated port 8001 forward delay timer 0.00 designated cost 0 hold timer 0.84 flags eth1 (2) port id 8002 state forwarding designated root 0000.0800062815f6 path cost 100 designated bridge 0000.0800062815f6 message age timer 0.00 designated port 8002 forward delay timer 0.00 designated cost 0 hold timer 0.84 flags |
示例 9. brctl showmacs 网桥名称 的输出
root@mbb-1:~ # brctl showmacs mybridge1 port no mac addr is local? ageing timer 1 00:10:4b:b6:c6:e4 no 119.25 1 00:50:04:43:82:85 no 0.00 1 00:50:da:45:45:b1 no 76.75 1 00:a0:24:d0:4c:d6 yes 0.00 1 00:a0:24:f0:22:71 no 5.81 1 08:00:09:b5:dc:41 no 22.22 1 08:00:09:fb:39:a1 no 27.24 1 08:00:09:fc:92:2c no 53.13 4 08:00:09:fc:d2:11 yes 0.00 1 08:00:09:fd:23:88 no 230.42 1 08:00:09:fe:0d:6f no 144.55 |
Linux 实现当前将所有 eth* 接口的路径成本设置为 100,这是 10Mbit 连接的标称成本。遗憾的是,没有简单的方法可以区分 10Mbit、100Mbit 和 1Gbit 以太网卡,因此网桥无法使用实际的接口速度。
标准配置应包括:
创建网桥接口。
root@mbb-1:~ # brctl addbr mybridge |
将接口添加到网桥。
root@mbb-1:~ # brctl addif mybridge eth0 root@mbb-1:~ # brctl addif mybridge eth1 |
将接口 IP 地址设为零。
root@mbb-1:~ # ifconfig eth0 0.0.0.0 root@mbb-1:~ # ifconfig eth1 0.0.0.0 |
启动网桥。
root@mbb-1:~ # ifconfig mybridge up |
可选地,您可以配置虚拟接口mybridge以参与您的网络。它的行为类似于一个接口(就像普通的网卡)。您可以使用相同的方式配置它,将之前的命令替换为类似如下的内容:
root@mbb-1:~ # ifconfig mybridge 192.168.100.5 netmask 255.255.255.0 up |
您可以在 示例 16 中找到更复杂的设置脚本。
重要提示:如果您在以下情况下遇到系统冻结或 Linux 机器出现某些不良行为的糟糕体验
请尝试(如果需要,在系统重启后)在开始任何网桥操作之前执行
root@mbb-1:~ # ifconfig ethn 0 0.0.0.0如果您的系统再次冻结,则应归咎于您的网卡驱动程序,而不是桥接代码。
root@mbb-1:~ # ifconfig ethn promisc up