사용자 모드 linux eth0이 호스트에 연결합니다. 탭 이더넷 장치가 시작되지 않았습니다.

사용자 모드 linux eth0이 호스트에 연결합니다. 탭 이더넷 장치가 시작되지 않았습니다.

우분투에서 실행되는 UML 인스턴스를 호스트 간 네트워크로 설정하려고 합니다.

UML--eth0-(192.168.0.254) ----------------tap0--(192.168.0.253)--VM

그러나 eth0 장치를 가져올 수 없습니다.위로IP 주소가 구성된 후에도 상태가 유지됩니다.

UML :

[root@localhost ~]# ifconfig -a
eth0: flags=4098<BROADCAST,MULTICAST>  mtu 1500
    inet 192.168.0.254  netmask 255.255.255.0  broadcast 192.168.0.255
    ether fa:df:23:a2:22:4b  txqueuelen 1000  (Ethernet)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
    device interrupt 5

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
    inet 127.0.0.1  netmask 255.0.0.0
    loop  txqueuelen 1  (Local Loopback)
    RX packets 0  bytes 0 (0.0 B)
    RX errors 0  dropped 0  overruns 0  frame 0
    TX packets 0  bytes 0 (0.0 B)
    TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

보시다시피 eth0 상태는 only broadcast이고 multicastnot 입니다 up. 그러나 VM 측의 tap0은 실행 중입니다.

Host VM
vm@vm:/dev/net$ ifconfig tap0
tap0      Link encap:Ethernet  HWaddr 96:e1:8c:c9:09:54
      inet addr:192.168.0.253  Bcast:192.168.0.255  Mask:255.255.255.0
      UP BROADCAST MULTICAST  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:500
      RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

루트로 로그인했는데도 아래 명령을 실행할 수 없습니다.

[root@localhost ~]# ifconfig eth0 up
SIOCSIFFLAGS: Operation not permitted

[root@localhost ~]# ip link set eth0 up
RTNETLINK answers: Operation not permitted

답변1

해결책을 찾았습니다. 루트로 mu UML 프로세스를 시작한 다음 인터페이스를 시작할 IP 주소를 구성해야 합니다.

루트로 uml을 실행하세요:

 sudo ./linux ubda=Fedora21-x86-root_fs

관련 정보