Arch Linux - 가상 머신에는 ipv4가 없습니다.

Arch Linux - 가상 머신에는 ipv4가 없습니다.

며칠 동안 각 가상 머신의 네트워크 연결에 문제가 있었습니다. Windows이건 Linux이건 상관없습니다.

내 호스트 시스템은 Arch Linux를 기반으로 하며 인터페이스는 systemd-networkd로 구성됩니다. 이것은 내 모든 인터페이스에 대한 구성 파일입니다.

/etc/systemd/network/10-bo0.netdev

[NetDev]
Name=bo0
Kind=bond

[Bond]
Mode=802.3ad
TransmitHashPolicy=layer3+4
MIIMonitorSec=1s
LACPTransmitRate=fast

/etc/systemd/network/10-br0.netdev

[NetDev]
Name=br0
Kind=bridge

/etc/systemd/network/eno1.network

[Match]
Name=eno1

[Network]
Bond=bo0

/etc/systemd/network/enp14s0.network

[Match]
Name=enp14s0

[Network]
Bond=bo0

/etc/systemd/network/20-bo0.network

[Match]
Name=bo0

[Network]
Bridge=br0
BindCarrier=eno1 enp14s0

/etc/systemd/network/25-br0.network

[Match]
Name=br0

[Network]
DHCP=yes
BindCarrier=bo0

[DHCP]
RouteMetric=10

호스트 시스템의 연결이 올바르게 설정되었습니다.

markus@markus-pc:~$ ip a | awk '{ print "    " $0 }'
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp14s0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bo0 state UP group default qlen 1000
    link/ether d6:58:88:05:c9:60 brd ff:ff:ff:ff:ff:ff
3: eno1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bo0 state UP group default qlen 1000
    link/ether d6:58:88:05:c9:60 brd ff:ff:ff:ff:ff:ff
4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether f6:11:0f:03:bf:b1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.179.20/24 brd 192.168.179.255 scope global dynamic br0
       valid_lft 854751sec preferred_lft 854751sec
    inet6 2001:16b8:2efc:3900:f411:fff:fe03:bfb1/64 scope global dynamic noprefixroute 
       valid_lft 6755sec preferred_lft 3155sec
    inet6 fe80::f411:fff:fe03:bfb1/64 scope link 
       valid_lft forever preferred_lft forever
5: bo0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue master br0 state UP group default qlen 1000
    link/ether d6:58:88:05:c9:60 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::d458:88ff:fe05:c960/64 scope link 
       valid_lft forever preferred_lft forever
6: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default 
    link/ether 02:42:aa:68:d9:a1 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
7: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:17:2b:75 brd ff:ff:ff:ff:ff:ff
    inet6 fe80::fc54:ff:fe17:2b75/64 scope link 
       valid_lft forever preferred_lft forever

Arch Linux 업데이트 이후 기본 방화벽 설정이 변경되었는지, 아니면 내 VM이 라우터에서 DHCP 서비스를 받지 못하는 것인지 모르겠습니다.

내 가상 머신이 DHCP 제안을 받고 있는지 또는 IPv4 문제를 해결하기 위한 조치를 받고 있는지 어떻게 확인합니까?

기타 정보:

  • 리눅스 커널: 리눅스 4.18.6-arch1-1-ARCH
  • 큐무 3.0.0

답변1

좀 파헤친 끝에 뭔가를 발견했습니다.

먼저, 문제가 있는지 확인하기 위해 관련된 대부분의 패키지에 대해 시스템 다운그레이드를 수행했습니다. 그래서 libvirt, virt-manager, qemu, iptables, ebtables, dnsmasq를 사용했지만 아무런 영향을 미치지 않았습니다. 가상 머신에는 여전히 IP가 없습니다.

나는 보통 aur에서 linux-vfio 커널을 컴파일하기 위해 pacaur를 사용합니다. 최근 SSD 오류가 발생한 후 pacaur 캐시가 남아 있지 않아 이전 커널(내 커널은 4.18.9-vfio atm)로 다운그레이드할 수 없습니다. 그래서 /var/cache/pacman/pkg에서 일부 주류 커널을 사용해 보았습니다. 최근 4.18.9도 상황이 개선되지 않았습니다. 하지만 4.16.8-1이 해냈습니다. 그것으로 부팅하면 가상 머신에서 IP를 다시 얻었습니다. 며칠 후에 문제를 파악하는 데 더 많은 시간을 할애하겠습니다.

가상 머신이 자주 필요하지 않아서 다행입니다.

편집: 이상하게도 4.14.71 lts 커널도 IP 주소를 제공하지 않습니다. 따라서 최신 패치에 문제가 있을 것입니다.

관련 정보