bridge-utils网桥管理工具brctl实践
1、bridge-utils网桥工具brctl介绍
bridge-utils包中的 brctl
用来管理以太网桥,在内核中建立、维护、检查网桥配置。一个网桥一般用来连接多个不同的网络,这样这些不同的网络就可以像一个网络那样进行通讯。
网桥是一种在链路层实现中继,对帧进行转发的技术,根据MAC分区块,可隔离碰撞,将网络的多个网段在数据链路层连接起来的网络设备。网桥工作在数据链路层,将两个LAN连起来,根据MAC地址来转发帧,可以看作一个“底层的路由器”。
在网桥上每个以太网连接可以对应到一个物理接口,这些以太网接口组合成一个大的逻辑的接口,这个逻辑接口对应于桥接网络。
2、安装bridge-utils工具
-bash: brctl: command not found 错误处理
yum install -y bridge-utils
yum info bridge-utils
man brctl
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
hairpin <bridge> <port> {on|off} turn hairpin on/off
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 [ <bridge> ] 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
3、brctl 相关命令介绍
3.1、brctl 命令使用的前提条件
1.加载 bridge 模块
modprobe bridge
2.开启转发,多个网卡之间进行数据交互
echo "1" > /proc/sys/net/ipv4/ip_forward
3.2、brctl 常用命令
brctl addbr <name> ||创建一个名为 name 的桥接网络接口
brctl delbr <name> ||删除一个名为 name 的桥接网络接口,桥接网络接口必须先 down 掉后才能删除
brctl show ||显示目前所有的桥接接口
把一个物理接口 <ifname> 加入桥接接口 <brname> 中,所有从 <ifname> 收到的帧都将被 <brname> 处理,
就像网桥处理的一样。所有发往 <brname> 的帧,<ifname> 就像输出接口一样。当物理以太网接口加入网桥后,
处于混杂模式了,所以不需要配置IP
brctl addif <brname> <ifname>
从 <brname> 中脱离一个 <ifname> 接口
brctl delif <brname> <ifname>
显示网桥 <brname> 的信息
brctl show <brname>
STP 多个以太网桥可以工作在一起组成一个更大的网络,利用 802.1d 协议在两个网络之间寻找最短路径。
STP 的作用是防止以太网桥之间形成回路,如果确定只有一个网桥,则可以关闭 STP。
控制网桥是否加入 STP 树中
<state> 'on'或'yes'表示加入 stp 树中,这样当 lan 中有多个网桥时可以防止回环。
'off'表示关闭stp。
brctl stp <bridge> <state>
设置网桥的优先级,<priority> 的值为0-65535,值小的优先级高,优先级最高的是根网桥。
brctl setbridgeprio <bridge> <priority>
设置网桥的'bridge forward delay'转发延迟时间,时间以秒为单位。
brctl setfd <bridge> <time>
设置网桥的'bridge hello time'存活检测时间
brctl sethello <bridge> <time>
设置网桥的'maximum message age'时间
brctl setmaxage <bridge> <time>
设置网桥中某个端口的链路花费值
brctl setpathcost <bridge> <port> <cost>
设置网桥中某个端口的优先级
brctl setportprio <bridge> <port> <priority>
brctl addbr brneo1 ||创建新网桥 brneo1
brctl delbr brneo1 ||删除网桥 brneo1
brctl addif brneo1 eth0 ||将接口 eth0 加入网桥 brneo1
brctl delif brneo1 eth0 ||将接口 eth0 从网桥 brneo1 中删除
brctl show ||查看所有网桥信息
brctl show brneo1 ||查看网桥 brneo1 的信息
brctl stp brneo1 on ||开启网桥 brneo1 的 STP,避免成环