Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 5217|Antwoord: 3

Docker gebruikt Macvlan om een onafhankelijk IP-adres voor containers in te stellen

[Link kopiëren]
Geplaatst op 19-11-2022 12:01:56 | | | |
Vereisten: Ik wil een onafhankelijk LAN-IP-adres toewijzen aan de Docker-container via de DHCP-service van de router, zodat de ontwikkelde ASP.NET Core-applicatie op meerdere servers kan worden uitgerold (de applicatie moet op meerdere servers worden geïmplementeerd om hoge beschikbaarheid te bereiken), en vervolgens kunnen ze naar elkaar worden overgedragen.
Sommige applicaties, vooral legacy-applicaties of die welke netwerkverkeer monitoren, verwachten direct verbinding te maken met het fysieke netwerk. In dit geval kun je de Macvlan-netwerkdriver gebruiken om een MAC-adres toe te wijzen aan de virtuele netwerkinterface van elke container, waardoor het eruitziet als een fysieke netwerkinterface die direct verbinding maakt met het fysieke netwerk. In dit geval moet je een fysieke interface specificeren op je Docker-host voor Macvlan. En. subnetten en gateways van Macvlan. Je kunt je netwerk zelfs isoleren met een andere fysieke netwerkinterface.


Kan de netwerkkaart ook gevirtualiseerd worden? Gedetailleerde uitleg van netwerkkaartvirtualisatietechnologie Macvlan
https://www.itsvse.com/thread-10388-1-1.html
Eerst moet je het fysieke netwerkpunt van de hostmachine instellenStaat de "promiscue modus" modus toeStel bijvoorbeeld met ESXI als voorbeeld een virtuele switch als volgt op:



De systeemomgeving is als volgt:

CentOS Linux release 7.9.2009 (Core)
Docker versie 20.10.20, bouw 9fdeb9c


Installeer de Docker-service op de CentOS 7-host. (weggelaten)



Oprichtennet.ipv4.ip_forward = 1, je kunt de huidige configuratie bekijken via sysctl -a, als het niet 1 is, wijzig deze dan naar 1, de tutorial is weggelaten. Het hoofddoel is te bepalen of de informatie die door één netwerkkaart wordt ontvangen kan worden doorgegeven aan andere netwerkkaarten wanneer de Linux-host meerdere netwerkkaarten heeft, en als deze op 1 staat, kan pakketdoorstuur worden uitgevoerd.

Wanneer de Docker-service is geïnstalleerd, maak je een macvlan-netwerk aan met het volgende commando:

--ip-range: Besloten de subset toe te wijzen aan Docker 192.168.50.192/27, een bereik van 32 adressen beginnend bij 192.168.50.192 en eindigend bij 192.168.50.223.
--gateway: Stel het gatewayadres in, meestal het router-IP-adres, stel het in volgens je huidige situatie
-o ouder: De ouderinterface, wat de naam is van de fysieke NIC-kaart van de host, kan via IP A worden bekeken afhankelijk van de werkelijke situatie.


Nadat de creatie is voltooid, kun je deze bekijken met het volgende commando:



Probeer een busybox-container te starten en een netwerk op te zetten met de nieuw aangemaakte macvlan met het volgende commando:

Tip: Indien nodig, geef de containerOm het IP-adres in te stellen, gebruik je de --ip-parameter, bijvoorbeeld: --ip=192.168.50.210

Je kunt het IP-adres van een container bekijken met het volgende commando:



Natuurlijk kun je ook in de container gaan om het te bekijken, met het volgende commando:



WijProbeer met andere machines op het LAN het IP-adres van de container te pingen, kun je zien dat je kunt pingen, zoals weergegeven in de onderstaande figuur:



Als je naar de IP- en MAC-mappingtabel van de router kijkt, zie je dat het MAC/IP-adres van de docker-container hetzelfde is als dat van de router, zoals te zien is in de onderstaande figuur:



Probeer opnieuw een Redis-container te starten en het nieuwe MacVLAN-netwerk in te stellen met het volgende commando:

De CentOS-host zelf heeft ook een redis-applicatie draaien en gebruikt port 6379, en we maken een redis-containerapplicatie die ook port 6379 gebruikt, dat wil zeggenDezelfde hostpoort 6379 wordt beluisterd door twee verschillende IP-adressen, probeer te zien of het werkt.

De testresultaten werken allemaal normaal, zoals weergegeven in de onderstaande figuur:





Weg

De hyperlink-login is zichtbaar.




Vorig:Kan de netwerkkaart ook gevirtualiseerd worden? Gedetailleerde uitleg van netwerkkaartvirtualisatietechnologie Macvlan
Volgend:[Oefening] Gebruik FRP-intranetpenetratie om remote desktopverbinding te bereiken
Geplaatst op 28-11-2022 19:30:39 |
Leer leren...
Geplaatst op 12-03-2023 09:18:32 |
Leer leren
Geplaatst op 22-04-2023 15:45:19 |
Bedankt voor het delen.
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com