Total Pageviews

Monday 21 November 2011

Unbound 也可以强制使用 TCP 进行DNS查询

Unbound 是一款免费的相当轻量的 DNS 本地服务器软件,以前曾经做过介绍 Config Unbound On Windows
经过测试,原来只要改一下 Unbound 的配置文件,也可以把它当 PWX-DNS-Proxy 用!

方法很简单,安装完 Unbound 后,打开安装目录下的 service.conf 文件,修改(添加)以下两行内容:(注意,此方法只适用于 Unbound 1.4.12 及其以下版本,新版的官方给出了直接参数支持的方法,详见文末

优点: Unbound 是一款专业的 DNS 服务器软件,标准功能和稳定性比 PWX-DNS-Proxy 强,查询速度较快,内存占用也比 PWX-DNS-Proxy 少

缺点:
没有 PWX-DNS-Proxy 那样可以自定义某些网站使用特定的 DNS 服务器功能
而且由于关闭了 UDP 端口监听,nslookup 命令使用默认格式不能查询域名了,必须加 -vc 参数

修改/usr/local/etc/unbound/unbound.conf.default 里的下面蓝色文字表示的5处即可。其他地方其实不用改。
在 forward-zone 中可以设置怎样的域名用哪个服务器查询。
         interface: 127.0.0.1
         port: 53
forward-zone:
name: “.”
forward-addr: 208.67.222.222@5353
         forward-addr: 208.67.222.222@443
         forward-addr: 208.67.220.220@5353
         forward-addr: 208.67.220.220@443

# forward-addr: 192.168.2.1@5355 # forward to port 5355.
# forward-zone:
# name: “cn”
# forward-host: 202.96.134.133

顺便说下,路由器是 Tomato,DD-WRT 那样使用 DNSMasq 的,可以把 Unbound 或者 PWX-DNS-Proxy 的查询服务器设置为路由器 IP,利用 DNSMasq 来进行更加灵活的配置。
2011-09-19 更新,新版的 Unbound 1.9.1 应该如此配置 DNS-Over-TCP
(cd /usr/local/etc/unbound/
cp unbound.conf.default unbound.conf
nano unbound.conf)

# if yes, perform prefetching of almost expired message cache entries.
prefetch: yes
# Enable IPv4, “yes” or “no”.
do-ip4: yes
# Enable IPv6, “yes” or “no”.
do-ip6: no
# Enable UDP, “yes” or “no”.
do-udp: yes
# Enable TCP, “yes” or “no”.
do-tcp: yes
# upstream connections use TCP only (and no UDP), “yes” or “no”
# useful for tunneling scenarios, default no.
tcp-upstream: yes
注意 do-udp 一定要是 yes,但是实际上游查询会使用 tcp;还有一个切记先用 -vc 的 nslookup 确定你的上游 DNS 服务器支持 TCP 查询,国内的貌似全关了 .
Unbound 1.9.1下载

原文http://www.quakemachinex.com/blog/?p=186

用Unbound 的tcp模式也基本上解决了dns污染问题,看youtube,很流畅。

https://unbound.net/download.html

相关帖子:https://briteming.blogspot.com/2012/11/unbound-dns-tcp-dns.html
-----------------------------------------------------------------

 (UnboundPWX-DNS-Proxy 在长期 DNS 重负载查询下都会瘫痪?)。
-------------------------

几款 DNS 测试软件

今天介绍几款 DNS 测试软件,可以方便的解决这个问题,当然,不限于此。
Fast DNS
首先出场的是 彗星 DNS 优化器。 这个软件内置了大量的 DNS 服务器地址,几乎囊括了国内各省市的主要 DNS 服务器地址和国外一些著名的 DNS 服务器地址例如 Google,OpenDNS 等。软件的使用非常简单,启动后使用测试一键优化,软件会测试所有的 DNS 服务器地址速度以及解析质量,最后把软件认为最好的 DNS 服务器自动设置给你的网卡。之后你只需要在运行框中输入 ipconfig /release ,然后再输入 ipconfig /renew 即可让新的 DNS 服务器生效。强烈建议新手用户和走南闯北的售后服务人员,使用这个软件来解决 DNS 相关故障。
DNS Jumper
第二个是 DNS Jumper 。这个软件也内置了一些 DNS 服务器地址,但是大多是国外的,好在可以通过编辑 ini 文件来添加国内的 DNS 服务器地址。它可以通过点击 Fastest DNS 按钮来批量测试 DNS 服务器,也可以在下拉菜单选中一组 DNS 服务器后点击下面的 check response time 来测试,之后只需点击 Apple DNS 然后 Flush DNS 即可让新的 DNS 服务器生效。
DNS Benchmark
第三个是本站曾经多次提及的 GRC's DNS Benchmark 。这款软件可以全面测试 DNS 服务器的解析速度,安全程度,专业程度较高,并不建议初级用户使用。
NameBench
最后一个是 NameBench 。这款软件是比较纯粹的一款 DNS 服务器测速软件,DNS 服务器手动填写,但是软件可以根据自动侦测出来的用户区域来添加区域内最佳 DNS 服务器。内置 Alexa Top2000 为待测试网站地址,生成的报表非常详细,包括速度和劫持情况。测试完成后也会提醒用户哪几个 DNS 服务器最适合当前的测试机器。
你也可以去 dnsentropy 在线测试你当前使用的 DNS 服务器状态.