Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 5217|Antwort: 3

Docker verwendet Macvlan, um eine unabhängige IP-Adresse für Container festzulegen

[Link kopieren]
Veröffentlicht am 19.11.2022 12:01:56 | | | |
Anforderungen: Ich möchte dem Docker-Container über den DHCP-Dienst des Routers eine unabhängige LAN-IP-Adresse zuweisen, damit die entwickelte ASP.NET Core-Anwendung auf mehreren Servern bereitgestellt werden kann (die Anwendung muss auf mehreren Servern bereitgestellt werden, um hohe Verfügbarkeit zu erreichen), und dann können sie aufeinander übertragen werden.
Einige Anwendungen, insbesondere Altanwendungen oder solche, die den Netzwerkverkehr überwachen, erwarten, sich direkt mit dem physischen Netzwerk zu verbinden. In diesem Fall können Sie den Macvlan-Netzwerktreiber verwenden, um jeder virtuellen Netzwerkschnittstelle eines Containers eine MAC-Adresse zuzuweisen, sodass es wie eine physische Netzwerkschnittstelle aussieht, die direkt mit dem physischen Netzwerk verbunden ist. In diesem Fall musst du eine physische Schnittstelle auf deinem Docker-Host für MacVLAN angeben. Und. Subnetze und Gateways von Macvlan. Du kannst dein Netzwerk sogar mit einer anderen physischen Netzwerkschnittstelle isolieren.


Kann die Netzwerkkarte auch virtualisiert werden? Detaillierte Erklärung der Netzwerkkartenvirtualisierungstechnologie Macvlan
https://www.itsvse.com/thread-10388-1-1.html
Zuerst musst du die physische Netzwerkkarte der Hostmaschine einstellenErlaubt den "promiskuitiven Modus"-ModusZum Beispiel richten Sie unter Verwendung von ESXI einen virtuellen Switch wie folgt ein:



Die Systemumgebung ist wie folgt:

CentOS Linux Version 7.9.2009 (Core)
Docker-Version 20.10.20, baue 9fdeb9c


Installiere den Docker-Dienst auf dem CentOS 7-Host. (weggelassen)



Aufstellennet.ipv4.ip_forward = 1, du kannst die aktuelle Konfiguration über sysctl -a ansehen, falls sie nicht 1 ist, bitte ändere sie auf 1, das Tutorial wird weggelassen. Der Hauptzweck besteht darin festzustellen, ob die von einer Netzwerkkarte empfangenen Informationen an andere Netzwerkkarten weitergegeben werden können, wenn der Linux-Host mehrere Netzwerkkarten hat, und wenn sie auf 1 gesetzt ist, kann eine Paketweiterleitung durchgeführt werden.

Wenn der Docker-Dienst installiert ist, erstelle ein Macvlan-Netzwerk mit folgendem Befehl:

--ip-range: Habe beschlossen, die Teilmenge Docker 192.168.50.192/27 zuzuweisen, was einen Bereich von 32 Adressen ist, beginnend bei 192.168.50.192 und endend bei 192.168.50.223.
--gateway: Stellen Sie die Gateway-Adresse ein, normalerweise die Router-IP-Adresse, bitte stellen Sie sie entsprechend Ihrer aktuellen Situation ein
-o Parent: Die Parent-Schnittstelle, die der Name der physischen NIC-Karte des Hosts ist, kann je nach tatsächlicher Situation über IP A angezeigt werden.


Nachdem die Erstellung abgeschlossen ist, kannst du sie mit folgendem Befehl ansehen:



Versuche, einen Busybox-Container zu starten und ein Netzwerk mit dem neu erstellten MacVLAN mit folgendem Befehl einzurichten:

Tipp: Wenn nötig, gib den BehälterUm die IP-Adresse festzulegen, verwenden Sie den Parameter --ip, zum Beispiel: --ip=192.168.50.210

Sie können die IP-Adresse eines Containers mit folgendem Befehl einsehen:



Natürlich kannst du auch in den Container hineingehen, um ihn mit folgendem Befehl anzusehen:



WirVersuchen Sie mit anderen Maschinen im LAN, die IP-Adresse des Containers zu pingen, Sie können feststellen, dass Sie pingen können, wie in der untenstehenden Abbildung gezeigt:



Wenn Sie sich die IP- und MAC-Mapping-Tabelle des Routers ansehen, sehen Sie, dass die MAC/IP-Adresse des Docker-Containers dieselbe ist wie die des Routers, wie in der untenstehenden Abbildung dargestellt:



Versuche, einen Redis-Container erneut zu starten und das neue MacVLAN-Netzwerk mit folgendem Befehl einzurichten:

Der CentOS-Host selbst hat ebenfalls eine Redis-Anwendung laufen und verwendet Port 6379, und wir erstellen eine Redis-Container-Anwendung, die ebenfalls Port 6379 verwendet, alsoDerselbe Host-Port 6379 wird von zwei verschiedenen IPs abgehört, versuche zu sehen, ob es funktioniert.

Die Testergebnisse funktionieren alle normal, wie in der untenstehenden Abbildung dargestellt:





Betriebsmittel

Der Hyperlink-Login ist sichtbar.




Vorhergehend:Kann die Netzwerkkarte auch virtualisiert werden? Detaillierte Erklärung der Netzwerkkartenvirtualisierungstechnologie Macvlan
Nächster:[Praxis] Nutzen Sie die Penetration des FRP-Intranets, um eine Remote-Desktop-Verbindung zu erreichen
Veröffentlicht am 28.11.2022 19:30:39 |
Lerne zu lernen...
Veröffentlicht am 12.03.2023 09:18:32 |
Lernen lernen
Veröffentlicht am 22.04.2023 15:45:19 |
Danke fürs Teilen.
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com