Сетевая изоляция и безопасностьNetwork isolation and security

Изоляция с помощью сетевых пространств именIsolation with network namespaces

Каждый контейнер размещается в собственном пространстве имен сети.Each container endpoint is placed in its own network namespace. Виртуальная сетевая карта узла управления и сетевой стек узла размещаются в пространстве имен сети по умолчанию.The management host vNIC and host network stack are located in the default network namespace. Чтобы обеспечить сетевую изоляцию между контейнерами на одном узле, для каждого контейнера Windows Server создается сетевое пространство имен, а контейнеры работают под изоляцией Hyper-V, в которой установлен сетевой адаптер для контейнера.In order to enforce network isolation between containers on the same host, a network namespace is created for each Windows Server container and containers run under Hyper-V isolation into which the network adapter for the container is installed. Для подключения к виртуальному коммутатору контейнеры Windows Server используют виртуальный сетевой адаптер узла.Windows Server containers use a Host vNIC to attach to the virtual switch. Изоляция Hyper-V использует искусственный сетевой адаптер виртуальной машины (не предоставляется для виртуальной машины служебной программы) для подключения к виртуальному коммутатору.Hyper-V isolation uses a Synthetic VM NIC (not exposed to the Utility VM) to attach to the virtual switch.

текст

Get-NetCompartment

Безопасность сетиNetwork security

В зависимости от используемого контейнера и сетевого драйвера, списки управления доступом портов применяются с помощью сочетания брандмауэра Windows и VFP.Depending on which container and network driver is used, port ACLs are enforced by a combination of the Windows Firewall and VFP.

Контейнеры Windows ServerWindows Server containers

Эти контейнеры используют брандмауэр узла Windows (использующий пространства имен сети) и VFPThese use the Windows hosts' firewall (enlightened with network namespaces) as well as VFP

  • Исходящий трафик по умолчанию: ПОЛНОСТЬЮ РАЗРЕШИТЬDefault Outbound: ALLOW ALL

  • Входящий трафик по умолчанию: ПОЛНОСТЬЮ РАЗРЕШИТЬ (TCP, UDP, ICMP, IGMP) незапрошенный сетевой трафикDefault Inbound: ALLOW ALL (TCP, UDP, ICMP, IGMP) unsolicited network traffic

    • ПОЛНОСТЬЮ ЗАПРЕТИТЬ другой сетевой трафик, поступающий через прочие протоколыDENY ALL other network traffic not from these protocols

    Примечание

    До появления обновления Windows Server версии 1709 и Windows 10 не попадают в обновление, правило для входящего трафика по умолчанию было ОТКЛОНЕНо.Prior to Windows Server, version 1709 and Windows 10 Fall Creators Update, the default inbound rule was DENY all. Пользователи, работающие с этими старыми выпусками, могут создавать правила входящего трафика с docker run -p (пересылка портов).Users running these older releases can create inbound ALLOW rules with docker run -p (port forwarding).

Изоляция Hyper-VHyper-V isolation

Контейнеры, работающие в изоляции Hyper-V, имеют собственный изолированный ядро и поэтому запускают свой собственный экземпляр брандмауэра Windows со следующей конфигурацией:Containers running in Hyper-V isolation have their own isolated kernel and therefore run their own instance of Windows Firewall with the following configuration:

  • Правило по умолчанию "ПОЛНОСТЬЮ РАЗРЕШИТЬ" в брандмауэре Windows (запущенном в служебной виртуальной машине) и VFPDefault ALLOW ALL in both Windows Firewall (running in the utility VM) and VFP

текст

Модули pod KubernetesKubernetes pods

В Kubernetes Podсначала создается контейнер инфраструктуры, к которому присоединена конечная точка.In a Kubernetes pod, an infrastructure container is first created to which an endpoint is attached. Контейнеры, принадлежащие к одному и тому же модулю, включая контейнеры инфраструктуры и рабочих ролей, совместно используют общее пространство имен сети (то же самое пространство IP-адресов и портов).Containers that belong to the same pod, including infrastructure and worker containers, share a common network namespace (same IP and port space).

текст

Настройка списков управления доступом портов по умолчаниюCustomizing default port ACLs

Если вы хотите изменить списки ACL портов по умолчанию, сначала прочтите документацию по сетевой службе размещения (ссылка будет добавлена в ближайшее время).If you want to modify the default port ACLs, please read our Host Networking Service documentation first (link to be added soon). Необходимо обновить политики в следующих компонентах:You'll need to update policies inside the following components:

Примечание

Для изоляции Hyper-V в режиме прозрачности и преобразования сетевых адресов (NAT) сейчас невозможно перепрограммировать списки ACL портов по умолчанию.For Hyper-V isolation in Transparent and NAT mode, you currently can't reprogram the default port ACLs. В таблице это отражено пометкой "X".This is reflected by an "X" in the table.

Сетевой драйверNetwork driver Контейнеры Windows ServerWindows Server containers Изоляция Hyper-VHyper-V isolation
ПрозрачныйTransparent Брандмауэр WindowsWindows Firewall XX
NATNAT Брандмауэр WindowsWindows Firewall XX
L2BridgeL2Bridge Оба вариантаBoth VFPVFP
L2TunnelL2Tunnel Оба вариантаBoth VFPVFP
НаложениеOverlay Оба вариантаBoth VFPVFP