Old

Windows 下使用国外 DNS 访问国内网站慢的解决方法

标题好像有点绕口,其实就是因为要科学上网而用国外 DNS,例如 OpenDNS 、Google 的 8888,8844,而国内有两个同行近在眼前却隔扇厚墙:联通和电信,而国内很多网站都是多线路自动分配联通还是电信的服务器IP给你,问题就是使用国外 DNS 无法判断……

这就造成使用国外 DNS 有时会出现你是电信用户扔给你联通服务器 IP,具体不说,会用国外 DNS 的朋友都懂的。这里主要说说解决办法。

如果你是 Linux 酱请移步到这里《使用国外 DNS 造成国内网站访问慢的解决方法

我是 Windows 重度中毒者,所以需要在 Windows 下的软件,搜来搜去找到的是 Dual DHCP DNS Server,因为没有中文版,也就没有中文说明,而且随便搜一下竟然没有一篇文章写如何设置……囧,只好自己摸索一下了。

Dual DHCP DNS Server

官方地址:http://dhcp-dns-server.sourceforge.net/

下载地址:http://sourceforge.net/projects/dhcp-dns-server/

What are DHCP and DNS servers

DHCP Server alots the IP addresses to computers, while DNS server resolves them.

You need DHCP Server if you do not want to manually maintain IP Addresses or
you have less IP Addresses than number of machines you have, as dynamic DHCP Server will
recycle IP Addresses on machines.

DNS Server is needed for resolving hostnames to their IP addresses. Normally your
ISP will provide you with DNS Service. You may have your own DNS Server, which will
resolve hostnames by forwarding them to ISP's DNS Server and cache the addresses also.

这软件支持 DHCP 和 DNS 服务的,我只要 DNS,下面是一些简单的设置说明,具体我也懒得去深入了解,反正只要解决我文章标题的问题就行了。(下面的说明都是假定你的电脑通过路由器上网,拨号的类似自行修改)

  1. 下载安装好(假定在 D:\DualServer)
  2. 进入 D:\DualServer 目录,用文本编辑器打开 DualServer.ini
  3. 找到 [SERVICES] 项部分,默认是开启 DHCP 和 DNS 服务的,因为我只要 DNS 功能,所以只开启 DNS 功能只要去掉 ;DNS 前面的英文分号 ;
  4. 继续找到 [FORWARDING_SERVERS] 项,这里是指定默认的 DNS 服务器,这里我用 Google 的,所以加上
    8.8.8.8
    8.8.4.4
  5. 然后就是重点了,找到 [CHILD_ZONES](注:6.95RC后改名为 [CONDITIONAL_FORWARDERS]),这里是针对关键字自定义 DNS 服务器的地方,下面说说格式
    - 拿淘宝网站来说明吧,淘宝一般的域名有:taobaocdn.com、taobao.com、tbcache.com、tdimg.com
    . 我们要设置这几个域名走电信的 DNS(这里我用路由器DNS代理地址——即路由器本身IP),那么格式如下

    taobaocdn.com=192.168.1.1
    taobao.com=192.168.1.1
    tbcache.com=192.168.1.1
    tdimg.com=192.168.1.1

    . 如果有多个 DNS 就这样(例如广东这边电信的 DNS 一般是 202.96.134.133 和 202.96.128.166)

    taobaocdn.com=202.96.134.133,202.96.128.166

    2013.02.20 Update:Guo.Andy 在评论里提醒新版 V6.95RC 改了设置名(点击这里),我还没验证,用新版的朋友注意一下。

  6. 查看自己网卡的 IP 地址,因为 DualServer 默认会获取网卡的 IP 地址作为本地 DNS 服务器地址,不知道的可以在命令窗口敲 ipconfig 得到,这里假定是 192.168.1.100
  7. 修改连接路由器的那个网卡的 DNS 服务器地址为 192.168.1.100(自淫?网卡自己的IP……)
  8. 运行 RunStandAlone.bat,运行后会出现命令窗口显示 log,这样就OK了

PS1:如果你不想每次都要运行 RunStandAlone.bat 和看到那碍眼的命令窗口,那么你可以注册为系统服务,只要运行 DualServer.exe,然后去系统服务(命令行敲 services.msc)那里启动此服务,以后就会自动运行了,不过注意,如果你修改了 DualServer.ini 参数,需要停止再启动此服务——嫌麻烦就重新启动计算机

PS2:@felixonmars 这喵的维护了一张国内常用的、但是通过国外 DNS 会解析错误的网站域名的列表,“Auto DNS Configuration For Websites Located in China”里面的就是,不过 要改下格式,例如:

server=/115.com/114.114.114.114

改为

115.com=114.114.114.114

添加进前面说的 DualServer.ini 的 [CHILD_ZONES] 下面(可以copy列表到文本编辑器批量修改)

折腾完,祝大家科学上网愉快!

声明: 除非注明,ZWWoOoOo文章均为原创,转载请以链接形式标明本文地址
本文地址: http://zww.me/archives/25714

83 comments

  1. gcbowz gcbowz Firefox 10 Firefox 10 Windows 8 Windows 8

    zww大叔 你使用的是webmin吗? 还是 我刚买vps不懂

    41楼
  2. 4585_5360 4585_5360 Google Chrome 23 Google Chrome 23 Windows 7 Windows 7

    话说最近连着好几篇都是安装各种工具,装上这么一大堆东西之后应该就没有瘟粑带来的丝滑感受了吧~

    42楼
  3. 4585_5360 4585_5360 Internet Explorer 10 Internet Explorer 10 Windows 7 Windows 7

    嗯……我觉得应该用我的这个 Windows 7 版的 IE10 调戏一下可爱的 WP-UserAgent 童鞋~ :mrgreen:
    那条待审的评论是我输错邮箱名了,不用放出来了…… :oops:

    43楼
  4. ......
  5. Fraecak_l Fraecak_l Google Chrome 48 Google Chrome 48 Windows 7 Windows 7

    搞定了就写个详细的图文教程出来~

    41楼

Leave a Reply