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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:autres:vm:lxc:reseau-bridge [01/11/2016 13:47] greenmerlin [Introduction] |
doc:autres:vm:lxc:reseau-bridge [31/03/2020 17:31] (Version actuelle) smolski [Préparer la machine hôte] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== TP : Configurer des conteneurs LXC en mode Bridge ====== | + | ====== LXC en mode Bridge - Configuration ====== |
- | * 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 | + | * Objet : Configurer les conteneurs LXC et l'hôte afin que les conteneurs dispose d'un accés ethernet extérieur par le biais de la machine hôte. |
* Niveau requis :{{tag>avisé}} | * Niveau requis :{{tag>avisé}} | ||
- | * Commentaires : //Modifier la configuration réseau d'un environnement LXC // [[:doc:autres:vm:lxc-conteneur|Installer un conteneur LXC]] :-) | + | * Commentaires : //Modifier la configuration réseau d'un// : [[:doc:autres:vm:lxc|environnement LXC]]. ;-) |
* Suivi : | * Suivi : | ||
- | * Création par [[user>bendia]] 22/03/2014 | + | * Création par [[user>bendia]] 22/sources03/2014 |
* Mis à jour par [[user>greenmerlin]] 29/10/2016 | * Mis à jour par [[user>greenmerlin]] 29/10/2016 | ||
* Testé par [[user>captnfab]] le 01/07/2014 | * 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 !)) | * 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 !)) | ||
+ | <note tip>N'hésitez pas, aussi, à regarder la méthode alternative pour créer, rapidement, des bridges partagés avec [[doc:reseau:network-manager#partage-de-connexion-internet|Network Manager]] !</note> | ||
===== 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, et partage les mêmes ports. On peut modifier la configuration réseau afin d'individualiser cette adresse. | + | Lors d'une [[doc:autres:vm:lxc|installation par défaut d'un conteneur LXC]], le conteneur partage la même interface réseau que la machine hôte. \\ |
- | ===== Préparer la machine hôte ===== | + | Elle dispose donc de la même [[doc:reseau:ip|adresse IP]], et en partage les mêmes ports. |
- | ==== Les outils ==== | + | On peut alors modifier la configuration réseau afin d'**individualiser cette adresse** ! ^_^ |
- | Il est nécessaire que la paquet //bridge-utils// soit installé. Si ce n'est pas le cas | + | ===== Préparer la machine hôte ===== |
+ | <note important>Il est nécessaire que la paquet //bridge-utils// soit installé.</note> | ||
+ | Si ce n'est pas le cas : | ||
<code root>apt-get install bridge-utils</code> | <code root>apt-get install bridge-utils</code> | ||
- | ==== Créer un pont ==== | + | ==== La configuration réseau de la machine hôte ==== |
- | Il faut créer un pont pour l'interface réseau. Dans ''/etc/network/interfaces'' | + | Par défaut, un conteneur lxc n'aura aucune configuration réseau((sur une [[doc:systeme:apt:branches-debian|jessie]] //en tout cas//)), il revient d'abord de lui en configurer une. |
- | <code> | + | **Au menu** : |
- | auto br0 | + | * SimpleBridge (NAT) |
- | iface br0 inet dhcp | + | * MasqueradedBridge |
- | bridge_ports eth0 | + | * VlanNetworking |
- | bridge_fd 0 | + | <note tip>Dans notre exemple, nous ne verrons que le cas d'un //Pont Simple//</note> |
- | bridge_maxwait 0 | + | - Création de l'interface réseaux de pont nommer lxcbr0<code root>brctl addbr lxcbr0</code> |
- | </code> | + | - On vérifie en utilisant [[doc:reseau:ip|la commande ip]] :<code root>ip addr show</code> remplacé par <code root>ip a show</code> |
+ | - On ajoute l'interface a //bridger// : <code root>brctl addif br0 eth0</code> | ||
+ | - Puis [[doc:systeme:ifup|on active le pont]] :<code root>ifup lxcbr0</code> | ||
+ | - [[doc:editeurs:nano|On édite]] ''/etc/network/interface'' pour configurer notre pont de manière permanente :<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). | ||
- | Reconfigurez le réseau avec : | + | source /etc/network/interfaces.d/* |
- | <code root>service network-manager stop</code> | + | # The loopback network interface |
- | <code root>ifup br0</code> | + | auto lo |
- | <code root>service network-manager start</code> | + | iface lo inet loopback |
- | Voilà, l'hôte est prêt | + | # The primary network interface |
+ | allow-hotplug eth0 | ||
- | ===== Le fichier de configuration du conteneur ===== | + | iface eth0 inet dhcp |
- | Dans le fichier de configuration du conteneur, ajouter les lignes suivante | + | # pont réseau |
+ | auto lxcbr0 | ||
+ | iface lxcbr0 inet dhcp | ||
+ | bridge_ports eth0 | ||
+ | bridge_stp off | ||
+ | bridge_fd 0 | ||
+ | bridge_maxwait 0 | ||
+ | </file> | ||
+ | - À la suite, modifier la configuration de notre conteneur : \\ on édite 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.flags = up | ||
+ | lxc.network.link = lxcbr0 | ||
+ | lxc.network.name = eth0 | ||
+ | lxc.network.hwaddr = 00:16:3e:a3:23:1d //l'adresse MAC vous l'inventez bien entendu | ||
+ | lxc.network.mtu = 1500 | ||
+ | ... | ||
+ | </file> | ||
+ | - Redémarrez maintenant votre conteneur pour tester si vous avez le réseau. \\ **Note :** Vous n'avez pas **[[doc:reseau:ping|ping]]** d’installé par défaut sur votre conteneur c'est normal, testez plutôt avec **[[doc:systeme:apt:apt|apt]]** | ||
- | <code> | + | ===== 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/'' : | ||
+ | <code root>> /etc/default/lxc-net</code> | ||
+ | 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 | 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 | lxc.network.flags = up | ||
- | lxc.network.link = br0 | + | #indique l'adresse MAC attribuée à l'interface |
- | lxc.network.hwaddr = 00:00:00:00:00 #votre super adresse Mac unique dans votre réseau, facultatif | + | lxc.network.hwaddr = 00:16:3e:xx:xx:xx</code> |
- | lxc.network.ipv4 = 192.168.0.249/24 # votre adresse ipv4, facultatif | + | [[doc:systeme:programmation:commenter|Les lignes précédées du #]] sont justes là en aide-mémoire pour expliquer la ligne qui les suit((il n'est donc pas nécessaire de les recopier ;-))). |
- | lxc.network.ipv4.gateway = 192.168.0.254 # votre passerelle, facultatif | + | |
- | </code> | + | Pour finir il faut démarrer le réseau : |
+ | <code root>service lxc-net start</code> | ||
+ | <note tip>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.</note> | ||
- | 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, octroyée par le DHCP ou, si vous avez spécifié les deux dernières lignes, par vous-même :-) | + | Source : [[https://wiki.debian.org/LXC]] |