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


11

가짜 이더넷 더미 인터페이스를 만들려면 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를 사용하여 커널 모듈을로드 할 수 있습니까?
로드 된 단일 모듈에 여러 개의 더미 인터페이스를 만들 수 있습니까?


이더넷 가상 인터페이스에 대해 이야기했을 때 더미 모듈을로드 할 필요가 없었습니다. eth0 : 1, eth0 : 2 등과 같은 ifconfig 명령을 사용하여 만들 수 있습니다.
supriady

ifconfig 명령을 사용하여 이더넷 가상 인터페이스에서 다른 IP 주소, 서브넷 및 게이트웨이를 설정할 수 있습니다. rc.local에 추가하고 부팅시로드하면 이더넷 가상 인터페이스 구성 파일을 만들 필요가 없습니다.
Supriady

1
@ supriady 가상 인터페이스에 대해 묻지 않습니다. eth0 : 1과 같은 ifconfig를 사용하여 가상 IP를 인터페이스에 할당 할 수 있다는 것을 알고 있지만 Mac 가상 주소는 생성 된 각 가상 인터페이스마다 동일합니다. 내 질문은 실제 인터페이스와 다른 H / w Mac 주소를 가진 위에 표시된 dummy0과 같은 여러 더미 인터페이스를 만드는 방법입니다.
Kushal

확실히, 당신은 이러한 인터페이스가 기계 외부에서 보이지 않을 것이라는 것을 알고 있습니까?
Julie Pelletier

질문에 modprobe오류 의 전체 출력 및 출력 :uname -r
Rui F Ribeiro

답변:


13

여러 개의 더미 인터페이스를 추가하는 일반적인 방법은 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 오류 메시지 는 더미 인터페이스 모듈이 활성화되지 않은 커널이있을 수 있음을 나타내므로 커널 구성을 확인하고 필요한 경우 커널을 다시 컴파일하십시오.


"오류 메시지 치명적 : 모듈 더미를 찾을 수 없음은 더미 인터페이스 모듈이 활성화되지 않은 커널이있을 수 있음을 나타냅니다."=> 아니요, 더미 드라이버가 모듈로 빌드되지 않았지만 대신 커널에 직접 추가되었음을 의미 할 수 있습니다. . 분명히 dummy0OP의 머신에 인터페이스가 존재합니다. 그 이외의 대답은 괜찮습니다.
xhienne

1
@xhienne는 modprobe의 버전에 따라 다르지만 kmod적어도의 최신 버전 은 내장에 대해 알고 있습니다. 시도 해봐. 예 modprobe unixmodprobe -r unix.
sourcejedi

7

부팅시 더미 인터페이스를 만들려면 다음을 추가하는 것이 좋습니다. /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

커널 4.4.0 이상에서는 추가 더미 인터페이스를 추가 할 수 있습니다 ip link add dumdum type dummy.
Feuermurmel

@Feuermurmel 2 개 이상을 추가 할 수 있다면 아이디어가 있습니까?
Rui F Ribeiro

확실히 그렇습니다. 자신을 테스트하십시오 :for i in {0..100}; do ip link add blubb-$i type dummy; done
Feuermurmel

@Feuermurmel 좋은 소식, 팁 주셔서 감사합니다. 추가 답변으로 추가 할 수 있습니다. 커널 버전이 낮은 iOT 장치가 여전히 많기 때문에 IMO는 모두 적합합니다.
Rui F Ribeiro

호기심이 없음 : 이러한 장치는 일단 생성되어 재부팅 할 때까지 지속됩니까? 아니면 각 시스템을 시작한 후에 다시 만들어야합니까?
Robidu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.