Linux에서 여러 가상 인터페이스를 만드는 방법은 무엇입니까?

Linux에서 여러 가상 인터페이스를 만드는 방법은 무엇입니까?

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

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

또한, 가는 길에 CD /sys/devices/가상/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 명령은 커널 모듈을 로드할 수 없습니다.
다음을 사용하여 커널 모듈을 로드하는 방법모듈 프로브아니면 insmod가 가상 인터페이스 드라이버를 초기화합니까?
단일 로드된 모듈에서 여러 가상 인터페이스를 만들 수 있습니까?

답변1

여러 가상 인터페이스를 추가하는 일반적인 방법은 다음을 사용하는 것입니다.IP 경로 2:

# 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

하지만 오류 메시지치명적: 가상 모듈을 찾을 수 없습니다.가상 인터페이스 모듈이 활성화되지 않은 커널이 있을 수 있음을 나타냅니다. 따라서 커널 구성을 확인하고 필요한 경우 커널을 다시 컴파일하십시오.

답변2

부팅 시 가상 인터페이스를 생성하려면 다음을 추가하는 것이 좋습니다./etc/modules

dummy

커널 4.4.x 이전에는 이 모듈에서 dummy기본적으로 두 개의 가상 인터페이스만 허용했습니다(올바른 버전은 확인해야 함).

더 필요한 경우 하나를 생성하거나 /etc/modprobe.d/local원하는 가상 인터페이스 수로 매개변수를 정의 해야 합니다 /etc/modprobe.d/dummy.conf.numdummies

options dummy numdummies=4 

@Fuermurmel 의견에 따르면 최신 커널에서는 기본적으로 생성된 두 개의 가상 인터페이스 외에도 다음을 사용하여 더 많은 가상 인터페이스를 추가할 수 있습니다.

sudo ip link add dummyX type dummy

관련 정보