Conteneur LXC dans le vlan

Par défaut, lorsque l’on créé un conteneur LXC, celui-ci se retrouve dans le vlan créé lors de l’initialisation de LXD. Par exemple, si vous avez suivi le tuto de l’article précédent vous avez un vlan en 10.179.231.1/24 :

carmelo@pc-home-02:~$ lxc network list
+--------+----------+---------+-------------+---------+
|  NAME  |   TYPE   | MANAGED | DESCRIPTION | USED BY |
+--------+----------+---------+-------------+---------+
| ens160 | physical | NO      |             | 0       |
+--------+----------+---------+-------------+---------+
| lxdbr0 | bridge   | YES     |             | 1       |
+--------+----------+---------+-------------+---------+


carmelo@pc-home-02:~$ lxc network show lxdbr0
config:
  ipv4.address: 10.179.231.1/24
  ipv4.nat: "true"
  ipv6.address: none
description: ""
name: lxdbr0
type: bridge
used_by:
- /1.0/containers/ubuntu1904-001
managed: true
status: Created
locations:
- none
carmelo@pc-home-02:~$

Parfois, il peut être utile d’avoir son conteneur directement dans notre vlan usuel. Ici, mon porte-conteneur prend son adresse IP locale via mon routeur, qui lui attribue 192.168.0.175. Toutes les machines de mon lan sont sur 192.168.0.x.

Afin d’avoir un conteneur accessible depuis mon laptop par exemple, il faut créer un nouveau profil, et le configurer comme suit :

  • On duplique le profil par défaut :

      lxc profile copy default lanprofile
    
  • On configure le type du nouveau profil "lanprofile" créé prédcédemment :

      lxc profile device set lanprofile eth0 nictype macvlan
      lxc profile device set lanprofile eth0 parent ens160
    

(ici ens160 est l’interface par laquelle mon porte-conteneurs est lié à mon réseau local)

Une fois ceci fait, on peut créer un nouveauy conteneur, qui utilisera le nouveau profil "lanprofile" :

lxc launch -p lanprofile ubuntu:19.04 monConteneur-001

Et voilà, nous avons un conteneur "monConteneur-001" qui aura son IP directement sur 192.168.0.x :

carmelo@pc-home-02:~$ lxc list
+------------------+---------+----------------------+------+------------+-----------+
|       NAME       |  STATE  |         IPV4         | IPV6 |    TYPE    | SNAPSHOTS |
+------------------+---------+----------------------+------+------------+-----------+
| monConteneur-001 | RUNNING | 192.168.0.140 (eth0) |      | PERSISTENT | 0         |
+------------------+---------+----------------------+------+------------+-----------+
| ubuntu1904-001   | RUNNING | 10.179.231.51 (eth0) |      | PERSISTENT | 0         |
+------------------+---------+----------------------+------+------------+-----------+
carmelo@pc-home-02:~$