Isolamento e segurança de rede
Aplica-se a: Windows Server 2022, Windows Server 2019 e Windows Server 2016
Isolamento com namespaces de rede
Cada ponto de extremidade do contêiner é colocado em seu próprio namespace de rede. O adaptador de rede virtual do host de gerenciamento e a pilha de rede de host estão localizados no namespace de rede padrão. Para impor o isolamento de rede entre contêineres no mesmo host, um namespace de rede é criado para cada contêiner do Windows Server e os contêineres são executados sob isolamento do Hyper-V no qual o adaptador de rede para o contêiner está instalado. Os contêineres do Windows Server usam um adaptador de rede virtual do host para anexar ao comutador virtual. O isolamento do Hyper-V usa um adaptador de rede de VM sintética (não exposto à VM do utilitário) para anexar ao comutador virtual.
Execute o seguinte cmdlet do Powershell para obter todos os compartimentos de rede na pilha de protocolos:
Get-NetCompartment
Segurança de rede
Dependendo de qual contêiner e driver de rede é usado, as ACLs de porta são impostas por uma combinação do Firewall do Windows e da VFP (Plataforma de Filtragem Virtual) do Azure.
Contêineres do Windows Server
Os seguintes valores usam o firewall dos hosts do Windows (habilitado com namespaces de rede), bem como o VFP:
- Saída Padrão: PERMITIR TUDO
- Entrada Padrão: PERMITIR todo tráfego de rede (TCP, UDP, ICMP, IGMP) não solicitado
- NEGAR TODO o tráfego restante que não seja desses protocolos
Observação
Antes do Windows Server versão 1709 e Windows 10 Fall Creators Update, a regra de entrada padrão era DENY all. Os usuários que executam essas versões mais antigas podem criar regras ALLOW de entrada com docker run -p
(encaminhamento de porta).
Isolamento do Hyper-V
Os contêineres em execução no isolamento do Hyper-V têm seu próprio kernel isolado e, portanto, executam sua própria instância do Firewall do Windows com a seguinte configuração:
- Padrão ALLOW ALL no Firewall do Windows (em execução na VM do utilitário) e no VFP.
Pods do Kubernetes
Em um pod do Kubernetes, um contêiner de infraestrutura é criado primeiro ao qual um ponto de extremidade é anexado. Os contêineres que pertencem ao mesmo pod, incluindo contêineres de infraestrutura e de trabalho, compartilham um namespace de rede comum (como o mesmo IP e espaço de porta).
Personalização de ACLs de porta padrão
Se você quiser modificar as ACLs de porta padrão, examine o tópico Serviço de Rede de Host antes de alterar as portas. Você precisará atualizar as políticas dentro dos seguintes componentes:
Observação
Para isolamento do Hyper-V no modo Transparente e NAT, atualmente você não pode reconfigurar as ACLs de porta padrão, o que é refletido por um "X" na tabela abaixo:
Driver de rede | Contêineres do Windows Server | Isolamento do Hyper-V |
---|---|---|
Transparente | Firewall do Windows | X |
NAT | Firewall do Windows | X |
L2Bridge | Ambos | VFP |
L2Tunnel | Ambos | VFP |
Sobreposição | Ambos | VFP |