Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
lxc [Le 12/08/2018, 11:33]
beaver
lxc [Le 19/12/2018, 06:37] (Version actuelle)
193.107.85.62
Ligne 379: Ligne 379:
 Ou bien : Ou bien :
  
-<code bash>cd /​home/​$USER/​.local/​lxc/​nom_de_votre_container/</​code>​+<code bash>sudo -i && ​cd /​home/​$USER/​.local/​lxc/​nom_de_votre_container/</​code>​
  
 Ensuite, nous utilisons la commande [[tar|tar]] avec son option **--numeric-owner**,​ qui est ici très importante. Elle va permettre de garder les **uid/gid** intactes lors de l'​extraction. Nous utilisons aussi l'​outil [[apt>​gzip|gzip]] et son option **-9((--best-compression.))**,​ qui vous offrira, une compression maximale. Ensuite, nous utilisons la commande [[tar|tar]] avec son option **--numeric-owner**,​ qui est ici très importante. Elle va permettre de garder les **uid/gid** intactes lors de l'​extraction. Nous utilisons aussi l'​outil [[apt>​gzip|gzip]] et son option **-9((--best-compression.))**,​ qui vous offrira, une compression maximale.
  
-<code bash>export ​GZIP=-9 tar --numeric-owner -czvf mon_container.tar.gz ./​*</​code>​+<code bash>​GZIP=-9 tar --numeric-owner -czvf mon_container.tar.gz ./​*</​code>​
  
 Vous voilà maintenant en possession d'un backup de votre container, passons maintenant à sa restauration. Vous voilà maintenant en possession d'un backup de votre container, passons maintenant à sa restauration.
Ligne 487: Ligne 487:
 <code bash>​sudo((container unprivileged ou non?)) lxc-snapshot -r snapX -n nom_de_mon_container</​code>​ <code bash>​sudo((container unprivileged ou non?)) lxc-snapshot -r snapX -n nom_de_mon_container</​code>​
  
-----+===== Iptables (utilisation basique) et bridge =====
  
-===== Création ​d'une image customisée ​LXC =====+Vous trouverez ici, une esquisse ​d'un script [[:​iptables]],​ pour faire fonctionner votre container ​LXC. Il est bien entendu à ajouter aux règles que **vous avez déjà**, et à exécuter depuis votre [[wpfr>​Hôte_(informatique)|machine hôte]] !. Cette esquisse est surtout utile si vous avez **un firewall d'​actif**,​ sinon, vous devez juste activer le port forwarding((echo 1 > /​proc/​sys/​net/​ipv4/​ip_forward)),​ et **configurer le fichier lxc-net comme ci-bas**. Nous noterons aussi, que nous pouvons encore être plus restrictif, mais cette configuration semble adéquate pour un [[wpfr>​Luser|profane]]((Et c'est pas péjoratif ce script est qu'une ébauche.)).
  
-=== Prérequis ===+Nous devons aussi, absolument [[:​installation_logiciel|installer le package]] [[apt>​dnsmasq-base]],​ qui est, logiquement déjà installé sur votre machine. Et ensuite configurer LXC pour qu'il utilise la technologie [[apt>​lxc-net|bridge]].
  
-[[:​tutoriel:​comment_installer_un_paquet|Installez ​le paquet:]] [[apt>​debootstrap|debootstrap]] ou [[apt>​cdeboostrap|cdeboostrap]].+Veuillez ​[[:​tutoriel:​comment_modifier_un_fichier|éditer ​le fichier]] **/​etc/​default/​lxc-net**,​ pour avoir comme résultat final :
  
-----+<​code>​ 
 +USE_LXC_BRIDGE="​true"​ 
 +</​code>​
  
-<​note>​ En cours --- //​[[:​utilisateurs:​beaver|beaver]] Le 12/08/2018, 11:18//</​note>​+Nous devons ensuite redémarrer notre service **lxc-net** :
  
 +<​code>​sudo systemctl restart lxc-net</​code>​
 +
 +Pour vérifier que tout est ok :
 +
 +<​code>​ip -4 -o a show lxcbr0</​code>​
 +Retournera par exemple :
 +<​code>​
 +3: lxcbr0 ​   inet 10.0.3.1/24 scope global lxcbr0\ ​      ​valid_lft forever preferred_lft forever
 +</​code>​
 +
 +Et voici le script [[:​iptables]] :
 +
 +<file bash iptables_lxc>​
 +#!/bin/bash
 +## Créé par BeAvEr, modifié par -> ?.
 +### Merci d'​utiliser FIXME au sein du dokuwiki francophone Ubuntu au besoin, ​
 +### ou d'​apporter votre contribution sur ce script, ici même.
 +#### Merci de garder un aspect "​humain"​ au script.
 +##### Le tout étant d'​avoir juste les règles basiques, pour qu'un Luser/​Profane/​Néophyte,​ puisse utiliser LXC
 +##### de manière **"​relativement"​** sécurisé. ​
 +##### (Pouvoir ping, apt-update, et cetera, et dans cet ordre là, depuis son container, pas plus).
 +
 +# Nous activons le port forwarding, pour pouvoir communiquer à l'​intérieur de notre container.
 +
 +echo 1 > /​proc/​sys/​net/​ipv4/​ip_forward
 +
 +## Règles iptables
 +iptables-restore < /​etc/​iptables.test.rules
 +iptables -F
 +iptables -X
 +iptables -t nat -F
 +iptables -t nat -X
 +iptables -t mangle -F
 +iptables -t mangle -X
 +iptables -I INPUT -s 10.8.0.0/24 -i lxcbr0 -p udp --dport 67 -j ACCEPT
 +iptables -I INPUT -s 10.8.0.0/24 -i lxcbr0 -p tcp --dport 67 -j ACCEPT
 +iptables -I INPUT -s 10.8.0.0/24 -i lxcbr0 -p udp --dport 53 -j ACCEPT
 +iptables -I INPUT -s 10.8.0.0/24 -i lxcbr0 -p tcp --dport 53 -j ACCEPT
 +iptables -I FORWARD -s 10.8.0.0/24 -i lxcbr0 -j ACCEPT
 +iptables -I FORWARD -s 10.8.0.0/24 -o lxcbr0 -j ACCEPT
 +iptables -t nat -A POSTROUTING -s 10.0.3.1/24 ! -d 10.0.3.1/24 -j MASQUERADE
 +iptables -t mangle -A POSTROUTING -o lxcbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
 +
 +exit 0
 +</​file>​
 +
 +
 +----
  
 ===== Voir aussi ===== ===== Voir aussi =====
   * [[https://​www.youtube.com/​watch?​v=caXHwYC3tq8|3 premières minutes de cette vidéo explique ce qu'est lxc]]   * [[https://​www.youtube.com/​watch?​v=caXHwYC3tq8|3 premières minutes de cette vidéo explique ce qu'est lxc]]
   * [[:LXD]] pour gérer les containers. [[:Docker]] décrit dans la vidéo citée précédemment n'​utilise plus lxc.   * [[:LXD]] pour gérer les containers. [[:Docker]] décrit dans la vidéo citée précédemment n'​utilise plus lxc.
- 
  
 ---- ----
  
 Contributeur(s):​ [[:​utilisateurs:​beaver|BeAvEr]]. Contributeur(s):​ [[:​utilisateurs:​beaver|BeAvEr]].
  • lxc.1534066382.txt.gz
  • Dernière modification: Le 12/08/2018, 11:33
  • par beaver