ip 命令创建 vlan bond 子接口

188 阅读3分钟

这是一个环境,将 enp44s0 enp45s0 组合为bond0,并在 bond0 上创建一个 vlan10 的子接口,在该子接口上配上 ip


▶ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enp44s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 84:47:09:2f:4b:c0 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::42c0:e162:93df:a1a0/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: enp45s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 84:47:09:2f:4b:9e brd ff:ff:ff:ff:ff:ff
    inet6 fe80::e842:7a76:9775:3bb1/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
4: wlo1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether f0:20:ff:15:79:a8 brd ff:ff:ff:ff:ff:ff
    altname wlp0s20f3
    inet 172.20.231.61/22 brd 172.20.231.255 scope global dynamic noprefixroute wlo1
       valid_lft 27355sec preferred_lft 27355sec
    inet6 2409:8720:4a00:1406::592/128 scope global dynamic noprefixroute
       valid_lft 2590556sec preferred_lft 603356sec
    inet6 2409:8720:4a00:1406:df3d:25e6:d8fe:b72/64 scope global dynamic noprefixroute
       valid_lft 2591992sec preferred_lft 604792sec
    inet6 fe80::fff8:390b:1a26:f470/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:1a:d8:8e:80 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
6: br-dc00623f6fbe: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:e9:26:a8:30 brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.1/16 brd 172.18.255.255 scope global br-dc00623f6fbe
       valid_lft forever preferred_lft forever
    inet6 fc00:f853:ccd:e793::1/64 scope global nodad
       valid_lft forever preferred_lft forever

执行如下命令


apt install vlan
 
# 创建绑定接口  
ip link add bond0 type bond mode 802.3ad

# 禁用物理接口  
ip link set enp44s0 down  
ip link set enp45s0 down  

# 将物理接口添加到绑定  
ip link set enp44s0 master bond0
ip link set enp45s0 master bond0 

# 启用绑定接口  
ip link set bond0 up  

# 启用
ip link set enp44s0 up
ip link set enp45s0 up
ip link set bond0 up

# 创建 VLAN 子接口并配置 IP  
ip link add link bond0 name bond0.10 type vlan id 10  
ip link set bond0.10 up
ip addr add 192.168.10.1/24 dev bond0.10  


# 确认状态
ip a show bond0  
ip a show bond0.10

查看结果


7: bond0: <NO-CARRIER,BROADCAST,MULTICAST,MASTER,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 76:9a:a9:86:03:13 brd ff:ff:ff:ff:ff:ff
8: bond0.10@bond0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN group default qlen 1000
    link/ether 76:9a:a9:86:03:13 brd ff:ff:ff:ff:ff:ff
    inet 192.168.10.1/24 scope global bond0.10
       valid_lft forever preferred_lft forever

# 如何基于 ip 命令查看 bond0 有哪些子接口

ip -d link show | grep -C 3 'vlan'
8: bond0.10@bond0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state LOWERLAYERDOWN mode DEFAULT group default qlen 1000
    link/ether 76:9a:a9:86:03:13 brd ff:ff:ff:ff:ff:ff promiscuity 0  allmulti 0 minmtu 0 maxmtu 65535
    vlan protocol 802.1Q id 10 <REORDER_HDR> addrgenmode eui64 numtxqueues 1 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535 tso_max_size 524280 tso_max_segs 65535 gro_max_size 65536

# 抓包

tcpdump -i bond1.10 -e -n vlan 10