01 Вступ до Macvlan
У попередній статті йшлося про кілька типів віртуальних мережевих пристроїв Linux: tap/tun, veth-pair, bridge — це, по суті, рішення для віртуалізації мережі, які надаються системами Linux, і macvlan також є одним із них, якщо бути точним, це рішення для віртуалізації мережевих карт. Тому що технологія MacVlan можеФізична мережевий карта фактично перетворюється на кілька віртуальних мережевих карт, що еквівалентно фізичній мережевій карті, яка виконує техніку кількох тіньових клонів, від одного до багатьох.
02 Як працює MacVLAN
MacVLAN — це нова функція, яку підтримує ядро Linux, підтримувані версії включають версії 3.9-3.19 та 4.0+, а для більш стабільної версії рекомендують версію 4.0+. Зазвичай він існує у вигляді модулів ядра, і ми можемо оцінити, чи підтримує його поточна система, наступними способами:
Якщо перша команда дає помилку, або друга команда не повертається, це означає, що поточна система не підтримує MacVLAN і ядро потрібно оновити.
Технологія MacVLAN звучить трохи схоже на VLAN, але їхній механізм реалізації зовсім інший. Підінтерфейс macVLAN повністю незалежний від оригінального основного інтерфейсу і може бути налаштований окремо з MAC-адресою та IP-адресою, тоді як підінтерфейс VLAN і основний інтерфейс мають спільну MAC-адресу. VLAN використовуються для поділу доменів мовлення, тоді як macvlan мають спільний домен мовлення.
За допомогою різних підінтерфейсів MacVLAN також може досягати ізоляції трафіку. MacVLAN визначає, якому віртуальному NIC-карту потрібно передати пакет на основі MAC-адреси призначення пакета, а потім віртуальний мережевий сет передає пакет до стеку протоколів верхнього рівня для обробки.
03 Чотири режими
Залежно від режиму комунікації між підінтерфейсами MacVLAN, існує чотири мережеві режими для MACVLAN:
- Приватний режим
- Режим VEPA (Віртуальний агрегатор портів Ethernet)
- Режим мосту
- Режим passthru
За замовчуванням використовується режим VEPA.
3.1 Приват
У цьому режимі підінтерфейси під одним основним інтерфейсом ізольовані один від одного і не можуть спілкуватися. Навіть якщо його перенаправити з зовнішнього фізичного комутатора, його безжально відкинуть.
3.2 VEPA
У цьому режимі трафік між підінтерфейсами має бути спрямований на зовнішній комутатор, який підтримує 802.1Qbg/VPEA (фізичний або віртуальний), пересилати через зовнішній комутатор, а потім назад.
Примітка: функція 802.1Qbg/VPEA просто означає, що комутатор має підтримувати функцію hairpin, тобто пакет даних можна отримати з інтерфейсу і потім повернути назад.
3.3 Міст
У цьому режимі змодельована функціональність мосту Linux, але найкраще в мосту те, що MAC-адреса кожного інтерфейсу відома і не потребує вивчення. Отже, у цьому режимі підінтерфейси можуть спілкуватися безпосередньо.
3.4 Passthru
Цей режим дозволяє підключатися лише одному підінтерфейсу до основного інтерфейсу і має бути встановлений у режим promiscuityous, який зазвичай використовується для з'єднання підінтерфейсів і створення VLAN-підінтерфейсів.
3.5 Mactap
Ще однією технологією, схожою на MacVLAN, є MacTap. На відміну від macvlan, mactap отримує посилку і передає його до стеку протоколів, але до файлу tapX, через який здійснює прямий зв'язок із користувачем.
04 Тренування
На Linux команда для створення macvlan виглядає так:
Загалом, використання macVLAN лише по собі марне, і зазвичай це комбінація віртуальних машин і контейнерів для побудови мережі. Давайте використаємо простір назв, щоб побачити, як Linux використовує macvlan.
Експериментальна топологія виглядає так:
У моїй системі, на прикладі інтерфейсу enp0s8, я створив два підінтерфейси macvlan (у режимі мосту), налаштував IP і розмістив його у два простори ім'їв для тестування зв'язку.
Примітка: IP-адреса enp0s8 — 192.168.56.110/24, і IP-адреса налаштованого підінтерфейсу також має належати до того ж сегмента CIDR.
Після двох підінтерфейсів пінгуйте його:
Ви бачите, що його можна пінгувати, але якщо змінити вищезгаданий режим на інший, він не працюватиме, тому залишаю це всім експериментувати (за замовчуванням режим VEPA).
Крім того, у Docker MacVLAN є більш важливою моделлю крос-хостової мережі, про яку буде розглянуто в наступній статті.
Резюме 05
MACVLAN — це технологія віртуалізації мережевих карт, яка може віртуалізувати мережеву карту на кілька мережевих карт.
У чотирьох режимах зв'язку MacVLAN найпоширенішим є Bridge.
Подумайте про це:
Схожості та відмінності між мостом Маквлан і мостом Існує подібна технологія, коли кілька віртуальних мережевих карт мають одну MAC-адресу, але мають незалежні IP-адреси.
Оригінальна адреса:Вхід за гіперпосиланням видно.
|