web-dev-qa-db-ja.com

ダミーインターフェイス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で試して同じ結果を得ました。

2
Feuermurmel

それは実際には本当に簡単です。 ip link add dummy1 type dummyを実行すると、ipは自動的にdummyカーネルモジュールをロードします(以前のバージョンではそうしませんでした)。そのモジュールにはパラメータnumdummiesがあり、自動的に作成するダミーデバイスの数と デフォルトは1 を構成します。

したがって、モジュールをロードすると、ipを知らなくてもdummy0ネットワークインターフェイスがすでに作成されます。 ipは、同じ名前の別のインターフェイスを作成しようとしますが、エラーメッセージFile existsで失敗します。

1
Feuermurmel