Linuxで偽のイーサネットダミーインターフェースを作成するにはまず、以下のコマンド/ sbin/modprobe dummyを使用してダミーインターフェースドライバーを初期化します。
次に、上で初期化したばかりのダミードライバーにイーサネットインターフェイスエイリアスを割り当てます。
ただし、次の致命的なエラーが表示されます。致命的:モジュールのダミーが見つかりません。
また、パスcd/sys/devices/virtual/net#で、次の名前で仮想インターフェイスが存在することがわかります。
dummy0/lo/sit0/tunl0 /
ifconfig -a
dummy0: Link encap:Ethernet HWaddr aa:3a:a6:cd:91:2b
BROADCAST NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
lo: Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:111 errors:0 dropped:0 overruns:0 frame:0
TX packets:111 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8303 (8.1 KiB) TX bytes:8303 (8.1 KiB)
sit0: Link encap:UNSPEC HWaddr 00-00-00-00-FF-00-00-00-00-00-00-00-00-00-00-00
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
tunl0: Link encap:IPIP Tunnel HWaddr
NOARP MTU:1480 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
そのため、modprobeコマンドはカーネルモジュールをロードできません。
modprobeまたはinsmodを使用してカーネルモジュールをロードし、ダミーインターフェイスドライバーを初期化するにはどうすればよいですか?
ロードされた単一のモジュールに複数のダミーインターフェイスを作成できますか?
複数のダミーインターフェイスを追加する通常の方法は、 iproute2 を使用することです。
# ip link add dummy0 type dummy
# ip link add dummy1 type dummy
# ip link list
...
5: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 22:4e:84:26:c5:98 brd ff:ff:ff:ff:ff:ff
6: dummy1: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 9e:3e:48:b5:d5:1d brd ff:ff:ff:ff:ff:ff
しかし、エラーメッセージ致命的:モジュールダミーが見つかりませんは、ダミーインターフェイスモジュールが有効になっていないカーネルがある可能性があることを示しています。カーネル構成、および必要に応じてカーネルを再コンパイルします。
起動時にダミーのインターフェースを作成するには、/etc/modules
に追加することをお勧めします
dummy
モジュールdummy
onlyは、カーネル4.4.x(正しいバージョンを確認する)の前に、デフォルトで2つのダミーインターフェイスを許可することに注意してください。
さらに必要な場合は、パラメータnumdummies
を定義する/etc/modprobe.d/local
または/etc/modprobe.d/dummy.conf
のいずれかを作成し、必要なダミーインターフェイスの数を指定する必要があります。
options dummy numdummies=4
@Feuermurmelのコメントのとおり、新しいカーネルでは、次のコマンドを使用して、デフォルトで作成される2つのインターフェイスに加えて、さらにダミーインターフェイスを追加します。
Sudo ip link add dummyX type dummy