Buster & LXC & Virtnet

Une petite installation de LXC sur debian Buster avec Virtnet

Suite a ma migration a Debian Buster, je n'arrive plus a reconfigurer mon LXC pour que les machines aient un accès a internet. J'ai donc fait quelques recherches, et j'ai pu me refaire un setup qui fonctionne. Je le partage ici pour ma mémoire, et si il sert a quelqu'un tant mieux.

Contexte

J'utilise LXC pour tester mes scripts ansible avant de les lancer sur mes serveurs de prod. J'ai besoin que les machine LXC aie accès a internet et que l'hote (mon ordinateur portable) puissent se connecter sur les machines LXC, sans considération du moyen au quel mon portable est connecter a internet (wifi/filaire/4g)., voir même si il n'est pas du tout connecter au grand internet.

Prérequis

Il faut installer les paquets nécéssaires, on lance donc la commande suivante

sudo apt install lxc debootstrap libvirt-clients libvirt-daemon-system

Configuration du réseau

Pour configurer le réseau, je passe donc par libvirt, la configuration se fait bia l'outils virsh avec la commande suivante

sudo virsh net-edit default

Et on fait en sorte qu'il ressemble a ça :

<name>default</name>
    <uuid>4e0d3254-f101-4bcb-9c97-6f0b7ae56668</uuid>
    <forward mode='nat'/>
    <bridge name='virbr0' stp='on' delay='0'/>
    <mac address='52:54:00:67:55:cd'/>
    <ip address='192.168.122.1' netmask='255.255.255.0'>
        <dh    cp>
            <range start='192.168.122.2' end='192.168.122.254'/>
        </dhcp>
    </ip>
</network>

Par la suite il faut activer le réseau et le charger au démarrage.

sudo virsh neT start default
sudo virsh net-autostart default

Juste un petit

ip a

Pour s'assurer que les nouvelles interfaces sont bien présente

Configuration de LXC pour utiliser le réseau

On va crée un fichier pour spécifier la configuration par défaut de LXC, avec la commande suivante :

sudo nano /usr/share/lxc/config/common.conf.d/net.conf

Et dedans on met les lignes suivantes :


lxc.net.0.type = veth
lxc.net.0.link = virbr0
lxc.net.0.flags = up

On fait les testes

Pour crée une nouvelle machine LXC on fait comme toujours :

sudo lxc-create -n beta -t debian

et après on joue avec