O problema é que o firewalld do Fedora. Parece que o nspawn nunca foi integrado ao firewalld. (O nspawn também não está corretamente integrado com a política SELinux do Fedora).
Como mencionado na pergunta, o libvirt está funcionando bem :). Nós podemos usar o mesmo truque que as pessoas descobriram para rodar containers com o LXC no Fedora .
Execute systemd-nspawn com a opção --network-bridge virbr0
. Em vez de depender de systemd-networkd
, isso aproveita libvirtd.service
. O último serviço já é iniciado por padrão no Fedora. No convidado, configure seu cliente DHCP preferido como de costume.
Resolução de DNS ao usar systemd-networkd como cliente DHCP
Usar systemd-networkd
como cliente DHCP pode acidentalmente funcionar sozinho, se você tiver uma sobrecorrente /etc/resolv.conf
de uma inicialização de contêiner anterior. Mas você não pode confiar nesse trabalho em geral. Ele foi realmente projetado para ser executado junto com systemd-resolved.service
.
Por sua vez, o systemd-resolved deve ser usado com nss-resolve
. No entanto, isso não é AIUI essencial.