Linux查看桥命令有哪些?

在Linux系统中,桥接(Bridge)是一种将多个网络接口连接在一起,使它们能够像单个网络接口一样工作的技术,常用于虚拟化环境(如KVM、Docker)或实现网络流量转发,要查看Linux系统中的桥接设备及其配置信息,可以使用多种命令和工具,以下是详细的操作方法和命令说明。

linux查看桥命令
(图片来源网络,侵删)

使用 brctl 命令查看桥接信息

brctl 是传统的桥接配置工具,适用于较老的Linux内核版本,但部分系统仍需安装该工具,首先确保已安装 bridge-utils 包(基于Debian/Ubuntu的系统可通过 sudo apt install bridge-utils 安装,基于RHEL/CentOS的系统可通过 sudo yum install bridge-utils 安装)。

查看所有桥接设备

brctl show

输出示例:

bridge name     interface
docker0         veth12345
               veth67890
  • bridge name:桥接设备的名称(如 docker0)。
  • interface:连接到该桥接的物理或虚拟接口。

查看特定桥接的详细信息

brctl show <bridge_name>

例如查看 docker0 的详细信息:

brctl show docker0

输出会包含桥接的ID、STP状态、接口列表等。

linux查看桥命令
(图片来源网络,侵删)

查看桥接的STP(生成树协议)状态

brctl showstp <bridge_name>

输出示例:

docker0
 bridge id              8000.0242a8b3cdef
 designated root        8000.0242a8b3cdef
 root port              0
...
  • bridge id:桥接的唯一标识符。
  • designated root:生成树协议的根桥ID。

查看桥接的接口统计信息

brctl showmacs <bridge_name>

输出示例:

port mac addr                is local? ageing time
  1   0242a8b3cdef           yes                0.00
  2   0a1b2c3d4e5f            no               120.00
  • port:接口编号。
  • mac addr:接口的MAC地址。
  • is local:是否为本地接口。

使用 ip 命令查看桥接信息

ip 命令是现代Linux系统中更推荐的网络管理工具,功能更全面且无需额外安装。

查看所有桥接设备

ip link show type bridge

输出示例:

1: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 bridge 8000.0242a8b3cdef
    link/ether 02:42:a8:b3:cd:ef brd ff:ff:ff:ff:ff:ff
  • bridge:表示该设备为桥接类型。
  • 0242a8b3cdef:桥接的MAC地址(前8位为桥接类型标识)。

查看桥接的接口列表

ip link show

通过过滤 master <bridge_name> 查看连接到特定桥接的接口:

ip link show master docker0

输出示例:

3: veth12345: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master docker0 state UP
    link/ether 1a:2b:3c:4d:5e:6f brd ff:ff:ff:ff:ff:ff
  • master docker0:表示该接口属于 docker0 桥接。

查看桥接的IP地址和路由信息

ip addr show <bridge_name>
ip addr show docker0

输出示例:

1: docker0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 bridge 8000.0242a8b3cdef
    inet 172.17.0.1/24 brd 172.17.0.255 scope global docker0
       valid_lft forever preferred_lft forever
  • inet:桥接的IPv4地址及子网掩码。

查看桥接的转发和过滤表

bridge link

输出示例:

1: veth12345: master docker0 state UP priority 32 cost 100
3: veth67890: master docker0 state UP priority 32 cost 100
  • master:所属桥接名称。
  • priority:接口优先级(影响STP)。

使用 sysfs 文件系统查看桥接信息

Linux内核通过 /sys/class/net/ 目录暴露网络设备的详细信息,桥接设备的子目录包含其配置和状态文件。

查看所有桥接设备

ls /sys/class/net/ | grep bridge

输出示例:

docker0

查看桥接的详细信息

cat /sys/class/net/<bridge_name>/operstate
cat /sys/class/net/docker0/operstate

输出示例:

up
  • operstate:桥接的运行状态(updown)。

查看桥接的接口列表

ls /sys/class/net/<bridge_name>/brif/
ls /sys/class/net/docker0/brif/

输出示例:

veth12345 veth67890

使用 bridge 命令查看桥接信息

bridge 命令是 iproute2 包的一部分,功能更强大,支持查看桥接的详细统计和协议信息。

查看所有桥接设备

bridge link

查看桥接的MAC地址表

bridge fdb show

输出示例:

02:42:a8:b3:cd:ef dev docker0 master docker0 permanent
0a:1b:2c:3d:4e:5f dev veth12345 master docker0 age 120
  • master:所属桥接名称。
  • permanent:静态MAC地址。

查看桥接的VLAN过滤信息

bridge vlan show

桥接配置信息对比表

以下是常用查看命令的对比:

命令功能描述示例
brctl show显示所有桥接设备brctl show
ip link show type bridge显示桥接设备类型ip link show type bridge
bridge link显示桥接接口和属性bridge link
bridge fdb show显示桥接MAC地址表bridge fdb show
cat /sys/class/net/<bridge>/operstate显示桥接状态cat /sys/class/net/docker0/operstate

相关问答FAQs

Q1: 如何确认桥接是否启用了STP(生成树协议)?
A1: 使用 brctl showstp <bridge_name>bridge link 查看STP状态,若输出中包含 stp_state 且为 forwarding,则表示STP已启用;若为 disabled,则表示未启用,也可以通过 cat /sys/class/net/<bridge_name>/bridge/stp_state 查看,输出 1 表示启用,0 表示禁用。

Q2: 如何查看桥接的流量统计信息(如接收/发送字节数)?
A2: 使用 ip -s link show <bridge_name>cat /sys/class/net/<bridge_name>/statistics/rx_bytes/sys/class/net/<bridge_name>/statistics/tx_bytes 查看流量统计。

ip -s link show docker0

输出会包含 RXTX 部分的字节数、包数等统计信息。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/373189.html<

(0)
运维的头像运维
上一篇2025-09-29 21:35
下一篇 2025-09-29 21:40

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注