LXC : test première instance

Assurons nous d'abord que notre instance est bien configurée :

lxc-ls -f 
NAME STATE AUTOSTART GROUPS IPV4 IPV6 UNPRIVILEGED 
debian-a STOPPED 0 - - - false

L’instance est bien là et stoppée, essayons de la démarrer et de nous y connecter :

lxc-start debian-a 
lxc-attach debian-a 
root@debian-a:/# ls -al 
total 56 
drwxr-xr-x 18 root root 4096 avril 12 14:26 . 
drwxr-xr-x 18 root root 4096 avril 12 14:26 .. 
lrwxrwxrwx 1 root root 7 avril 6 16:18 bin -> usr/bin 
drwxr-xr-x 2 root root 4096 févr. 1 17:09 boot 
drwxr-xr-x 7 root root 520 avril 12 14:26 dev 
drwxr-xr-x 51 root root 4096 avril 10 22:58 etc 
...... 
drwxr-xr-x 2 root root 4096 avril 6 16:18 opt 
dr-xr-xr-x 301 root root 0 avril 12 14:26 proc 
drwx------ 3 root root 4096 avril 10 22:58 root 
drwxr-xr-x 11 root root 340 avril 12 14:27 run 
lrwxrwxrwx 1 root root 8 avril 6 16:18 sbin -> usr/sbin 
drwxr-xr-x 2 root root 4096 avril 6 17:00 selinux 
drwxr-xr-x 2 root root 4096 avril 6 16:18 srv 
dr-xr-xr-x 12 root root 0 avril 12 14:26 sys 
drwxrwxrwt 7 root root 4096 avril 12 14:27 tmp 
drwxr-xr-x 13 root root 4096 avril 6 16:18 usr 
drwxr-xr-x 11 root root 4096 avril 6 16:18 var

Cette instance ressemble bel et bien à une machine standard, voyons pour la partie réseau :

root@debian-a:/# ifconfig 
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 
inet 192.168.3.11 netmask 255.255.255.0 broadcast 192.168.3.255 
inet6 fe80::54de:e3ff:fe2b:e5fb prefixlen 64 scopeid 0x20<link> 
ether 56:de:e3:2b:e5:fb txqueuelen 1000 (Ethernet) 
RX packets 30 bytes 5576 (5.4 KiB) 
RX errors 0 dropped 0 overruns 0 frame 0 
TX packets 17 bytes 3190 (3.1 KiB) 
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 
inet 127.0.0.1 netmask 255.0.0.0 
inet6 ::1 prefixlen 128 scopeid 0x10<host> 
loop txqueuelen 1000 (Local Loopback) 
RX packets 0 bytes 0 (0.0 B) 
RX errors 0 dropped 0 overruns 0 frame 0 
TX packets 0 bytes 0 (0.0 B) 
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

Là aussi tout semble correct, faisons un tout petit test (ssh sur une autre machine physique du réseau) :

ssh root@xxxxxxxxx 
The authenticity of host 'xxxxxxx (192.168.X.Y)' can't be established. 
ECDSA key fingerprint is SHA256:4flIBNtrJjrrVMT3NLBvKkF4XrpODBKBvP/fwZlK9pE. 
Are you sure you want to continue connecting (yes/no)? yes 
Warning: Permanently added 'xxxxxxx,192.168.X.Y' (ECDSA) to the list of known hosts. 
root@xxxxxxxx's password: 
Linux xxxxxxxx 5.4.0-0.bpo.3-amd64 #1 SMP Debian 5.4.13-1~bpo10+1 (2020-02-07) x86_64 
The programs included with the Debian GNU/Linux system are free software; 
the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. 
Last login: Sun Apr 12 12:40:21 2020 from 192.168.2.8 
root@xxxxxxxx:~#

C’est OK, le réseau marche … essayons de faire la mise à jour du système puisque /etc/apt/sources/list a l’air correct : 

root@debian-a# apt-get update 
Get:1 http://security.debian.org stable/updates InRelease [65,4 kB] 
Get:2 http://deb.debian.org/debian stable InRelease [122 kB] 
Get:3 http://deb.debian.org/debian stable/main amd64 Packages [7 907 kB] 
Get:4 http://security.debian.org stable/updates/main amd64 Packages [187 kB] 
Get:5 http://security.debian.org stable/updates/main Translation-en [100 kB] 
Get:6 http://deb.debian.org/debian stable/main Translation-en [5 970 kB] 
Get:7 http://deb.debian.org/debian stable/main Translation-fr [2 478 kB] 
Fetched 16,8 MB in 3s (6 103 kB/s) 
Reading package lists... Done

Tout est donc OK, cette instance semble parfaitement fonctionnelle et occupe #686Mo sur disque. 
On peut s'y connecter en ssh (il faut fixer un nouveau mot se passe "root", lxc-attach vous connecte par ssh en "root) comme sur n'importe quelle autre machine :

ssh root@192.168.3.11 
root@192.168.3.11's password:  
Linux debian-a 5.5.9 #1 SMP Fri Mar 13 19:22:24 CET 2020 x86_64

The programs included with the Debian GNU/Linux system are free software; 
the exact distribution terms for each program are described in the 
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent 
permitted by applicable law. 
Last login: Fri Apr 10 22:58:45 2020 from 192.168.3.1 
root@debian-a:~# 

Mais elle n'est pas très sécurisée car elle fonctionne avec les droits "root" ce qui n'est pas forcément le plus judicieux et que d'autre part rien ne l'empêche de monopoliser l'ensemble de la mémoire, du CPU des IO ... 
Si on utilise la commande "top" la mémoire disponible est celle de la machine pĥysique sous-jacente, "cat /proc/meminfo" donne bien l'intégralité de la mémoire physique. 
De même "df" montre l'intégralité du disque contenant le répertoire /var/lib/lxc. 
Il reste donc encore des choses à faire pour rendre les choses plus sûres et maîtrisables.