3.8 KiB
status, type, tags, updated, title, created
| status | type | tags | updated | title | created | |
|---|---|---|---|---|---|---|
| stable | concept |
|
2026-02-27 | Network Drivers - Docker | 2025-12-17 |
Network Drivers - Docker
При работе с docker возникает необходимость обеспечить работу контейнеров в сети:
- настройка правил маршрутизации (iptables)
- формирование пакетов
- инкапсуляция пакетов
- шифрование и безопасность
Для этого используются Network Drivers
Сетевых драйверов поддерживаются несколько вариаций, каждый из них способен обеспечить все основные функции:
- bridge (мост)
- host
- overlay
- macvlan
- none
- 3rd-party plugins
Bridge
Объединение контейнеров в bridge-сеть:
- контейнеры обьеденены в сеть
- контейнеры в сети имеют связь друг с другом
- контейнеры из другой сети не имеют сетевой связности
- используется в docker по умолчанию
Host
Использует сеть хоста (удаляется сетевая изоляция)
- удаляет сетевую изоляцию между контейнером и хостом
- возможны проблемы с занятым портов, сетевыми ограничениями хостовой сети (поддерживается только в Linux)
Overlay
Создание сети для объединения контейнеров на разных хостах путем создания оверлейной сети
- не поддерживает шифрование на win-хостах
MacVLAN
Работа с контейнерами, как с физическими устройствами
- присваивает каждому контейнеру в сети физический MAC-адрес
- позволяет обращаться к контейнеру как к настоящему устройству
- поддерживается только в Linux
None
Отключение всех сетей в контейнере
- может быть использован для изоляции контейнера
Работа С Bridge-сетями
Docker по умолчанию использует bridge-сеть, так как он позволяет добиться большей изоляции от внешних сетей хоста.
Контейнеры внутри одного "бриджа" не имеют доступа к другим из других бридж сетей.
Если нам нужна гибкая настройка сети внутри самого контейнера, потребуются доп. capabilities (например, CAP_NET_ADMIN)
В качестве альтернативы можно рассмотреть CNI-плагины (сторонние - 3rd-party)
Связанные заметки
- Модель OSI — bridge/overlay/macvlan реализуют концепции L2/L3 из модели OSI; iptables работает на L3/L4
- VLAN - Base — bridge-изоляция контейнеров ≈ VLAN-изоляция устройств: разные бриджи не видят друг друга, как разные VLAN
- VPN — overlay-сеть реализует принцип VPN: инкапсуляция трафика одной сети поверх другой
- Сегментация сети — изоляция контейнеров по bridge-сетям = программная сегментация сети