centos 连接到Cisco AnyConnect VPN时Docker容器中没有Internet访问

lsmd5eda  于 2022-11-07  发布在  Docker
关注(0)|答案(2)|浏览(279)

我连接到企业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响应。
如何解决此问题?

lstz6jyr

lstz6jyr1#

外部Ping和网络访问是不同的。你可以访问网络,但不能ping,因为你的公司网络的限制。我建议运行busybox

docker run -it --rm busybox

并检查内部的DNS设置

cat /etc/resolv.conf

在那里你可以看到名称服务器ip地址列表。现在你可以试着ping这些地址以确保它们可以从内部访问。如果不能,你可以试着

traceroute 1.2.3.4

要查看您可以从容器内部走多远,前两行应该是Docker和主机的IP,然后是您公司网络的IP
通常这是/etc/resolv.conf文件中生成的名称服务器的问题。如果是这种情况,那么您需要检查主机中的/etc/resolv.conf并更新docker设置以在container中正确生成名称服务器。

scyqe7ek

scyqe7ek2#

在对网络接口进行更改后,通常需要重新启动Docker引擎来重建所有的routes和iptables条目用途:

systemctl restart docker

相关问题