![Arch Linux - 가상 머신에는 ipv4가 없습니다.](https://linux55.com/image/140152/Arch%20Linux%20-%20%EA%B0%80%EC%83%81%20%EB%A8%B8%EC%8B%A0%EC%97%90%EB%8A%94%20ipv4%EA%B0%80%20%EC%97%86%EC%8A%B5%EB%8B%88%EB%8B%A4..png)
며칠 동안 각 가상 머신의 네트워크 연결에 문제가 있었습니다. 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 주소를 제공하지 않습니다. 따라서 최신 패치에 문제가 있을 것입니다.