无法将 iptables 防火墙规则正确添加到 Docker 容器

时间:2021-05-12 03:28:52

标签: docker iptables

我想为 Docker 容器创建一个防火墙,只允许某些 IP 并拒绝其他 IP。

默认设置是这样的:

$ sudo iptables --list
Chain DOCKER-USER (1 references)
target     prot opt source               destination
RETURN     all  --  anywhere             anywhere

如 Docker 文档中所述,这允许所有传入 IP。 所以我正在修改这个。我运行了以下命令:

sudo iptables -D DOCKER-USER -j RETURN
sudo iptables -A DOCKER-USER -s xx.xx.xx.xx,yy.yy.yy.yy -j ACCEPT
sudo iptables -A DOCKER-USER -j DROP

这应该有效, 我的预期结果是,如果我尝试从zz.zz.zz.zz IP访问服务器,它会被拒绝,但从xx.xx.xx.xx,它会通过。

但现在的结果是,无论我是从 xx.xx.xx.xx(或 yy.yy.yy.yy)还是 zz.zz.zz.zz 访问,页面都告诉我“无法连接” .所以很明显它被丢弃了。

我不知道发生了什么,这个问题的原因是什么。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

按照文档指定 -i 选项。

sudo iptables -I DOCKER-USER -i eth0 ! -s your.ip.add.res -j DROP
相关问题