LXC

Configuration du réseau LXC

Configuration du réseau LXC
Lorsque vous démarrez un conteneur Linux, vous souhaiterez peut-être utiliser les fonctions réseau. La question devient : « Essayez-vous de vous mettre en réseau avec l'hôte, l'Internet étendu, un autre conteneur ou peut-être tous les conteneurs locaux ??” Heureusement qu'il y a des solutions pour tous!

Profils

Pour que cela soit correct, vous devez configurer votre conteneur. La configuration de base est déjà sur votre système si vous avez utilisé une distribution régulière. Vous pouvez encore configurer cela avec des commandes, mais la plupart des gens utiliseront des fichiers YAML. La base ressemble généralement à celle ci-dessous. Le fichier réside dans /etc/lxc/default.conf.

lxc.rapporter.0.type = veth
lxc.rapporter.0.lien = lxcbr0
lxc.rapporter.0.drapeaux = haut
lxc.rapporter.0.hwaddr = 00:16:3e:xx:xx:xx

Chaque conteneur suit les paramètres selon le profil par défaut et le fichier mentionné ci-dessus. Vous pouvez imprimer le fichier par défaut comme ci-dessous. Pour plus de configuration, il est préférable de faire de nouveaux profils. Chaque profil contiendra des détails de configuration, dans notre cas la mise en réseau. Vous pouvez modifier n'importe quel paramètre de votre conteneur avec un profil, et cela a encore plus de sens lorsque vous souhaitez l'exécuter à la fois localement et sur une plate-forme.

$ lxc profile show default config :
description : profil LXD par défaut
dispositifs:
eth0 :
nom : eth0
réseau : lxdbr0
type : nic
racine:
chemin: /
piscine : ros
tapez : disque
nom : par défaut
utilisé par:
- /1.0/instances/guiapps
- /1.0/instances/ff

La sortie résultante est un fichier YAML. Tous vos profils seront au même format. Avec LXC lui-même, vous pouvez créer, supprimer et modifier votre profil. Vous pouvez voir dans le fichier que la valeur par défaut utilise le réseau lxdbr0 et tapez nic. Maintenant, créez un nouveau profil en utilisant les éléments suivants :

$ lxc profil créer nicnet

Avant l'exécution d'un conteneur, modifiez le profil :

$ lxc modifier le profil nicnet

Vous utilisez le format YAML dans les fichiers qui créent ces profils. Notez que le nom « eth0 » est le nom du conteneur interne. Le « parent » est ce que vous avez sur votre système, et vous le vérifiez vous-même en utilisant :

$ ip a

L'impression variera en fonction de ce que vous avez eu auparavant. Vous devez également savoir que vous pouvez faire le pontage depuis l'extérieur du conteneur avec les outils brctl.

L'utiliser dans votre conteneur

Une fois que vous avez créé un profil, vous souhaitez l'ajouter à votre conteneur. Ceci est fait avec le même ensemble de programmes 'lxc'. Tout d'abord, assurez-vous d'avoir un conteneur, dans cet exemple, le conteneur est nommé « ff » :

$ profil lxc ajouter ff nicnet

La modification prend effet lorsque vous redémarrez la mise en réseau dans le conteneur. Le plus simple et le plus sûr est de toujours ajouter des profils uniquement dans les conteneurs arrêtés.

Routé

Une connexion pontée est une connexion où votre conteneur reçoit une adresse MAC sur la même interface Ethernet que votre hôte. C'est ce que tu as fait plus haut dans ce post. Avec quelques astuces supplémentaires, vous pouvez demander à votre routeur d'attribuer une adresse IP distincte au conteneur, et vous pouvez la définir dans votre conteneur. Cependant, lorsque vous utilisez macvlan, vous pouvez rencontrer des problèmes avec le Wi-Fi. WPA/WPA2 n'acceptera pas les deux adresses, donc votre Wi-Fi se brisera, car votre hôte n'utilisera pas le Wi-Fi.

L'exemple précédent utilise les outils brctl puisque lxc a créé ses propres. Cela obtient une adresse de l'hôte, pas du routeur. Vous pouvez obtenir l'adresse du routeur si vous le souhaitez. Encore une fois, uniquement si vous utilisez une connexion filaire ou un Wi-Fi non sécurisé.

Lorsque vous vous êtes assuré que vous avez une connexion réseau sur votre hôte, vous pouvez la connecter à votre conteneur. Changez le mot parent et définissez votre nictype sur macvlan.

configuration :
description : Paramétrage de l'interface réseau
dispositifs:
eth0 :
nom : eth0
type de connexion : macvlan
parent : enp3s0
type : nic
nom : Parcours
utilisé par:
- /1.0/instances/guiapps
- /1.0/instances/ff

Vous devrez vous assurer que la valeur parent correspond à votre configuration, alors assurez-vous de la créer dynamiquement. Une fois cela fait, vous pouvez démarrer votre conteneur et le trouver dans la liste des destinations hôtes de votre routeur. Eh bien, ce sont des interfaces, pour être technique à ce sujet.

Figure 1 : Le conteneur s'affiche maintenant dans votre routeur

Profils mobiles

Une partie intéressante des conteneurs Linux est que vous pouvez récupérer vos configurations et les vider dans des fichiers YAML. Pour créer les fichiers pour cela, vous exécutez l'option show dans LXC, puis dirigez-vous dans un fichier. La sortie suit la norme YAML, et vous pouvez ensuite utiliser ces fichiers pour les configurer ailleurs.

$ lxc profile show Route > Route.yml

Pour l'utiliser pour un nouveau conteneur, utilisez les valeurs définies. Normalement, vous définiriez une valeur à la fois, mais vous avez déjà un fichier pour cela.

$ lxc profile créer newroute $ lxc profile set newroute user.réseau.configuration - < Route.yml

Vous pouvez voir que vous devez mettre les valeurs dans l'espace de noms 'user.réseau.configuration'. Ceci est important à savoir lorsque vous souhaitez ajouter d'autres valeurs non liées à la mise en réseau.

Conclusion

La mise en réseau avec vos conteneurs comporte de nombreuses options, ce qui peut être déroutant, mais avec quelques recherches et tests par vous-même, vous pouvez le faire fonctionner comme vous le souhaitez. La meilleure partie est que vous pouvez essayer une chose à la fois en utilisant des profils. Vous ne bousillerez jamais votre conteneur actuel, supprimez simplement celui qui ne fonctionnait pas et ajoutez l'ancien. Cette technique fonctionne pour tout dans un conteneur.

Tutoriel Shadow of the Tomb Raider pour Linux
Shadow of the Tomb Raider est le douzième ajout à la série Tomb Raider - une franchise de jeux d'action-aventure créée par Eidos Montréal. Le jeu a ét...
Comment booster les FPS sous Linux?
FPS signifie Images par seconde. La tâche du FPS est de mesurer la fréquence d'images dans les lectures vidéo ou les performances de jeu. En termes si...
Meilleurs jeux de laboratoire d'applications Oculus
Si vous êtes propriétaire d'un casque Oculus, vous devez être au courant du chargement latéral. Le chargement latéral est le processus d'installation ...