QEMU에서 VM 실행을 시도했는데 VM이 시작되었지만 eth0
호스트에서 브리지 및 탭 인터페이스를 구성했는데 다음을 볼 수 있습니다.
brctl show bro
bridge name bridge id STP enabled interfaces
bro 8000.bedc8d16e7d8 no eno1
tap0
인터페이스가 좋아 보입니다.
ip addr show bro
3: bro: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether be:dc:8d:16:e7:d8 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.112/24 brd 192.168.100.255 scope global dynamic bro
valid_lft 540129sec preferred_lft 540129sec
inet6 fe80::bcdc:8dff:fe16:e7d8/64 scope link
valid_lft forever preferred_lft forever
ip addr show eno1
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bro state UP group default qlen 1000
link/ether 98:90:96:9d:d9:83 brd ff:ff:ff:ff:ff:ff
ip addr show tap0
8: tap0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel master bro state DOWN group default qlen 1000
link/ether d2:74:5b:04:81:f8 brd ff:ff:ff:ff:ff:ff
inet 192.168.100.222/24 brd 192.168.100.255 scope global tap0
valid_lft forever preferred_lft forever
다음은 가상 머신을 실행하는 데 사용하는 명령입니다.
sudo qemu-system-aarch64 -m 1024 -cpu cortex-a57 -M virt -nographic -pflash flash0.img -pflash flash1.img -drive if=none,file=CentOS-7-aarch64-Minimal-1810.iso,id=hd0 -device virtio-blk-device,drive=hd0 -netdev type=tap,id=net0 -device virtio-net-device,netdev=net0,mac=bc:dc:8d:16:e7:d8, -hda centos7-arm.img
게스트에는 IP가 없으며 DHCP도 다음을 수행하지 않습니다.
[root@localhost ~]# ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether bc:dc:8d:16:e7:d8 brd ff:ff:ff:ff:ff:ff
CentOS에서 구성하려고 하면 nmtui
실패 service network restart
합니다. 로그에서 발견됨:
localhost.localdomain network[4058]: Bringing up interface eth0: Error: Connection activation failed: IP configuration could not be reserved (no available address, timeout, etc.)
무엇이 잘못될 수 있는지 아시나요?
답변1
kvm
libvirt
명령줄( 또는 최근에는 내가 선호하는 Proxmox) 에서 직접 게스트를 실행한 지 꽤 오래되었습니다 .
그러나 호스트의 인터페이스 정의를 보고 이를 내 작업 구성과 비교하면 가장 분명한 차이점은 인터페이스 tap0
의 IP 주소가 192.168.100.222/24인 반면 내 인터페이스는 그렇지 않다는 것입니다. (게스트는 DHCP에서 얻은 IP 주소를 정의합니다. 호스트 인터페이스에는 IP 주소가 없어야 합니다.)
# brctl show br0
bridge name bridge id STP enabled interfaces
br0 8000.009c029758d6 no eth0
vnet5
# ip addr show vnet5
12: vnet5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UNKNOWN group default qlen 1000
link/ether fe:54:00:3c:75:33 brd ff:ff:ff:ff:ff:ff
inet6 fe80::fc54:ff:fe3c:7533/64 scope link
valid_lft forever preferred_lft forever
# ssh vmguest ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 52:54:00:3c:75:33 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.15/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::5054:ff:fe3c:7533/64 scope link
valid_lft forever preferred_lft forever
해당 IP 주소를 직접 설정했습니까 tap0
, 아니면 명령의 부작용이었습니까 kvm
?