Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 5217|Répondre: 3

Docker utilise Macvlan pour définir une adresse IP indépendante pour les conteneurs

[Copié le lien]
Publié sur 19/11/2022 12:01:56 | | | |
Exigences : Je souhaite attribuer une adresse IP LAN indépendante au conteneur Docker via le service DHCP du routeur, afin que l’application développée ASP.NET Core puisse être déployée sur plusieurs serveurs (l’application doit être déployée sur plusieurs serveurs pour assurer une haute disponibilité), puis elles puissent être transférées entre elles.
Certaines applications, en particulier celles qui surveillent le trafic réseau, s’attendent à se connecter directement au réseau physique. Dans ce cas, vous pouvez utiliser le pilote réseau macvlan pour attribuer une adresse MAC à l’interface réseau virtuelle de chaque conteneur, en la faisant ressembler à une interface réseau physique connectée directement au réseau physique. Dans ce cas, vous devez spécifier une interface physique sur votre hôte Docker pour macvlan. Et. sous-réseaux et portails de Macvlan. Vous pouvez même isoler votre réseau avec une interface réseau physique différente.


La carte réseau peut-elle aussi être virtualisée ? Explication détaillée de la technologie de virtualisation des cartes réseau Macvlan
https://www.itsvse.com/thread-10388-1-1.html
Tout d’abord, vous devez définir la carte réseau physique de la machine hôtePermet le mode « mode promiscuité »Par exemple, en prenant ESXI comme exemple, configurez un commutateur virtuel comme suit :



L’environnement système est le suivant :

CentOS Linux version 7.9.2009 (Core)
Docker version 20.10.20, build 9fdeb9c


Installez le service Docker sur l’hôte CentOS 7. (omis)



Installernet.ipv4.ip_forward = 1, vous pouvez consulter la configuration actuelle via sysctl -a, si ce n’est pas 1, veuillez la modifier en 1, le tutoriel est omis. Le but principal est de déterminer si l’information reçue par une carte réseau peut être transmise à d’autres cartes réseau lorsque l’hôte Linux possède plusieurs cartes réseau, et si elle est réglée sur 1, le transfert de paquets peut être effectué.

Lorsque le service Docker est installé, créez un réseau macvlan avec la commande suivante :

--ip-range : Décision d’assigner le sous-ensemble à Docker 192.168.50.192/27, qui est une plage de 32 adresses commençant à 192.168.50.192 et se terminant à 192.168.50.223.
--passerelle : Définissez l’adresse de la passerelle, généralement l’adresse IP du routeur, veuillez la définir selon votre situation réelle
-o parent : L’interface parent, qui est le nom de la carte NIC physique de l’hôte, peut être consultée via IP A selon la situation réelle.


Une fois la création terminée, vous pouvez la consulter avec la commande suivante :



Essayez de lancer un conteneur busybox et de configurer un réseau avec le macvlan nouvellement créé avec la commande suivante :

Conseil : Si besoin, donnez le récipientPour définir l’adresse IP, utilisez le paramètre --ip, par exemple : --ip=192.168.50.210

Vous pouvez voir l’adresse IP d’un conteneur en utilisant la commande suivante :



Bien sûr, vous pouvez aussi entrer dans le conteneur pour le voir, avec la commande suivante :



NousEn utilisant d’autres machines sur le réseau local, essayez de pinger l’adresse IP du conteneur, vous pouvez constater que vous pouvez pinger, comme montré dans la figure ci-dessous :



En regardant la table de mappage IP et MAC du routeur, vous pouvez voir que l’adresse MAC/IP du conteneur docker est la même que celle du routeur, comme montré dans la figure ci-dessous :



Essayez de relancer un conteneur Redis et de configurer le nouveau réseau MacVLAN avec la commande suivante :

L’hôte CentOS lui-même dispose également d’une application Redis qui tourne et utilise également le port 6379, et nous créons une application conteneur Redis qui utilise aussi le port 6379, c’est-à-direLe même port hôte, 6379, est écouté par deux IP différentes, essaie de voir si ça marche.

Les résultats des tests fonctionnent tous normalement, comme le montre la figure ci-dessous :





Ressources

La connexion hyperlientérée est visible.




Précédent:La carte réseau peut-elle aussi être virtualisée ? Explication détaillée de la technologie de virtualisation des cartes réseau Macvlan
Prochain:[Pratique] Utilisez la pénétration intranet FRP pour obtenir une connexion à distance sur le bureau
Publié sur 28/11/2022 19:30:39 |
Apprends à apprendre...
Publié sur 12/03/2023 09:18:32 |
Apprendre à apprendre
Publié sur 22/04/2023 15:45:19 |
Merci d’avoir partagé.
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com