Cerințe: Vreau să atribui o adresă IP LAN independentă containerului Docker prin serviciul DHCP al routerului, astfel încât aplicația dezvoltată ASP.NET Core să poată fi implementată pe mai multe servere (aplicația trebuie implementată pe mai multe servere pentru a obține o disponibilitate ridicată), iar apoi acestea să poată fi transferate între ele. Unele aplicații, în special cele vechi sau cele care monitorizează traficul de rețea, se așteaptă să se conecteze direct la rețeaua fizică. În acest caz, poți folosi driverul de rețea macvlan pentru a atribui o adresă MAC interfeței virtuale de rețea a fiecărui container, făcând-o să pară o interfață fizică de rețea care se conectează direct la rețeaua fizică. În acest caz, trebuie să specifici o interfață fizică pe gazda Docker pentru macvlan. Și. subrețele și porți ale Macvlan. Poți chiar să-ți izolezi rețeaua cu o interfață fizică diferită.
Mai întâi, trebuie să setezi placa fizică de rețea a mașinii gazdăPermite modul "promiscuitate"De exemplu, folosind ESXI ca exemplu, configurați un comutator virtual astfel:
Mediul sistemului este următorul:
Lansarea CentOS Linux 7.9.2009 (Core) Docker versiunea 20.10.20, build 9fdeb9c
Instalează serviciul Docker pe gazda CentOS 7. (omitat)
Configuratnet.ipv4.ip_forward = 1, poți vedea configurația curentă prin sysctl -a, dacă nu este 1, te rugăm să o modifici la 1, tutorialul este omis. Scopul principal este de a determina dacă informația primită de o placă de rețea poate fi transmisă altor plăci de rețea atunci când gazda Linux are mai multe plăci de rețea, iar dacă este setată la 1, se poate efectua redirecționarea pachetelor.
Când serviciul Docker este instalat, creează o rețea macvlan cu următoarea comandă:
--ip-range: S-a decis atribuirea subsetului către Docker 192.168.50.192/27, care este un interval de 32 de adrese începând cu 192.168.50.192 și terminând la 192.168.50.223. --gateway: Setează adresa gateway-ului, de obicei adresa IP a routerului, te rugăm să o setezi în funcție de situația ta reală -o părinte: Interfața părinte, care este numele plăcii fizice NIC a gazdei, poate fi vizualizată prin IP A în funcție de situația reală.
După ce crearea este finalizată, o puteți vizualiza cu următoarea comandă:
Încearcă să pornești un container busybox și să configurezi o rețea cu noul macvlan creat folosind următoarea comandă:
Sfat: Dacă e nevoie, dă recipientulPentru a seta adresa IP, folosiți parametrul --ip, de exemplu: --ip=192.168.50.210
Poți vizualiza adresa IP a unui container folosind următoarea comandă:
Desigur, poți intra și în container pentru a-l vedea, cu următoarea comandă:
NoiFolosind alte mașini de pe LAN, încearcă să pingezi adresa IP a containerului, poți descoperi că poți ping, așa cum se arată în figura de mai jos:
Privind tabelul de mapare IP și MAC al routerului, poți vedea că adresa MAC/IP a containerului docker este aceeași cu cea de pe router, așa cum se arată în figura de mai jos:
Încearcă să pornești din nou un container Redis și să configurezi noua rețea MacVLAN cu următoarea comandă:
Gazda CentOS are și o aplicație redis care rulează și folosește portul 6379, iar noi creăm o aplicație container redis care folosește și portul 6379, adicăAcelași port gazdă, 6379, este ascultat de două IP-uri diferite, încearcă să vezi dacă funcționează.
Rezultatele testelor funcționează toate normal, așa cum se vede în figura de mai jos:
Resurse
Autentificarea cu hyperlink este vizibilă.
|