LXC : test première instance

Soumis par drupal_admin le lun 13/04/2020 - 15:22

Assurons nous d'abord que notre instance est 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 s'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 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.

taxonomie