ArchLinux에서 Cloud-Init를 사용하는 경우(systemd-networkd를 사용하여 네트워크 인터페이스 구성) 생성된 구성 파일이 브릿지 인터페이스에 대해 불완전하거나 올바르지 않습니다. 오랜 시작 지연 후에 브리지 인터페이스가 온라인 상태가 되지 않습니다. 작동하는 브리지 인터페이스를 얻으려면 생성된 파일을 수정하고 새 파일을 만들어야 했습니다.
Cloud-Init 문서에서 시작:
https://cloudinit.readthedocs.io/en/latest/reference/network-config-format-v2.html#bridges
다음 네트워크 YAML 파일을 생각해냈습니다.
version: 2
ethernets:
switchports:
match:
macaddress: '00:16:3e:00:e7:1d'
bridges:
br0:
interfaces: [switchports]
addresses:
- 192.168.231.29/23
routes:
- to: 0.0.0.0/0
via: 192.168.230.4
nameservers:
addresses: [192.168.230.5]
(아마도 네트워크 오류로 인해) 오랜 시작 지연 후에 Cloud-Init에서 생성된 다음 네트워크 프로필을 얻었습니다.
</etc/systemd/network/10-cloud-init-br0.network>
[Address]
Address=192.168.231.29/23
[Match]
Name=br0
[Network]
DHCP=no
DNS=192.168.230.5
[Route]
Destination=0.0.0.0/0
Gateway=192.168.230.4
</etc/systemd/network/10-cloud-init-eth0.network>
[Match]
MACAddress=00:16:3e:00:e7:1d
Name=eth0
[Network]
DHCP=no
</etc/systemd/network/10-cloud-init-switchports.network>
[Match]
Name=switchports
[Network]
DHCP=no
시스템 문서에 따르면:
https://www.freedesktop.org/software/systemd/man/systemd.network.html
이것은 누락된 netdev 파일입니다. 스위치 포트 파일이 닫히지도 않았습니다. 새 netdev 파일을 만들고 다른 두 파일을 다음과 같이 수정해야 했습니다.
</etc/systemd/network/10-cloud-init-br0.netdev> #New File
[NetDev]
Name=br0
Kind=bridge
</etc/systemd/network/10-cloud-init-eth0.network> #Modify this file
[Match]
MACAddress=00:16:3e:00:e7:1d
Name=eth0
[Network]
DHCP=no
Bridge=br0 <- new line
</etc/systemd/network/10-cloud-init-switchports.network> #delete this file outright
기본 br0 구성 파일을 편집할 필요가 없습니다. 달리고 난 후
systemctl 재시작 systemd-networkd.service
br0 인터페이스가 온라인 상태입니다. cloud-init 네트워크 YAML 구성에 문제가 있는지 확인하려고 합니다. 적어도 netdev 파일은 전혀 생성되지 않습니다. 꼭 필요한 경우 일치하는 MAC 주소를 제거할 수 있지만 네트워크 구성 V2가 이보다 더 유연했으면 좋겠습니다.
그럼에도 불구하고 Cloud-Init는 ArchLinux에서 systemd-networkd 브리지를 올바르게 구성하지 않습니다. 어떤 도움이라도 대단히 감사하겠습니다.