brctl 和ip link 操作网桥(Bridge)网卡

骑猪看日落 2024-05-11 09:13 137阅读 0赞

在Linux系统中,可以使用以下命令来进行网卡的桥接操作:

1. brctl

  1. brctl addbr:创建一个桥接设备,例如:brctl addbr br0
  2. brctl addif:将网卡添加到桥接设备中,例如:brctl addif br0 eth0
  3. brctl delif:将网卡从桥接设备中移除,例如:brctl delif br0 eth0
  4. brctl delbr:删除桥接设备,例如:brctl delbr br0
  5. brctl show :此命令用于显示当前系统上的所有网桥以及接口信息

    1. $ brctl show
    2. bridge name bridge id STP enabled interfaces
    3. docker0 8000.0242ecc68e18 no vethf614473
    4. dockerBridge 8000.024201c0ad6d no veth0d2c6d2
    5. veth0f9c09e
    6. veth1a5f548
    7. veth1d24aaa

另外,还可以使用ip命令来进行桥接的操作,以下是一些常用的命令:

  1. ip link add type bridge:创建一个桥接设备,例如:ip link add br0 type bridge
  2. ip link set master:将网卡添加到桥接设备中,例如:ip link set eth0 master br0
  3. ip link set nomaster:将网卡从桥接设备中移除,例如:ip link set eth0 nomaster
  4. ip link delete:删除桥接设备,例如:ip link delete br0

ip link没有直接查看网桥的命令,
但是ip link 可以查看所有网卡和接口信息,其中包含网桥和网桥的接口

bridge link 可以单独过滤出 网桥相关的接口

  1. # bridge link
  2. 9: veth3601676 state UP @(null): <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-2b8a275e488d state forwarding priority 32 cost 2
  3. 11: vethb651430 state UP @(null): <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 master br-2b8a275e488d state forwarding priority 32 cost 2

以上是常用的Linux桥接网卡命令,通过这些命令可以实现网卡间的桥接操作。

3. docker network 命令

docker network ls 查看网桥

  1. # docker network ls
  2. NETWORK ID NAME DRIVER SCOPE
  3. eddae4cf1bad docker0 bridge local
  4. 34b7574b98c2 host host local
  5. 00f4601cd1c0 none null local

注意:一般情况下 docker0,对应 ip addr 中的docker0 ,但是也不一定,因此通过名字 ,可能不准

docker network inspect bridge 查看详情

  1. # docker network inspect bridge
  2. [
  3. {
  4. "Name": "bridge",
  5. "Id": "d6179376f0c4dc0af7090be5d751ce53af44122b743a975fe193f216705c2e54",
  6. "Created": "2024-04-07T09:11:11.431449886+08:00",
  7. "Scope": "local",
  8. "Driver": "bridge",
  9. "EnableIPv6": true,
  10. "IPAM": {
  11. "Driver": "default",
  12. "Options": null,
  13. "Config": [
  14. {
  15. "Subnet": "172.17.0.0/16",
  16. "Gateway": "172.17.0.1"
  17. },
  18. {
  19. "Subnet": "2022:711::/112",
  20. "Gateway": "2022:711::1"
  21. }
  22. ]
  23. },
  24. "Internal": false,
  25. "Attachable": false,
  26. "Ingress": false,
  27. "ConfigFrom": {
  28. "Network": ""
  29. },
  30. "ConfigOnly": false,
  31. "Containers": {
  32. "1dff3550d16f3b633c2f1385b25d0cd835ea47753d0cfcc0de2932c4130a4723": {
  33. "Name": "kubia-container5",
  34. "EndpointID": "08b3f84ac1b631babc59236e416a94d383178fbcf5d5e7e2a22a88d6a0de377d",
  35. "MacAddress": "02:42:ac:11:00:02",
  36. "IPv4Address": "172.17.0.2/16",
  37. "IPv6Address": "2022:711::2/112"
  38. }
  39. },
  40. "Options": {
  41. "com.docker.network.bridge.default_bridge": "true",
  42. "com.docker.network.bridge.enable_icc": "true",
  43. "com.docker.network.bridge.enable_ip_masquerade": "true",
  44. "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0",
  45. "com.docker.network.bridge.name": "docker0",
  46. "com.docker.network.driver.mtu": "1500"
  47. },
  48. "Labels": {
  49. }
  50. }
  51. ]

Containers列表 是你启动在当前网桥下的docker

发表评论

表情:
评论列表 (有 0 条评论,137人围观)

还没有评论,来说两句吧...

相关阅读

    相关 linuxbridge详解

    Linux网桥(Bridge)介绍 Linux网桥(Bridge)是一种网络设备,用于连接并转发以太网数据包。它可以将多个以太网接口连接在一起,使它们成为一个逻辑上的以太