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

无法将iptables防火墙规则正确添加到Docker容器,docker,iptables,Docker,Iptables,我想创建一个防火墙到Docker容器,它只允许一些IP,拒绝其他IP 默认设置如下所示: $ sudo iptables --list Chain DOCKER-USER (1 references) target prot opt source destination RETURN all -- anywhere anywhere 正如Docker文档中所述,这允许所有传入IP。 所以我在修改这个。我运行了以下命令: s

我想创建一个防火墙到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访问,页面都告诉我“连接失败”。所以很明显它被丢弃了


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

指定文档中的
-i
选项

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