虚拟接口 dummy0 有何特殊之处?

虚拟接口 dummy0 有何特殊之处?

我正在创建虚拟接口来设置动态路由,一切运行正常。但我发现了一个无法解释的奇怪细节:出于某种原因,当使用名称创建虚拟接口时dummy0,我收到一条错误消息,即使该接口已正确创建并正常工作,而使用其他名称时,不会显示任何错误消息:

root@sdsdd:~# ip link
[lo and eth0 not shown]
root@sdsdd:~# ip link add dummy0 type dummy
RTNETLINK answers: File exists
root@sdsdd:~# ip link add dummy1 type dummy
root@sdsdd:~# ip link
[lo and eth0 not shown]
3: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default 
    link/ether c6:9c:73:8b:17:77 brd ff:ff:ff:ff:ff:ff
4: dummy1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default 
    link/ether be:50:5b:53:99:ab brd ff:ff:ff:ff:ff:ff

怎么回事?这个名字有什么dummy0特别之处?我在任何地方都找不到关于它的任何提及/etc/network/interfaces*。我在 Debian 8 和 Ubuntu 16.04 上尝试过,结果相同。

答案1

其实很简单。运行 时ip link add dummy1 type dummyip会自动加载dummy内核模块(早期版本没有这样做)。该模块有一个参数numdummies,用于配置自动创建多少个虚拟设备以及默认为 1

因此,加载模块已经在不知情的情况下创建了dummy0网络接口ipip然后尝试创建另一个具有相同名称的接口,该接口失败并显示错误消息File exists

相关内容