使用dnsproxy自建DNS服务

为什么我想要自建DNS服务?

因为我们公司内网有基于Windows的DNS服务。主要因为部分域名是仅限内网解析的,所以我不得不使用公司内网提供的DNS。如果这个DNS服务好用也就没啥了,但问题在于,他总是能解析出一些无法访问的IP,上网体验糟糕。

我有尝试修改我本地的DNS,或者是尝试将内网的域名写入hosts文件中,最终都无法满足我的需求。

经人安利,我找到了这个开源项目:https://github.com/AdguardTeam/dnsproxy

如何使用dnsproxy?

其实我觉得我有点废话了,大家可以直接看GitHub的上readme

这个项目,本质上就是将我访问的域名去访问多个DNS服务,并将最快的IP返回作为解析的返回结果。要想把这个服务跑起来十分容易。

这个是项目的发布地址,有各个平台已经编译好的版本:https://github.com/AdguardTeam/dnsproxy/releases

紧接着,打开所在目录,找可执行的文件即可。

dnsproxy -u x.x.x.x -u y.y.y.y -u z.z.z.z -u 114.114.114.114 -u 1.1.1.1 -u 8.8.8.8

需要提醒的是 x.x.x.xy.y.y.yz.z.z.z这三个DNS服务是我给我们公司内网DNS服务打的马赛克,请不要直接复用哦。

如果需要在后台运行,可以使用nohup

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要排查Kubernetes的DNS解析和kube-proxy问题,可以按照以下步骤进行: 1. 检查DNS配置:首先,请确保Kubernetes集群中的DNS配置正确。可以使用以下命令检查kube-dns或coredns的Pod是否正在运行: ``` kubectl get pods -n kube-system -l k8s-app=kube-dns ``` 如果Pod没有处于运行状态,可以使用以下命令查看它们的详细信息: ``` kubectl describe pod -n kube-system <kube-dns-pod-name> ``` 确保DNS Pod没有任何错误或异常,并且它们的IP地址与集群中其他组件的IP地址是可访问的。 2. 检查DNS解析配置:确保你的Service和Pod的DNS配置正确。可以使用以下命令检查Service和Pod的DNS名称是否正确解析为IP地址: ``` kubectl run -it --rm --restart=Never busybox --image=busybox:1.31 nslookup <service-name> ``` 这将在一个临时Pod中执行nslookup命令来检查DNS解析情况。 3. 检查kube-proxy配置:确认kube-proxy的配置正确,并且它正在正常运行。可以使用以下命令检查kube-proxy的状态: ``` kubectl get pods -n kube-system -l k8s-app=kube-proxy ``` 如果kube-proxy Pod没有处于运行状态,可以使用以下命令查看它们的详细信息: ``` kubectl describe pod -n kube-system <kube-proxy-pod-name> ``` 确保kube-proxy没有任何错误,并且它正在监听正确的网络接口。 4. 检查网络策略和防火墙:如果你启用了网络策略(NetworkPolicy),请确保它允许从源Pod访问目标Pod的DNS。另外,检查防火墙规则是否允许DNS流量通过。 这些步骤可用于排查Kubernetes的DNS解析和kube-proxy问题。如果问题仍然存在,请提供更多详细信息,以便我能够提供更准确的帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值