最近遇到有关DNS解析的一些问题。经过设置openwrt的dns,问题已经解决,但是原理还没有弄懂,特此记录。

首先介绍一下网络状况。
1、内网专线隧道连接公司总部,外网走电信出口
2、由于公司自己内网架设了DNS,而且经测试,必须是指定该DNS在本地才能够上网,其他公用dns都不行,怀疑是否在防火墙处设置了一些过滤,其中原理不太清楚。有没有同学懂得?
遇到的状况是,公司内部接小路由器,设置wan口ip地址和DNS地址都为公司要求的,但是客户计算机dhcp自动获取地址后,上不了公司内网网站,只能访问互联网,经测试发现内网链路是通的,但是DNS无法解析到相应的地址。

查看客户计算机发现获取到的DNS服务器地址为192.168.1.1。经过手动设置DNS为公司指定的,可以正常上网。

经过测试发现,openwrt的路由器,大部分获取的DNS为192.168.1.1。tp-link则直接获取到了公司DNS,所以能直接上网。不得不感叹tp-link的默认设置还是能兼容绝大多数网络状况的,易用性很高。

但是问题也来了,为什么获取到192.168.1.1为dns的客户端还能够正常访问外网呢?192.168.1.1不是轮询找wan口设置的dns获取解析吗?为什么外网能解析,内网地址就不能解析了。一直不理解。有没有懂的同学帮忙分析分析。

以下是nslookup测试结果

C:\Users\admin>nslookup www.baidu.com
服务器: PandoraBox_6F5A.lan
Address: 192.168.1.1

非权威应答:
名称: www.a.shifen.com
Addresses: 14.215.177.37
14.215.177.38
Aliases: www.baidu.com
C:\Users\admin>nslookup www.qq.com
服务器: PandoraBox_6F5A.lan
Address: 192.168.1.1

非权威应答:
名称: www.qq.com
Addresses: 240e:e1:8100:28::2:16
14.17.42.40
14.17.32.211
59.37.96.63

 

找到了一个小资料,也许就是设置了这个?但是外网怎么又能上,还是理解不了。

http://support.huawei.com/ecommunity/bbs/10253036.html

DNS劫持功能
dns透明代理功能需要指定客户端设置的dns地址,但很多情况下并不知道客户端设置了什么,希望实现无论客户端如何设置DNS,只能dns请求包经过防火墙,都能转发到管理员指定的DNS服务器

问题描述:
1.存在一些恶意软件,会修改客户端的DNS地址,导向钓鱼网站;
2.要求用户使用内部的DNS服务器,但用户使用了外网DNS,导致部分内部网站无法访问

功能建议:
增加DNS转发功能,劫持通过防火墙的dns请求,转发至正确的dns服务器