Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 5217|Отговор: 3

Docker използва Macvlan, за да зададе независим IP адрес за контейнери

[Копирай линк]
Публикувано в 19.11.2022 г. 12:01:56 ч. | | | |
Изисквания: Искам да присвоя независим LAN IP адрес на Docker контейнера чрез DHCP услугата на рутера, така че разработеното ASP.NET Core приложение да може да бъде разгърнато на няколко сървъра (приложението трябва да бъде разгърнато на няколко сървъра, за да се постигне висока наличност), и след това те да могат да се прехвърлят едно между друго.
Някои приложения, особено старите приложения или тези, които следят мрежовия трафик, очакват да се свържат директно с физическата мрежа. В този случай можете да използвате драйвера на macvlan мрежата, за да зададете MAC адрес на виртуалния мрежов интерфейс на всеки контейнер, като го направите да изглежда като физически мрежов интерфейс, който се свързва директно с физическата мрежа. В този случай трябва да посочите физически интерфейс на вашия Docker хост за macvlan. И. подмрежи и шлюзове на Macvlan. Можеш дори да изолираш мрежата си с различен физически мрежов интерфейс.


Може ли мрежовата карта също да бъде виртуализирана? Подробно обяснение на технологията за виртуализация на мрежови карти Macvlan
https://www.itsvse.com/thread-10388-1-1.html
Първо, трябва да зададеш физическия NIC на хост машинатаПозволява режим "промискуитетен режим"Например, използвайки ESXI като пример, настройте виртуален комутатор по следния начин:



Системната среда е следната:

CentOS Linux версия 7.9.2009 (Core)
Docker версия 20.10.20, build 9fdeb9c


Инсталирайте Docker услугата на CentOS 7 хоста. (пропуснато)



Слагамnet.ipv4.ip_forward = 1, можете да видите текущата конфигурация чрез sysctl -a, ако не е 1, моля, променете я на 1, урокът е пропуснат. Основната цел е да се определи дали информацията, получена от една мрежова карта, може да се предаде към други мрежови карти, когато Linux хостът има няколко мрежови карти, и ако е настроена на 1, може да се извърши препращане на пакети.

Когато Docker услугата бъде инсталирана, създайте macvlan мрежа със следната команда:

--ip-range: Решено да се присвои подмножеството на Docker 192.168.50.192/27, което представлява диапазон от 32 адреса, започващи от 192.168.50.192 и завършващи на 192.168.50.223.
--gateway: Задайте gateway адреса, обикновено IP адреса на рутера, моля, задайте го според вашата реална ситуация
-o parent: Родителският интерфейс, който е името на физическата NIC карта на хоста, може да се гледа през IP A според реалната ситуация.


След като създаването приключи, можете да го видите със следната команда:



Опитайте да стартирате busybox контейнер и да настроите мрежа с новосъздадения macvlan със следната команда:

Съвет: Ако е необходимо, дайте контейнераЗа да зададете IP адреса, използвайте параметъра --ip, например: --ip=192.168.50.210

Можете да видите IP адреса на контейнер чрез следната команда:



Разбира се, можете също да влезете в контейнера, за да го видите със следната команда:



НиеИзползвайки други машини в LAN, опитайте да пингнете IP адреса на контейнера, можете да откриете, че можете да пингувате, както е показано на фигурата по-долу:



Гледайки таблицата за IP и MAC картографиране на рутера, можете да видите, че MAC/IP адресът на docker контейнера е същият като този на рутера, както е показано на фигурата по-долу:



Опитайте да стартирате Redis контейнер отново и да настроите новата MacVLAN мрежа със следната команда:

Самият CentOS хост също има работещо redis приложение и също използва порт 6379, а ние създаваме redis контейнер приложение, което също използва порт 6379, тоестСъщият хост порт 6379 се слуша от два различни IP адреса, опитай да видиш дали работи.

Резултатите от теста работят нормално, както е показано на фигурата по-долу:





Ресурси

Входът към хиперлинк е видим.




Предишен:Може ли мрежовата карта също да бъде виртуализирана? Подробно обяснение на технологията за виртуализация на мрежови карти Macvlan
Следващ:[Практика] Използвайте проникване в FRP интранет за постигане на връзка с отдалечен работен плот
Публикувано в 28.11.2022 г. 19:30:39 ч. |
Научи се да учиш...
Публикувано в 12.03.2023 г. 9:18:32 ч. |
Научи се да учиш
Публикувано в 22.04.2023 г. 15:45:19 ч. |
Благодаря, че сподели.
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com