Openwrt系列教程:使用SmartDNS加速DNS解析
Wong Shouhao

SmartDNS介绍

SmartDNS是一个运行在本地的DNS服务器,SmartDNS接受本地客户端的DNS查询请求,从多个上游DNS服务器获取DNS查询结果,并将访问速度最快的结果返回给客户端,提高网络访问速度。 同时支持指定特定域名IP地址,并高性匹配,达到过滤广告的效果。

详情可见SmartDNS官网

本文主要实现加速访问的效果,暂不考虑其他功能。

安装SmartDNS

SmartDNS安装主要参考上述官网,本文将以OpenWrt luci为例,安装步骤如下:

  1. 点击系统下的软件包选项
  2. 过滤器中输入smartdns,点击查找软件包
  3. 下载luci-app-smartdns,luci-i18n-smartdns-zh-cn,smartdns三项

SmartDNS install

大部分openwrt编译版本一般都含有此软件包

SmartDNS的基本配置

见下图:

Basic SmartDNS Setting

应注意以下选项:

  • 双栈IP优选,应注意您的设备是否完全支持IPv6,尤其是您所在的网络运营商是否支持

  • 重定向,应选择重定向53端口到SmartDNS,但如果您存在其他涉及DNS的软件,应自行选择

上游服务器配置

DNS服务器名称 DNS服务器地址
阿里 AliDNS 223.5.5.5
百度 BaiduDNS 180.76.76.76
114 DNS 114.114.114.114
腾讯DNS 119.29.29.29
山东联通 202.102.128.68
Google DNS 8.8.8.8
CloudFlare 1.1.1.1
Quad9 9.9.9.9

最终效果如下图:

SmartDNS DNS Server

特殊设置

由于SmartDNS具有一般的DNS能力,我们可以在域名地址中进行指定的域名解析IP。

1
address /home.lan/192.168.10.50

如上述设置的作用是,当访问http://home.lan时,将解析成192.168.10.50,即我个人的路由器地址。

客户端设置

在Windows 10中,通过以下步骤完成DNS设置:

  1. 点击Windows 设置下的网络和Internet选项

  2. 点击状态中的属性,如下图:

Windows DNS Setting

  1. 下滑到IP设置,点击编辑,如下图:

IP setting

  1. IP地址填入任一未被占用的IP地址,子网前缀填入32,网关填入192.168.10.50,DNS服务器填入192.168.10.50,点击保存

测试

测试方法1:

打开浏览器,输入http://home.lan,如果生效可以直接访问到软路由主页

测试方法2:

打开cmd,输入nslookup baidu.com,如果设置正确则结果如下图:

Test

配置正确返回的IP地址仅有一个,若返回多个则配置不正确