前言
systemd-nspawn是systemd提供的一个轻量容器管理工具,可以用来启动容器。在Arch Linux宿主下,使用systemd-nspawn启动一个Arch Linux容器是直接可以使用网络的,但是如果启动一个非Arch Linux发行版systemd-nspawn容器,可能会遇到网络配置问题。
配置
对于非Arch Linux发行版的systemd-nspawn容器,可以使用网桥来实现网络连接。
创建网桥
由于笔者平时也需要使用libvirt,所以这里使用libvirt的网桥virbr0来配置systemd-nspawn容器的网络。
首先,安装libvirt:
sudo pacman -S libvirt
然后,启用libvirtd服务:
sudo systemctl enable --now libvirtd
有可能需要手动启用virbr0网桥:
sudo virsh net-start default
容器配置
在使用systemd-nspawn启动容器时,可以使用--network-bridge=virbr0参数来指定网桥:
sudo systemd-nspawn --network-bridge=virbr0 -D /path/to/container/root
这样,容器就可以使用网桥来连接网络了。