我连接到企业VPN,需要能够在VPN连接时运行Docker容器,因为容器需要能够访问企业端点。但是,当我连接到AnyConnect VPN时,Docker根本无法访问互联网。无论是我们的企业端点还是互联网。
我正在运行CentOS7作为我的主机操作系统。
重现此问题的一个简单方法是安装最小的linux发行版,安装AnyConnect VPN,连接到VPN并尝试运行以下Docker容器:
docker run -i -t ubuntu:14.04 /bin/bash
一旦进入容器,我尝试ping google dns
[###]$ ping 8.8.8.8
将没有响应。如果我从AnyConnect VPN断开连接并重试上述操作,我会得到ping响应。
如何解决此问题?
2条答案
按热度按时间lstz6jyr1#
外部Ping和网络访问是不同的。你可以访问网络,但不能ping,因为你的公司网络的限制。我建议运行busybox
并检查内部的DNS设置
在那里你可以看到名称服务器ip地址列表。现在你可以试着ping这些地址以确保它们可以从内部访问。如果不能,你可以试着
要查看您可以从容器内部走多远,前两行应该是Docker和主机的IP,然后是您公司网络的IP
通常这是/etc/resolv.conf文件中生成的名称服务器的问题。如果是这种情况,那么您需要检查主机中的/etc/resolv.conf并更新docker设置以在container中正确生成名称服务器。
scyqe7ek2#
在对网络接口进行更改后,通常需要重新启动Docker引擎来重建所有的routes和iptables条目用途: