首页 > 解决方案 > 使用 WSL2 时如何为 docker for windows 运行 iptables 命令

问题描述

我在 WSL 2 上运行 Ubuntu 20.04 以及用于 Windows 的 docker desktop (2.3.0.5)。

已设置 Docker 桌面,以便我可以从我的 Ubuntu shell 访问 docker 守护程序。

我想运行该命令(有关运行该命令的动机,请参阅此问题):

sudo iptables -I DOCKER-USER -j DROP

但是当我这样做时,我得到了错误: iptables: No chain/target/match by that name.

根据docker文档:“Docker 安装了两个名为 DOCKER-USER 和 DOCKER 的自定义 iptables 链,它确保传入的数据包始终首先由这两个链检查。”

如何将此 iptable 规则应用于 Windows 上的 docker 桌面安装?

标签: dockerdocker-desktopwsl-2

解决方案


该文档指定它是 Linux 环境的一项功能。

在 Linux 上,Docker 操纵 iptables 规则来提供网络隔离。

您是否尝试过在 WSL2 本身中使用 iptables?如果您将 Docker 桌面与 WSL2 Ubuntu 集成一起使用,它可能会起作用。


推荐阅读