web-dev-qa-db-ja.com

Linuxで複数のダミーインターフェイスを作成するにはどうすればよいですか?

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を使用してカーネルモジュールをロードし、ダミーインターフェイスドライバーを初期化するにはどうすればよいですか?
ロードされた単一のモジュールに複数のダミーインターフェイスを作成できますか?

11
Kushal

複数のダミーインターフェイスを追加する通常の方法は、 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

しかし、エラーメッセージ致命的:モジュールダミーが見つかりませんは、ダミーインターフェイスモジュールが有効になっていないカーネルがある可能性があることを示しています。カーネル構成、および必要に応じてカーネルを再コンパイルします。

13
dirkt

起動時にダミーのインターフェースを作成するには、/etc/modulesに追加することをお勧めします

dummy

モジュールdummyonlyは、カーネル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
7
Rui F Ribeiro