Linux网络命令之 `brctl`

1 网桥的概念

摘自百度百科:

网桥(Bridge)是早期的两端口二层网络设备,用来连接不同网段。

网桥是一种对帧进行转发的技术,根据 MAC 分区块,可隔离碰撞。网桥将网络的多个网段在数据链路层连接起来。

网桥也叫桥接器,是连接两个局域网的一种存储/转发设备,它能将一个大的 LAN 分割为多个网段,或将两个以上的 LAN 互联为一个逻辑 LAN,使 LAN 上的所有用户都可访问服务器。

扩展局域网最常见的方法是使用网桥。最简单的网桥有两个端口,复杂些的网桥可以有更多的端口,实现各个端口之间的互通。网桥的每个端口与一个网段相连。

这边先理解一下这几个名词,摘自:《子网、局域网、网段的关系》,更详细的说明可以访问该链接:

  • 局域网

    数据链路层的概念,指二层可达的网络(也就是不需要三层设备,如路由器,也能到达的网络),通俗得讲就是小范围的网络。

  • 子网

    子网是网络层的概念,和局域网没有直接的关系,是把一个 IP 网络划分为几个小范围的网络,但是在平时不要求精确性的时候,局域网可以对应子网,也就是说,子网也是二层可达,子网之间需要三层设备。

  • 网段

    是物理层的定义,使用同一物理层设备(传输介质,中继器,集线器等)能够直接通讯。

    同一网段和不同网段:

    • 使用同一物理层的设备之间必然通过相同的传输介质直接相互连接,如交叉双绞线直接连接的两台主机,是一个网段。
    • 两组其传输介质并非直接相连的网络设备,如果它们的传输介质通过工作在物理层的扩展设备如中继器和集线器等转接连接,则仍然被视为同一物理层中的设备,是一个网段。
    • 工作在数据链路层或更高层的设备如网桥、交换机、路由器等等,由它们连接起来的两组设备仍然分别处于各自独立的物理层,是两个网段。

2 管理网桥的命令

Linux中通过 brctl 命令管理以太网网桥。

通过 brctl --help 获取到 brctl 命令的使用方法:

Usage: brctl COMMAND [BRIDGE [INTERFACE]]

Manage ethernet bridges

Commands:
        show                    Show a list of bridges
        addbr BRIDGE            Create BRIDGE
        delbr BRIDGE            Delete BRIDGE
        addif BRIDGE IFACE      Add IFACE to BRIDGE
        delif BRIDGE IFACE      Delete IFACE from BRIDGE
        setageing BRIDGE TIME           Set ageing time
        setfd BRIDGE TIME               Set bridge forward delay
        sethello BRIDGE TIME            Set hello time
        setmaxage BRIDGE TIME           Set max message age
        setpathcost BRIDGE COST         Set path cost
        setportprio BRIDGE PRIO         Set port priority
        setbridgeprio BRIDGE PRIO       Set bridge priority
        stp BRIDGE [1/yes/on|0/no/off]  STP on/off

1、显示已有的网桥列表

# brctl show

2、创建网桥

# brctl addbr bridge_name

3、删除网桥

# brctl delbr briage_name

4、增加网桥中的接口

# brctl addif bridge_name interface_name

5、删除网桥中的接口

# brctl delif bridge_name interface_name

3 举例

该例子中将 eth0,eth1 桥接,并从两端接入设备,进行 ping 测试,看是否能够正常通信。

1、创建网桥

# brctl addbr br0

2、添加接口

# brctl addif br0 eth0
# brctl addif br0 eth1

3、网桥的每个接口都以混杂模式运行,所以不需要 IP

# ifconfig eth0 0.0.0.0
# ifconfig eth1 0.0.0.0

4、开启网桥

# ifconfig br0 up

也可以给网桥设置 IP,用于 SSH 或者 Telnet 进行远程管理网桥:

# ifconfig br0 192.168.1.1 netmask 255.255.255.0 up

5、在网桥的两端接入设备,一端IP地址为 192.168.1.2,另一端为 192.168.1.3,注意:两端的设备需要在同一个子网下才可正常通信。

6、分别在网桥两端的设备中 ping 对方的IP地址,测试能够正常通信。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半砖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值