阻止从Docker容器到私有IP的传出连接
发布时间:2020-12-16 03:27:19 所属栏目:安全 来源:网络整理
导读:我们在使用Docker的服务器上运行的一些服务尝试连接到私有IP地址(10.0.0.0/8,192.0.0.0/16,172.16.0.0/12,100.64.0.0/10). 此行为是正常的,但我们的服务器提供商检测到此流量并向我们发送警报 我们想只停止传出流量,而不是使用iptables传入. 这是我们目前的
我们在使用Docker的服务器上运行的一些服务尝试连接到私有IP地址(10.0.0.0/8,192.0.0.0/16,172.16.0.0/12,100.64.0.0/10). 此行为是正常的,但我们的服务器提供商检测到此流量并向我们发送警报 我们想只停止传出流量,而不是使用iptables传入. 这是我们目前的设置:
但是这似乎不起作用,因为Docker创建了以下规则:
对于服务:
最后:
任何反馈都表示赞赏. 最佳答案
您正在错误的链中添加规则.源自docker容器的流量通过过滤器表的FORWARD链,而不是OUTPUT链.这是因为从主计算机的角度来看,流量是从docker0接口传入的,而主计算机仅仅充当转发器.
要区分入站和出站流量,请使用-i和-o选项指定接口.此外,您无法使用uid来确定流量是否来自docker容器(因为数据不是本地发起的).检查传入接口就足够了. 因此,将以下规则添加到DOCKER-ISOLATION链(从FORWARD链调用):
将docker0替换为docker创建的虚拟接口的名称. (注意:如果链DOCKER-ISOLATION不存在,则直接附加到FORWARD链). 另请查看iptables -vL和iptables -t nat -vL的输出,以便更好地了解地址的翻译方式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |