|
Anforderung: Ich möchte Docker-Containern über den DHCP-Dienst des Routers unabhängige LAN-IP-Adressen zuweisen, damit ich die entwickelte ASP.NET Core-Anwendung auf mehreren Servern bereitstellen kann (ich muss die Anwendung auf mehreren Servern bereitstellen, um Hochverfügbarkeit zu erreichen), und dann können alle von ihnen miteinander kommunizieren. Einige Anwendungen, insbesondere Legacy-Anwendungen oder Anwendungen, die den Netzwerkverkehr überwachen, erwarten eine direkte Verbindung mit dem physischen Netzwerk. In diesem Fall können Sie den macvlan-Netzwerktreiber verwenden, um der virtuellen Netzwerkschnittstelle jedes Containers eine MAC-Adresse zuzuweisen, so dass es so aussieht, als ob es sich um eine physische Netzwerkschnittstelle handelt, die direkt mit dem physischen Netzwerk verbunden ist. In diesem Fall müssen Sie eine physische Schnittstelle auf Ihrem Docker-Host für macvlan. und angeben. Das Subnetz und das Gateway macvlan. Sie können Ihr Netzwerk sogar macvlan isolieren, indem Sie eine andere physische Netzwerkschnittstelle verwenden.
[Können NICs auch virtualisiert werden? NIC-Virtualisierungstechnologie macvlan im Detail h ttps:// www.itsvse.com/thread-10388-1-1.html Zunächst müssen Sie die physische NIC des Host-Rechners so einstellen , dass sie den "Mixed Mode"-Modus zulässt. Nehmen Sie ESXI als Beispiel und stellen Sie den virtuellen Switch wie folgt ein:
Die Systemumgebung ist wie folgt:
CentOS Linux Version 7.9.2009 (Core) Docker Version 20.10.20, Build 9fdeb9c
Installieren Sie den Docker-Dienst auf dem CentOS 7-Host. (ausgelassen)
Setzen Sie net.ipv4.ip_forward = 1, Sie können die aktuelle Konfiguration mit sysctl -a überprüfen, wenn es nicht 1 ist, ändern Sie es bitte auf 1, Tutorial ausgelassen. Der Hauptzweck besteht darin, zu prüfen, ob die von einer NIC empfangenen Informationen an andere NICs weitergeleitet werden können, wenn der Linux-Host mehr als eine NIC hat; wenn der Wert auf 1 gesetzt ist, kann er die Pakete weiterleiten.
Nach der Installation des Docker-Dienstes erstellen Sie ein macvlan-Netzwerk mit dem folgenden Befehl:
--ip-range: Legt die Teilmenge fest, die Docker zugewiesen werden soll 192.168.50.192/27, d. h. ein Bereich von 32 Adressen, der bei 192.168.50.192 beginnt und bei 192.168.50.223 endet. --gateway: legt die Gateway-Adresse fest, normalerweise die IP-Adresse des Routers, bitte legen Sie sie entsprechend Ihrer eigenen Situation fest. -o parent: übergeordnete Schnittstelle, d.h. der physische NIC-Name des Hosts, der je nach Situation über die IP-Adresse eingesehen werden kann.
Nachdem die Erstellung abgeschlossen ist, können Sie sie mit dem folgenden Befehl anzeigen:
Versuchen Sie, einen Busybox-Container zu starten und ihn mit folgendem Befehl so einzustellen, dass er das neu erstellte macvlan-Netzwerk verwendet:
Tipp: Wenn Sie die IP-Adresse für den Container festlegen müssen , verwenden Sie den Parameter --ip, Beispiel: --ip=192.168.50.210
Um die IP-Adresse eines Containers anzuzeigen, verwenden Sie den folgenden Befehl:
Natürlich ist es auch möglich, in den Container zu gehen und ihn mit dem folgenden Befehl zu betrachten:
Wir verwenden andere Rechner im LAN, um die IP-Adresse des Containers anzupingen, und wir können feststellen, dass wir durchpingen können, wie unten gezeigt:
Überprüfen Sie die IP- und MAC-Zuordnungstabelle des Routers. Sie können sehen, dass die Mac- und IP-Adresse des Docker-Containers mit der des Routers übereinstimmt, wie unten dargestellt:
Versuchen Sie, einen anderen redis-Container zu starten und stellen Sie ihn so ein, dass er das neu erstellte macvlan-Netzwerk mit dem folgenden Befehl verwendet:
CentOS-Host selbst hat auch eine Redis-Anwendung läuft, und verwendet auch Port 6379, erstellen wir eine neue Redis-Container-Anwendung auch Port 6379 verwenden, das heißt, die gleichen Host-Port 6379 von zwei verschiedenen ip hören, versuchen zu sehen, ob es funktionieren kann.
Die Testergebnisse sind normale Arbeit, wie unten gezeigt:
Referenz
h ttps:// docs.docker.com/network/macvlan/ |
Vorheriger Artikel [Turn] Können NICs auch virtualisiert werden? NIC-Virtualisierungstechnologie macvlan DetailsNächster Artikel :[Real-play] Remote-Desktop-Verbindung mit FRP Intranet Penetration
|