首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes: VPN服务器和DNS问题

Kubernetes: VPN服务器和DNS问题
EN

Stack Overflow用户
提问于 2016-01-17 21:28:52
回答 2查看 3.6K关注 0票数 10

我在(本地) Kubernetes集群中派生了一个容器,以安全地访问Kubernetes,并在本地调试依赖的服务。

我可以通过openVPN服务器连接到集群。但是,我无法通过DNS解析。

在设置VPN服务器上的路由之后,我设法达到了这样的程度:

  • 我可以通过IP ( (subnet 10.2.0.0/16) )来切换一个Pod
  • 我可以通过IP来平服务 (subnet 10.3.0.0/16就像10.3.0.10上的DNS )
  • 我可以通过IP将curl发送到服务并获取所需的数据。

但是,当我nslookup kubernetes或任何服务时,我得到:

代码语言:javascript
复制
nslookup kubernetes
;; Got recursion not available from 10.3.0.10, trying next server
;; Got SERVFAIL reply from 10.3.0.10, trying next server

我仍然缺少一些数据从DNS服务器返回,但我不知道我需要做什么。

如何在SERVFAIL Kubernetes DNS中调试此问题?

编辑:

我已经注意到并希望了解的事情:

  • nslookup可以在除openvpn pod之外的任何吊舱中解析服务名称
  • 虽然nslookup在其他那些Pods中工作,但ping不工作。
  • 同样,在这些其他的traceroute导致法兰绒层10.0.2.2,然后停在那里。

因此,我猜ICMP必须在法兰绒层被阻塞,这并不能帮助我确定DNS被阻塞的位置。

EDIT2:

我终于想到了如何让nslookup工作:我不得不将DNS搜索域推到

代码语言:javascript
复制
push "dhcp-option DOMAIN-SEARCH cluster.local"
push "dhcp-option DOMAIN-SEARCH svc.cluster.local"
push "dhcp-option DOMAIN-SEARCH default.svc.cluster.local"

-p映像中添加docker-openvpn选项

所以我最后

代码语言:javascript
复制
docker run -v /etc/openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig \
-u udp://192.168.10.152:1194 \
-n 10.3.0.10 \
-n 192.168.10.1 \
-n 8.8.8.8 \
-n 75.75.75.75 \
-n 75.75.75.76 \
-s 10.8.0.0/24 \
-d \
-p "route 10.2.0.0 255.255.0.0" \
-p "route 10.3.0.0 255.255.0.0" \
-p "dhcp-option DOMAIN cluster.local" \
-p "dhcp-option DOMAIN-SEARCH svc.cluster.local" \
-p "dhcp-option DOMAIN-SEARCH default.svc.cluster.local" 

现在,curl 仍然不使用,nslookup可以工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-20 16:55:23

最后,我的配置如下所示:

代码语言:javascript
复制
docker run -v /etc/openvpn:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig \
-u udp://192.168.10.152:1194 \
-n 10.3.0.10 \
-n 192.168.10.1 \
-n 8.8.8.8 \
-n 75.75.75.75 \
-n 75.75.75.76 \
-s 10.8.0.0/24 \
-N \
-p "route 10.2.0.0 255.255.0.0" \
-p "route 10.3.0.0 255.255.0.0" \
-p "dhcp-option DOMAIN-SEARCH cluster.local" \
-p "dhcp-option DOMAIN-SEARCH svc.cluster.local" \
-p "dhcp-option DOMAIN-SEARCH default.svc.cluster.local"

用于VPN服务器地址和端口的-u

用于所有DNS服务器的-n

-s来定义VPN子网(因为它默认为10.2.0.0,已经被Kubernetes使用了)

-d禁用NAT

将选项推送到客户端的-p

启用NAT的-N:在Kubernetes上进行这种设置似乎很关键

最后一部分,将搜索域推送给客户端,是获得nslookup等的关键。去工作。

注意,curl一开始不起作用,但几秒钟后就开始工作了。因此,它确实有效,但它需要一些时间来解决卷曲。

票数 12
EN

Stack Overflow用户

发布于 2016-01-20 16:38:37

试试卷发-4。即使A在场,也可能是为了解决AAAA问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34843940

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档