分类
docker linux

限制docker访问外网

我正在寻找一种简单的方法来限制我的docker容器,因此它们只能进行本地访问而不能访问Internet.
我已经尝试使用IPtables来执行此操作,以下工作:

iptables -I FORWARD -i docker0  -j DROP

但是如果重新启动docker服务,localhost将无法再访问容器.


我假设您通过“本地访问”表示您希望容器能够相互通信并与docker主机通信,但无法访问docker主机之外的网络?
你有几个选择.
1.
使用iptables从外部删除所有数据包DOCKER链中的网络接口.

iptables -I DOCKER -i eno1 -j DROP
# iptables -I DOCKER -i 桥接网络的名称 -j DROP

(在您的情况下,eno1可能不同;它是我的docker主机上的网络接口的名称.)
2.
关闭docker主机上的ip转发.

echo 0 > /proc/sys/net/ipv4/ip_forward

注意:这也会以相同的方式限制任何虚拟机是更安全意识的一般和安全的方法.
资源:
见https://docs.docker.com/v1.5/articles/networking/#the-world“容器与更广阔的世界之间的沟通”以获取更多信息.

发表评论

邮箱地址不会被公开。 必填项已用*标注