[unix] Linux에서 여러 개의 더미 인터페이스를 어떻게 만들 수 있습니까?

가짜 이더넷 더미 인터페이스를 만들려면 Linux에서 먼저 다음 명령을 사용하여 더미 인터페이스 드라이버를 초기화합니다.
/ sbin / modprobe dummy .
그런 다음 위에서 초기화 한 더미 드라이버에 이더넷 인터페이스 별칭을 할당합니다.

그러나 다음과 같은 치명적인 오류가 발생합니다.
FATAL : 모듈 더미를 찾을 수 없습니다.

또한 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

그러나 오류 : FATAL : Module dummy not found 오류 메시지 는 더미 인터페이스 모듈이 활성화되지 않은 커널이있을 수 있음을 나타내므로 커널 구성을 확인하고 필요한 경우 커널을 다시 컴파일하십시오.


답변

부팅시 더미 인터페이스를 만들려면 다음을 추가하는 것이 좋습니다. /etc/modules

dummy

dummy커널 4.4.x (올바른 버전을 확인해야 함) 이전에 모듈 은 기본적으로 두 개의 더미 인터페이스 만 허용합니다.

당신이 더 필요한 경우에는 생성도이 중 하나 /etc/modprobe.d/local또는 /etc/modprobe.d/dummy.conf매개 변수를 정의하는 numdummies더미 인터페이스의 수와 당신이 원하는 :

options dummy numdummies=4

@Feuermurmel 의견에 따르면 최신 커널에서는 다음 명령을 사용하여 기본적으로 생성 된 두 가지 인터페이스 외에 더미 인터페이스를 더 추가합니다.

sudo ip link add dummyX type dummy


답변