限制多个子网与 Docker 主机的连接
Restrict connections to the Docker host for several subnets
我需要限制与 docker 容器的连接。 docker documentation 声明如下:
iptables -I DOCKER-USER -i ext_if ! -s 192.168.1.0/24 -j DROP
在此之后 DOCKER-USER 链开始看起来像这样:
Chain DOCKER-USER (1 references)
target prot opt source destination
DROP all -- !192.168.1.0/24 anywhere
RETURN all -- anywhere anywhere
这工作正常,可以从 192.168.1.0/24 子网访问,none 从其余子网访问。但我的问题是我需要添加几个子网。我尝试用几行替换这一行但没有成功
iptables -I DOCKER-USER 1 -i ext_if -s 192.168.1.0/24 -j RETURN
iptables -I DOCKER-USER 2 -i ext_if -s 10.0.0.0/24 -j RETURN
iptables -I DOCKER-USER 3 -j DROP
链开始看起来像这样:
Chain DOCKER-USER (1 references)
target prot opt source destination
RETURN all -- 192.168.1.0/24 anywhere
RETURN all -- 10.0.0.0/24 anywhere
DROP all -- anywhere anywhere
RETURN all -- anywhere anywhere
还尝试了 ACCEPT
而不是 RETURN
,但结果是一样的 - 所有内容都被丢弃,无论它来自哪个子网。
有没有办法将工作中的一行分成几行?
P.S。我知道我可以列出用逗号分隔的子网,但这是不可取的,因为我需要添加大约 15 个子网并为每个子网添加注释。
找到解决方案here。
该接口应在 DROP
行中指定。
iptables -I DOCKER-USER 1 -i ext_if -s 192.168.1.0/24 -j RETURN
iptables -I DOCKER-USER 2 -i ext_if -s 10.0.0.0/24 -j RETURN
iptables -I DOCKER-USER 3 -i ext_if -j DROP
我需要限制与 docker 容器的连接。 docker documentation 声明如下:
iptables -I DOCKER-USER -i ext_if ! -s 192.168.1.0/24 -j DROP
在此之后 DOCKER-USER 链开始看起来像这样:
Chain DOCKER-USER (1 references)
target prot opt source destination
DROP all -- !192.168.1.0/24 anywhere
RETURN all -- anywhere anywhere
这工作正常,可以从 192.168.1.0/24 子网访问,none 从其余子网访问。但我的问题是我需要添加几个子网。我尝试用几行替换这一行但没有成功
iptables -I DOCKER-USER 1 -i ext_if -s 192.168.1.0/24 -j RETURN
iptables -I DOCKER-USER 2 -i ext_if -s 10.0.0.0/24 -j RETURN
iptables -I DOCKER-USER 3 -j DROP
链开始看起来像这样:
Chain DOCKER-USER (1 references)
target prot opt source destination
RETURN all -- 192.168.1.0/24 anywhere
RETURN all -- 10.0.0.0/24 anywhere
DROP all -- anywhere anywhere
RETURN all -- anywhere anywhere
还尝试了 ACCEPT
而不是 RETURN
,但结果是一样的 - 所有内容都被丢弃,无论它来自哪个子网。
有没有办法将工作中的一行分成几行?
P.S。我知道我可以列出用逗号分隔的子网,但这是不可取的,因为我需要添加大约 15 个子网并为每个子网添加注释。
找到解决方案here。
该接口应在 DROP
行中指定。
iptables -I DOCKER-USER 1 -i ext_if -s 192.168.1.0/24 -j RETURN
iptables -I DOCKER-USER 2 -i ext_if -s 10.0.0.0/24 -j RETURN
iptables -I DOCKER-USER 3 -i ext_if -j DROP