Outils pour utilisateurs

Outils du site


reseau:rinn2013:accueil

netLXC 2020 v.20-09 (septembre 2020)

Appliance virtuelle d'apprentissage des réseaux à base de LXC

The poor man's system to experiment computer networking !

netLXC 2019 v.18-09 (septembre 2018) est un ensemble de logiciels cohérent permettant de concevoir et tester des réseaux locaux dans un environnement GNU/Linux virtualisé.

netLXC vous permettra de maquetter de nombreux projets (PPE) et de réaliser des TP dans des conditions très proches de la réalité mais confortables.

Par la virtualisation, vos projets pourront être mis en oeuvre sur n'importe quelle machine de type PC et sous n'importe quel système de type GNU/Linux, Windows ou MacOS.

L'énorme avantage réside dans la mobilité de la solution qui vous permettra de réaliser vos projets et TP sur votre lieu d'étude, à votre domicile ou bien encore… sur une terrasse de café ensoleillée !! :-)

Architecture appliance netLXC

NetLXC possède 2 niveaux de virtualisation :

  • NIVEAU 1 (au plus bas) : une Machine Virtuelle (MV) Debian 8.6 64 bits nommée netLXC 2019 s'appuyant sur le logiciel virtualisateur multi-plateformes Virtualbox (hyperviseur de type 2) diffusé gratuitement par Oracle.
  • NIVEAU 2 (au plus haut) : un environnement de développement réseau basé sur une solution de virtualisation d'isolation LXC (LinuX Containers) permettant de simuler un réseau local d'entreprise.
btssio@netLXC:~$ su
Mot de passe : 
root@netLXC:/home/btssio# cat /etc/issue
Debian GNU/Linux 9 \n \l

root@netLXC:/home/btssio# file /usr/bin/file
/usr/bin/file: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=833d99e1b8d7884dc6b1cfb142ba3034b1bf6968, stripped

root@netLXC:/home/btssio# lsb_release -a
No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 9.5 (stretch)
Release:	9.5
Codename:	stretch
root@netLXC:/home/btssio# 


 

ATTENTION : netLXC est une machine virtuelle. Comme toute machine (physique ou virtuelle), vous devez arrêter proprement le système par l'interface graphique ou par les commandes « halt » ou « shutdown » sous peine de détériorer définitivement le système.

Cette remarque s'applique également aux containers LXC.

Briques logicielles intégrées dans netLXC 2019

La MV Debian 9.5 64 bits est équipée d'une interface Xfce minimaliste.

Les services applicatifs « classiques » ne sont pas pré-installés (Samba, Squid, MYSQL Server, etc… ). Libre à vous d'installer ces services à la demande. Seuls BIND DNS et Apache 2 sont pré-installés.

Par contre, des logiciels spécialisés sont à disposition comme :

  • les composants LXC,
  • des containers “template” et une pré-configuration des fichiers de configuration des réseaux pour démarrer sur les chapeaux de roues !
  • l'analyseur de trame wireshark,
  • l'interface d'administration webmin,
  • une calculette IP en mode commande (ipcalc), et en mode graphique (gip)
  • network tools,
  • netdiscover,
  • traceroute, nmap et zenmap,
  • ssh,
  • netcat,
  • gparted
  • et… Terminator, logiciel permettant de créer et d'organiser plusieurs terminaux virtuels dans une même fenêtre… Très utile pour gérer les terminaux des différents containers LXC !

Container-template LXC sur la machine netLXC

Informations d'authentification

MV virtualbox netLXC

utilisateur : btssio
mot de passe: btssio

utilisateur : root
mot de passe : btssio

Webmin

Pour lancer le service webmin :  /etc/webmin/start
adresse : http://127.0.0.1:10000/
utilisateur : root
mot de passe : btssio

Espace de stockage à prévoir

netLXC « pèse » actuellement 6,1 Go.

Il faut aussi prévoir de l'espace pour stocker les containers LXC créés. Un disque externe s'avère donc très utile pour assurer la mobilité du kit !!

Il est également fortement suggéré de posséder une sauvegarde du kit original et une sauvegarde du kit incluant vos travaux (TP, AP… ).

Comment sauvegarder un container ?

Typiquement, un container (généré à partir de container-template “templex” inclus dans netLXC) pèse 500 Mo et prend la forme d'un répertoire situé dans le répertoire “parent” /var/lib/lxc.

root@netLXC2017:/var/lib/lxc# ls -l
total 482784
drwxr-xr-x 2 root root      4096 déc.  19 10:36 deb-template
-rw-r--r-- 1 root root     17391 déc.  20 19:25 lxc-monitord.log
drwxrwx--- 3 root root      4096 déc.  24 16:24 routeur
drwxrwx--- 3 root root      4096 déc.  24 16:18 station1
-rw-r--r-- 1 root root 494305280 déc.  25 12:53 station1.tar
drwxrwx--- 3 root root      4096 déc.  24 16:20 station2
drwxr-xr-x 2 root root      4096 déc.  24 16:18 station23
drwxrwx--- 3 root root      4096 déc.  24 16:17 station3
drwxrwx--- 3 root root      4096 déc.  24 16:19 station4
drwxrwx--- 3 root root      4096 déc.  21 19:49 super-template-deb
drwxrwx--- 3 root root      4096 déc.  21 19:52 templex
root@netLXC2017:/var/lib/lxc#
Ici, nous avons 9 containers.

Pour faciliter la copie (vers la machine physique par exemple), vous pouvez archiver le container :

root@netLXC2017:/var/lib/lxc# tar cvf station1.tar station1

Extrait de la commande “ls -l” précédente :

-rw-r--r-- 1 root root 494305280 déc.  25 12:53 station1.tar

voire le compresser…

root@netLXC2017:/var/lib/lxc# tar czvf  station1.gz station1
Après archivage et compression, le fichier “station1.gz” pèse 225 Mo environ…

Construire la plate-forme LXC sur netLXC

Aller plus loin...

Enfin...

Don't crack under pressure !!! :-)

~~DISCUSSION~~

reseau/rinn2013/accueil.txt · Dernière modification: 2020/06/08 12:14 (modification externe)