logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

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
Prochaine révision Les deux révisions suivantes
doc:autres:vm:lxc:reseau-bridge [03/07/2014 00:06]
127.0.0.1 modification externe
doc:autres:vm:lxc:reseau-bridge [23/08/2018 12:16]
Beta-Pictoris [Réseau facile avec Network Manager]
Ligne 1: Ligne 1:
 ====== TP : Configurer des conteneurs LXC en mode Bridge ====== ====== TP : Configurer des conteneurs LXC en mode Bridge ======
  
-  * Objet : Configurer ​la machine hôte et les conteneurs LXC afin qu'il dispose ​chacun ​d'une adresse+  * Objet : Configurer les conteneurs LXC et l'hote afin que les conteneurs ​dispose d'un accés ethernet exterieur par le biais de la machine hote 
   * Niveau requis :​{{tag>​avisé}}   * Niveau requis :​{{tag>​avisé}}
-  * Commentaires : //Modifier la configuration réseau d'un environnement LXC  // +  * Commentaires : //Modifier la configuration réseau d'un environnement LXC  // [[:​doc:​autres:​vm:​lxc-conteneur|Installer un conteneur LXC]] :-) 
-  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]], [[:​doc:​autres:​vm:​lxc-conteneur|Installer un conteneur LXC]] :-) +  * Suivi : 
-  * Suivi : {{tag>​en-chantier à-tester à-placer}}+
     * Création par [[user>​bendia]] 22/03/2014     * Création par [[user>​bendia]] 22/03/2014
-    * Testé par <...> le <...> FIXME +    ​* Mis à jour par [[user>​greenmerlin]] 29/​10/​2016 
-  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=85597#​p85597 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) +    ​* Testé par [[user>captnfab]] ​le 01/07/2014 
- +  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=85597#​p85597 | ici]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
-**Nota :​** +
- +
-Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !+
  
 ===== Introduction ===== ===== Introduction =====
  
-Lors d'une installation par défaut d'un conteneur LXC, le conteneur partage la même interface réseau que la machine hôte. Elle dispose donc de la même adresse IP. On peut modifier la configuration réseau afin d'​individualiser cette adresse. +Lors d'une installation par défaut d'un conteneur LXC, le conteneur partage la même interface réseau que la machine hôte. Elle dispose donc de la même adresse IP, et partage les mêmes ports. On peut modifier la configuration réseau afin d'​individualiser cette adresse.
- +
-FIXME Lors de mes essais, je n'​obtiens pas un fonctionnement satisfaisant si je met des IP fixes, que se soit au niveau de l'​interface hôte, du pont ou du conteneur. C'est pour cela que je n'​indique ici qu'une configuration via DHCP +
-  ​+
 ===== Préparer la machine hôte ===== ===== Préparer la machine hôte =====
  
 ==== Les outils ==== ==== Les outils ====
 +
 Il est nécessaire que la paquet //​bridge-utils//​ soit installé. Si ce n'est pas le cas Il est nécessaire que la paquet //​bridge-utils//​ soit installé. Si ce n'est pas le cas
  
 <code root>​apt-get install bridge-utils</​code>​ <code root>​apt-get install bridge-utils</​code>​
  
-==== Gérer l'​interface avec ifup ====+==== La configuration réseau de la machine hôte ==== 
 +Par défaut, un conteneur lxc n'aura aucune conf réseau(sur une jessie en tout cas). Se sera à vous de lui en donner une.
  
-Si votre interface réseau est gérée par //​Network-Manager//,​ l'​opération est impossible. Il faut donc la déclarer dans ///​etc/​network/​interfaces//​+Au menu 
 +  * SimpleBridge (NAT) 
 +  * MasqueradedBridge 
 +  * VlanNetworking
  
-<​code>​ +Nous ne verrons que le "Pont Simple"​ dans notre example
-#Remplacer eth0 par le nom de votre interface +
-auto eth0 +
-allow-hotplug eth0 +
-#Ici, l'​adresse est donnée par DHCP. +
-iface eth0 inet dhcp +
-</​code>​+
  
-Redémarrer ensuite la machine +Création de l'interface réseaux de pont nommer lxcbr0
-FIXME Il y a peut-être un autre moyen, mais je n'ai pas réussi en stoppant //​Network-Manager//​ et en lançant //ifup eth0//+
  
-==== Créer un pont ====+<code root>​brctl addbr lxcbr0</​code>​
  
-Il faut créer un pont avec cette interface. Toujours dans ///​etc/​network/​interfaces//​+On vérifie par
  
-<​code>​ +<​code ​root>ip addr show</​code>​
-#auto br0 #A dé-commenter si on veut lancer le pont automatiquement au démarrage +
-#Sinon, il faut le lancer à la main avec ifup br0 +
-iface br0 inet dhcp +
-    bridge_ports eth0 +
-    bridge_fd 0 +
-    bridge_maxwait 0 +
-</​code>​+
  
-Lancer ​l'​interface ​avec+On ajoute ​l'​interface ​a "​bridger"​
  
-<code root>ifup br0</​code>​+<code root>brctl addif br0 eth0</​code>​
  
-Voilà, l'​hôte est prêt+puis on active le pont
  
-===== Le fichier de configuration du conteneur =====+<code root>​ifup lxcbr0</​code>​
  
-Dans le fichier ​de configuration du conteneur, ajouter les lignes suivante+puis on édite /​etc/​network/​interface pour configurer notre pont de manière permanante
  
-<code>+<file config /​etc/​network/​interface> 
 +# This file describes the network interfaces available on your system 
 +# and how to activate them. For more information,​ see interfaces(5). 
 + 
 +source /​etc/​network/​interfaces.d/​* 
 + 
 +# The loopback network interface 
 +auto lo 
 +iface lo inet loopback 
 + 
 +# The primary network interface 
 +allow-hotplug eth0 
 + 
 +iface eth0 inet dhcp 
 + 
 +# pont réseau 
 +auto lxcbr0 
 +iface lxcbr0 inet dhcp 
 +bridge_ports eth0 
 +bridge_stp off 
 +bridge_fd 0 
 +bridge_maxwait 0 
 +</​file>​ 
 + 
 +Dernier point, modifier la configuration de notre conteneur, on edite le fichier /​var/​lib/​lxc/​proxies/​config pour remplacer la valeur lxc.network.type = none 
 +<file config /​var/​lib/​lxc/​proxies/​config>​ 
 +...
 lxc.network.type = veth lxc.network.type = veth
 lxc.network.flags = up lxc.network.flags = up
-lxc.network.link = br0 +lxc.network.link = lxcbr0 
-lxc.network.hwaddr = 00:00:00:00:00 #votre super adresse ​Mac unique dans votre réseau +lxc.network.name = eth0 
-</​code>​+lxc.network.hwaddr = 00:16:3e:a3:23:1d //​l'​adresse MAC vous l'​inventez bien entendu 
 +lxc.network.mtu = 1500 
 +... 
 +</​file>​ 
 + 
 +puis redémarrer votre conteneur pour tester si vous avez le réseau 
 + 
 +<note important>​vous n'avez pas ping d’installer par default sur votre conteneur c'est normal, tester plutôt avec apt</​note>​ 
 + 
 +===== Réseau facile avec Lxc-net ===== 
 + 
 +Stretch apporte une nouvelle version de LXC qui embarque la possibilité de configurer facilement un bridge simple (NAT en IPV4) pour vos conteneurs grâce à lxc-net. 
 + 
 +Pour configurer cette interface de bridge lxcbr0 il faut créer un fichier lxc-net dans /​etc/​default/​ et y inscrire ceci : 
 +<​code>​USE_LXC_BRIDGE="​true"</​code>​ 
 +Ensuite il faut éditer le fichier /​etc/​lxc/​default.conf de façon à modifier la partie suivante : 
 +<​code>​lxc.network.type = empty</​code>​ 
 +par : 
 +<​code>#​indique la création d'une interface virtuelle rattachée à un bridge. 
 +lxc.network.type = veth 
 +#indique le bridge auquel est rattachée l'​interface virtuelle 
 +lxc.network.link = lxcbr0 
 +#indique d'​activer l'​interface au démarrage du conteneur. 
 +lxc.network.flags = up 
 +#indique l'​adresse MAC attribuée à l'​interface 
 +lxc.network.hwaddr = 00:​16:​3e:​xx:​xx:​xx</​code>​ 
 + 
 +Les lignes précédées du sont juste là pour expliquer la ligne qui suit, il n'est pas utile de les recopier ;-) 
 + 
 +Pour finir il faut démarrer le réseau : 
 +<code root>​service lxc-net start</​code>​ 
 +Cette commande n'est à faire qu'une seule fois. Par la suite le réseau lxcbr0 démarrera tout seul à chaque démarrage de Debian. 
 + 
 +Source : [[https://​wiki.debian.org/​LXC]] 
 + 
 +===== Réseau facile avec Network Manager ===== 
 + 
 +[[doc:​reseau:​network-manager|Network Manager]] est le démon qui gère les connexions réseaux sous Debian Stretch. 
 + 
 +On peut utiliser la commande [[doc:​reseau:​network-manager#​l-interface-commande-nmcli|nmcli]] pour créer, rapidement, des passerelles virtuelles et partager des connexions internet entre l'​hôte et ses invités. 
 + 
 +==== Exemple ==== 
 + 
 +On veut créer une passerelle nommé lxcbr0, qui aura comme adresse ​ip 192.168.2.1,​ sur le réseau ​192.168.2.0/​24:​ 
 +<code user>​nmcli connection add type bridge con-name lxcbr0 ifname virbr0 ipv4.method shared ipv4.addresses 192.168.2.1/​24</​code>​ 
 + 
 +==== Explication ==== 
 + 
 +[[doc:​reseau:​network-manager|Network Manager]] gère les interfaces réseaux à travers des profils appelés '​connection'​. 
 + 
 +La commande précédente a créé un nouveau profil de type bridge nommé '​lxcbr0'​ (con-name) associé à l'​interface réseau '​virbr0'​ (ifname). 
 + 
 +Comme l'​interface réseau '​virbr0'​ n'​existe pas physiquement,​ elle est créée pour l'​occasion et est, donc, une interface virtuelle. 
 + 
 +Les directives '​ipv4.method'​ et '​ipv4.addresses'​ sont optionnelles. 
 + 
 +La directive '​ipv4.method shared'​ signifie que la passerelle sera de type routeur NAT source. 
 +On peut le vérifier en interrogeant le pare-feu. Par exemple: 
 +<code root>​iptables -t nat -L</​code>​ 
 +<​code>​Chain POSTROUTING (policy ACCEPT) 
 +target ​    prot opt source ​              ​destination ​         
 +MASQUERADE ​ all  --  192.168.2.0/​24 ​     !192.168.2.0/​24</​code>​ 
 +Par ailleurs, le routage ipv4 sera activé: 
 +<code root>cat /​proc/​sys/​net/​ipv4/​ip_forward</​code>​ 
 +<​code>​1</​code>​ 
 +De plus, [[doc:​reseau:​network-manager|Network Manager]] va lancer dnsmasq pour fournir du service dhcp et dns aux invités.
  
-Après lancement de la machine((Voir ​[[:doc:autres:vm:lxc-conteneur|conteneur LXC]])), celle ci dispose d'une adresse IP différente de celle de la machine hôte :-)+Enfin, si on n'​utilise pas la directive '​ipv4.addresses',​  
 +[[doc:reseau:network-manager|Network Manager]] va utiliser le réseau ​'10.42.x.0/​24'​ par défaut.
doc/autres/vm/lxc/reseau-bridge.txt · Dernière modification: 31/03/2020 17:31 par smolski

Pied de page des forums

Propulsé par FluxBB