当前位置: 首页 > linux, 系统安全 > 正文

绕过 DNS 默认 UDP 53端口的屏蔽之苦逼SA

[摘要]因为业务特性对DNS请求量比较大(其实也没有多大,UDP流量也就50M+),然后整个网段的UDP53请求被运营商残忍地Block掉,所有机器无法解析域名。。。然后与IDC与运营商各种电话,发现流程非常繁琐,而且时间无法保证,重点是业务受到了严重影响,于是只能努力寻求其他解决方案。

初步想法是找台该IDC没有被block的ip地址,然后搭建dns,我们中转出去,后来经过沟通没有这样的IP存在,也就是说整个IDC被我们搞挂了,所有客户都无法解析域名啦,对这个表示非常sorry。。

另外就是猜测运营商是通过IP地址+协议+端口封的请求,是不是可以修改DNS的默认请求,下面就是这样的测试,后来发现成功鸟,不过这也只是临时解决方案,最终还是要找运营商把限制解开,这个暂且不提,下面是如何通过DNS非标准端口绕过封堵的过程。

具体操作如下:
需要搭建两台unbound服务器,远离就是通过本地DNS缓存与DNS forward功能:
DNS1:10.20.30.40:53(内网)
DNS2:80.70.60.50:5553(公网)

DNS请求流程:
10.20.30.0/24(内部服务器) –> 10.20.30.40:53(DNS1) –> 80.70.60.50:5553(DNS2)

##DNS2:80.70.60.50
DNS1 unbound配置:

DNS2本机的dns配置

##DNS1: 10.20.30.40
DNS1 unbound配置:

DNS1本机的dns配置

其他10.20.30.0/24网段的服务器可以配置10.20.30.40为dns服务器

下面是在其中一台服务器的测试情况:
# dig www.baidu.com

如果通过公网DNS dig +trace的话,结果会非常长,能够看到13个根DNS服务器,依次是com. baidu.com. 最后找到www.baidu.com
# dig @8.8.8.8 www.baidu.com +trace

通过自己的DNS服务器则只有一跳:
# dig www.baidu.com +trace

测试结果还是比较满意,至少功能上实现了,临时顶一阵,如果被封就继续换端口,还被封可以试试20,21,22,80之类的,我就不信量http/ftp也给封了(当然,人家把整个IP段封掉我也没辙,不过这个咱不告诉他:)

本文固定链接: https://www.sudops.com/unbound-pass-dns-udp-53-port-block.html | 运维·速度

该日志由 Fisher 于2014年11月19日发表在 linux, 系统安全 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: 绕过 DNS 默认 UDP 53端口的屏蔽之苦逼SA | 运维·速度
关键字: , ,

绕过 DNS 默认 UDP 53端口的屏蔽之苦逼SA:等您坐沙发呢!

发表评论


Time limit is exhausted. Please reload the CAPTCHA.

快捷键:Ctrl+Enter