From fc3d28fd771c6857c4f191070ea20ce7dbacbe94 Mon Sep 17 00:00:00 2001 From: bserie Date: Mon, 23 Jan 2017 15:50:05 +0100 Subject: [PATCH] review --- HowtoLXC.md | 92 +++++++++++++++++++++++------------------------------ 1 file changed, 40 insertions(+), 52 deletions(-) diff --git a/HowtoLXC.md b/HowtoLXC.md index 5a24eb7b..bc026e01 100644 --- a/HowtoLXC.md +++ b/HowtoLXC.md @@ -2,105 +2,93 @@ # HowtoLXC -## Debian 8 (JESSIE) +## Debian 8 (Jessie) ## Installation ~~~ -# apt install lxc bridge-utils libvirt-bin debootstrap +# apt install lxc bridge-utils ??libvirt-bin?? debootstrap ~~~ -## Modifications réseau +## Mise en place du réseau virtuel + +Obligatoire si vous voulez un accès Internet dans vos conteneurs. Une des façons de faire et de monter un bridge qui contiendra tout les conteneurs. Ensuite via iptables, on fera du NAT pour router le réseau privé du bridge via l'interface principale (souvent eth0). ~~~ # cat /etc/network/interfaces [...] auto br0 iface br0 inet static - bridge_ports eth0 - bridge_fd 0 - bridge_maxwait 0 - address 10.10.10.42 + address 192.0.2.254 netmask 255.255.255.0 - gateway 10.10.10.254 - -auto br1 -iface br1 inet static - pre-up brctl addbr br1 - address 10.1.0.254 - netmask 255.255.255.0 - bridge_fd 0 - post-down brctl delbr br1 ~~~ ~~~ -# /sbin/iptables -A INPUT -p tcp --sport 11371 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT -# /sbin/iptables -t nat -A POSTROUTING -s 10.1.0.254/24 -o br0 -j SNAT --to *IP de l'hyperviseur* +# echo 1 > /proc/sys/net/ipv4/ip_forward +# /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE +#### /sbin/iptables -t nat -A POSTROUTING -s 10.1.0.254/24 -o br0 -j SNAT --to *IP de l'hyperviseur* +#### /sbin/iptables -A INPUT -p tcp --sport 11371 --dport 1024:65535 -m state --state ESTABLISHED,RELATED -j ACCEPT ~~~ -Activation du forwarding - -~~~ -# echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf -# echo "net.ipv4.conf.all.arp_announce=2" >> /etc/sysctl.conf -# echo "net.ipv4.conf.all.arp_ignore=1" >> /etc/sysctl.conf -# echo "net.ipv4.conf.all.rp_filter=0" >> /etc/sysctl.conf -# sysctl -w net.ipv4.ip_forward=1 -# sysctl -w net.ipv4.conf.all.rp_filter=0 -# sysctl -w net.ipv4.conf.all.arp_ignore=1 -# sysctl -w net.ipv4.conf.all.arp_announce=2 -~~~ - - ## Installation d'un container +En choisissant de créer un conteur avec `-t download`, cela vous permettra via un prompt de choisir quel type de distribution à installer. + ~~~ -# lxc-create -t download -n test +# lxc-create -t download -n foo ~~~ -Avant de démarrer la VM mettre ces lignes dans le fichier de conf du conteneur : ``/var/lib/lxc/test/config` +On peut directement choisir quel type de distribution on veut. + +~~~ +# # lxc-create -t debian -n foo +~~~ + +### Déclarer le réseau virtuel dans la configuration du conteneur + +Exemple avec la machine `foo`, via le fichier `/var/lib/lxc/foo/config` ~~~ lxc.network.type = veth -lxc.network.link = br1 -lxc.network.ipv4 = 10.1.0.X/24 -lxc.network.ipv4.gateway = 10.1.0.254 +lxc.network.link = br0 +lxc.network.ipv4 = 192.0.2.10/24 +lxc.network.ipv4.gateway = 192.0.2.254 lxc.network.name = eth0 lxc.network.flags = up ~~~ -(Il est conseillé de supprimer systemd du container car ce dernier est mal géré pour le moment) - -~~~ -# apt install sysvinit-core -~~~ - ## Utilisation Démarrer un conteneur : ~~~ -# lxc-start -n test -d +# lxc-start -n foo -d ~~~ Entrer dans un conteneur : ~~~ -# lxc-attach -n test +# lxc-attach -n foo ~~~ -Arreter un conteneur : +Arrêter un conteneur : ~~~ -# lxc-stop -n test +# lxc-stop -n foo ~~~ Autres commandes utiles : ~~~ -# lxc-info -n test-container -# lxc-console -n test-container -# lxc-halt -n test-container -# lxc-info -n test-container -# lxc-destroy -n test-container +# lxc-info -n foo +# lxc-console -n foo +# lxc-halt -n foo +# lxc-info -n foo +# lxc-destroy -n foo ~~~ + +Si systemd dans un container pose souci, on peut revenir à sysvinit. + +~~~ +# apt install sysvinit-core +~~~ \ No newline at end of file