ネットワーク分離とセキュリティ
適用対象: Windows Server 2022、Windows Server 2019、Windows Server 2016
ネットワーク名前空間を使用した分離
各コンテナーのエンドポイントは、自身のネットワーク名前空間内に置かれます。 管理ホスト仮想ネットワーク アダプターとホスト ネットワーク スタックは、既定のネットワーク名前空間にあります。 同じホスト上のコンテナー間でネットワーク分離を適用するために、Windows Server コンテナーごとにネットワーク名前空間が作成され、コンテナーは Hyper-V 分離の下で実行され、コンテナーのネットワーク アダプターがインストールされます。 Windows Server コンテナーでは、ホスト仮想ネットワーク アダプターを使用して仮想スイッチに接続します。 Hyper-V 分離では、合成 VM ネットワーク アダプター (ユーティリティ VM には公開されません) を使用して仮想スイッチに接続します。
次の Powershell コマンドレットを実行して、プロトコル スタック内のすべてのネットワーク コンパートメントを取得します。
Get-NetCompartment
ネットワークのセキュリティ
使用されるコンテナーとネットワーク ドライバーに応じて、Windows ファイアウォールと Azure Virtual Filtering Platform (VFP) の組み合わせによってポート ACL が適用されます。
Windows Server コンテナー
次の値は、Windows ホストのファイアウォール (ネットワーク名前空間で対応) と VFP を使用します。
- 既定の発信: ALLOW ALL
- 既定の着信: (TCP、UDP、ICMP、IGMP の) 未承諾ネットワーク トラフィックに対して ALLOW ALL
- これらのプロトコル以外のネットワーク トラフィックに対して DENY ALL
注意
Windows Server バージョン 1709 および Windows 10 Fall Creators Update より前のバージョンでは、既定の受信規則は DENY all でした。 これらの古いリリースを実行しているユーザーは、 (ポート転送) を使用して docker run -p
受信 ALLOW ルールを作成できます。
Hyper-V による分離
Hyper-V 分離で実行されているコンテナーには、独自の分離カーネルがあるため、次の構成で Windows ファイアウォールの独自のインスタンスを実行します。
- Windows ファイアウォール (ユーティリティ VM で実行) と VFP の両方の既定の ALLOW ALL。
Kubernetes のポッド
Kubernetes ポッドでは、エンドポイントがアタッチされているインフラストラクチャ コンテナーが最初に作成されます。 インフラストラクチャやワーカー コンテナーなど、同じポッドに属するコンテナーは、共通のネットワーク名前空間 (同じ IP やポート空間など) を共有します。
既定のポート ACL のカスタマイズ
既定のポート ACL を変更する場合は、ポートを変更する前に ホスト ネットワーク サービス に関するトピックを確認してください。 次のコンポーネント内のポリシーを更新する必要があります。
Note
Transparent モードと NAT モードでの Hyper-V 分離の場合、現在、次の表の "X" によって反映される既定のポート ACL を再構成することはできません。
ネットワーク ドライバー | Windows Server コンテナー | Hyper-V による分離 |
---|---|---|
透明 | Windows ファイアウォール | x |
NAT | Windows ファイアウォール | X |
L2Bridge | 両方 | VFP |
L2Tunnel | 両方 | VFP |
オーバーレイ | 両方 | VFP |