再谈本地DNS服务器实现通配符host
<<在个人电脑安装DNS>>一文中已经详细介绍了个人电脑安装DNS的用处,以及使用方法,但因为没有简单易用的软件,所以基本上全说了些废话.
今天得以再次提起此文要全靠stone2083同学不辞辛劳用自己周末的时间为我们写了个简易版的dns服务器软件.现在就说一下详细的使用步骤.
这里是stone2083介绍的内容,如果您没有看懂,那请继续往下看我写的内容,如果您已经会操作了那下文已经没有再看的必要了,不要浪费宝贵时间嘛!
一,修改本地连接的dns服务器


在[本地连接]右击,选择属性,然后找到[Internet协议(TCP/IP)],并将首选dns服务器改为127.0.0.1 备用dns服务器改为8.8.8.8(这是Google的dns服务器,你也可以用电脑本来的,这个基本没影响),为什么改成这两种形式呢?后面还会说明的.
补充:如果你的电脑使用宽带拨号上网,那就修改宽带连接的dns服务器
二,建立hosts文件
将我提供的hosts文件放入到D盘根目录中,hosts中访问某Y视频网站的hosts记录已经写好了,如还有其他需求请自行添加.
三,启动软件
在运行中输入cmd,然后用cd命令进入dns/dist目录(我的是cd),

然后再输入dns.exe 8.8.8.8 –s d:\hosts 并回车这时就已经启动了dns服务器软件了,请注意cmd窗口不能关闭,关闭了dns服务器也就关闭了,这时打开你的浏览器试试Y视频网站,看看能不能打开了?肯定是能的,但不排除某些问题导致不成功的情况,请留言,我看看能否给您解决.
四,其他说明
关闭cmd窗口后dns服务器就关闭了,但如果手动再去改[本地连接]会很麻烦,所以当时把备用dns服务器改为8.8.8.8了,这样如果电脑检测到127.0.0.1已经不能使用了就会自动切换到8.8.8.8上,这样不用再改本地连接的dns服务器就可以正常使用了.下次再启动软件时也不用再设置了.
至于这样设置会不会减慢dns解析的速度,我不好说,不过我没感觉到,但从原理上分析可能会有影响,因为电脑要首现检测127.0.0.1的dns服务器是否能用,不过这个检测时间是多少我就不知道了.
前文中虽然介绍了一个可以快速切换dns设置的软件,但此软件好像只能改本地连接的dns设置,并不支持宽带连接的dns修改,所以嫌麻烦的还是使用上文我提供的设置吧.
要不您就把stone2083同学提供的软件设置为开机自动启动,不过对Y视频需求不是很大的好像没必要呵.
说来stone2083提供的dns软件每次都要在cmd中输入一些命令总是有些麻烦,那就直接在dist目录中建一个bat文件,输入dns.exe 8.8.8.8 –s d:\hosts 然后将此bat软件的快捷方式放到桌面上,这样以后双击运行就可以了.
下面是软件下载地址:
dns服务器软件:
http://www.blogjava.net/Files/stone2083/python/standalone.zip(解压后放到D盘就可以了)
我提供的hosts文件:http://drp.so/Vhj__TU(解压后放到D盘根目录)
bat快速启动文件:http://drp.so/zqPs7Yv(放到standalone解压后的dist目录中)
更新:
今天在文章时发现了一个问题,纠正一下自己以前的错误想法:
网卡配置里那两个所谓的“主”“备”DNS,并非是我们理解的,先用主DNS解析,解析不到再用备用DNS,而是同时像这两个DNS发解析请求,谁响应快就用谁的结果。
以前只是想当然的认为,并没有做测试,希望不会误导大家太多.
评论中还有一些不错的方法、说明,有需要的可以看看.
转载需注明来源于: 纳百川 >> 再谈本地DNS服务器实现通配符host
本文链接地址: http://www.bigsea.tk/talk-about-the-local-dns-server-implementations-wildcard-host.html

木有成功
大海 回复:
七月 21st, 2011 at 下午 5:36
你多少也要说说出了什么问题啊,这样我真的没法解答你啊
一切按博主所作,木有成功!悲剧记录如下:
D:\standalone\dns\dist>dns.exe. 8.8.8.8 -s d:\hosts
127.0.0.1 –[Thu Jul 21 18:24:12 2001] http://www.facebook.co Not Found
[Errno 11001] getaddrinfo failed
[Errno 11001] getaddrinfo failed
大海 回复:
七月 22nd, 2011 at 上午 3:15
你试试启动后用127.0.0.1作为DNS看看能不能正常解析域名,不一定是被墙的,先看看可以正常访问的域名是否还正常.
大海 回复:
七月 22nd, 2011 at 下午 5:36
还有一点忘了告诉你,我提供的hosts只能正常访问YouTube,要访问facebook还需要另想办法
很郁闷,仍然不行,地址栏输入www.youtube.com, enter后就转到一个SB连接显示“很抱歉,在 http://www.google.cn 上没找到您要访问的网页”~~~~~ 我根本就没有用Google搜啊,我是直接输入的访问地
址,中国的网络真他娘妖魔鬼怪~~~
这是啥意思呢?是不是可以理解为网民访问不到Y网然后一看是什么“~~~在 http://www.google.cn 上没找到您要访问的网页~~~”这类的提示,把屎盆子扣Google头上? 但这个也太弱智了吧,有人相信么?!求解博主
大海 回复:
七月 23rd, 2011 at 上午 12:09
出现这个提示我就要恭喜你了,出现这个提示的原因是我提供的hosts中的IP已经不能使用了,需要更换其他的IP了,但你的配置应该是没有错误的.
分享一下!博主写的不错哦! http://www.cn-tongxin.com
可以使用VBS隐藏那个不愉快的窗口。。。
Set Magic = CreateObject(“WScript.Shell”)
Magic.Run “dist\dns.exe -s 8.8.8.8 -f C:/WINDOWS/system32/drivers/etc/hosts”,0
请问博主,python应该安装哪个版本的啊?
大海 回复:
九月 3rd, 2011 at 下午 8:07
这个应该没什么特别要求,下个最新的安上就行.
不安装python此软件好像也能使用.
不会吧,python2.X和3.X几乎是完全不同的语言,不能相互兼容的!
大海 回复:
九月 5th, 2011 at 下午 7:06
我对Python一无所知,更没有版本的概念了,只是使用此DNS服务器软件的话应该是不需要安装Python的.
@白眼
python2.6+以上版本均可。(python3不行)
standalone版本是通过py2exe,将其转成exe,故无须安装python(实际上已经将依赖的python库转成dll文件了)
My hat is off to your atuste command over this topic-bravo!