答案1
可以使用组值标记接口。默认情况下,该值为 0,并显示为“默认”,因为它是从文件中解析的/etc/iproute2/group
通常包括(仅)这个:
# device group names 0 default
人们可以在此文件中添加更多条目以使用和显示单词(例如:blue
)而不是数字(例如:1
)。
该组值的作用是通过为某些特殊操作分配相同的值将接口分组在一起(默认组 0 可能不允许其中某些操作)。
下面是一个示例,如果您想要启动然后一次性删除一组虚拟接口(假设有些是假的, 其他韦斯还有其他桥梁)。group
在 the 之前使用关键字很重要type
,因为它们可能会引入同一关键字的不同用法。这个关于删除的示例仅适用于虚拟接口,但包括真实接口在内的任何接口当然也可以分配组值。
创建时(此处除外bridgeg1
):
ip link add name dummyg1 group 1 type dummy
ip link add name vethg1 group 1 type veth
ip link add name bridgeg1 type bridge
一个接口可以有它的后来改组了也:
ip link set dev bridgeg1 group 1
显示标记为组 1 的接口:
# ip -o link show group 1
3: dummyg1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group 1 qlen 1000\ link/ether 1a:c8:19:3b:f5:e8 brd ff:ff:ff:ff:ff:ff
4: veth0@vethg1: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group 1 qlen 1000\ link/ether 02:6e:66:bb:69:e8 brd ff:ff:ff:ff:ff:ff
5: vethg1@veth0: <BROADCAST,MULTICAST,M-DOWN> mtu 1500 qdisc noop state DOWN mode DEFAULT group 1 qlen 1000\ link/ether 6e:22:d1:3d:5c:6d brd ff:ff:ff:ff:ff:ff
6: bridgeg1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group 1 qlen 1000\ link/ether 7e:23:0c:7c:f5:18 brd ff:ff:ff:ff:ff:ff
将它们全部设置立即起来:
ip link set group 1 up
删除接口标记组 1:
# ip -o link delete group 1
他们走了:
# ip -o link show
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT group default qlen 1000\ link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ip6tnl0@NONE: <NOARP> mtu 1452 qdisc noop state DOWN mode DEFAULT group default qlen 1000\ link/tunnel6 :: brd :: permaddr 2001:db8:1234::
接口组标签的整个网络堆栈可能还有其他用途。例如,这可以与iptables'devgroup
匹配或nftables'开发组键入iifgroup
和oifgroup
元表达式使用单个规则匹配同一组中的任何接口,只要有一种方法可以在最初标记接口,就可以简化管理。