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