Linux-nbts

The way to learn Linux

smartdns 相关简介

https://github.com/pymumu/smartdns(smartdns的git托管地址)

本来SMARTDNS在OPENWRT和翻墙的领域已经掀起了一股热潮,本来没打算弄,不过想想这个BLOG也没啥好写,就介绍一下吧,SMARTDNS。

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

相信看到这里一些朋友已经云里雾里了,到底啥意思,简单来的说,我们平时访问一个网站,比如www.baidu.com它返回的是一组IP地址,然后电脑访问这个IP地址,进行网页浏览,而随着互联网技术的发展,目前的大型网站为了高可用性,都预备几组IP以及服务器,而浏览器会随机选择一个IP进行访问,当然这个选择的过程是随机的,但是通过smartdns就可以把这个随机变为最优的IP,同时提高访问速度,由于国内的网站大多数采用了CDN所以效果不明显,但是对移动网络的用户来说,还是有一定效果的。

普通DNS会返回2个地址甚至更多

采用了smartdns以后只会返回一个地址,而且是最优地址

二、由于smartdns需要一个载体来进行安装,目前支持以下平台:

支持树莓派,openwrt,华硕路由器,windows等设备。我这里采用openwrt为距离,适合OPENWRT的用户。一些刷机、更换固件等操作,由于设备和版本实在太多,无法写清楚,所以大家自行百度,下面说以下安装以后的的设置情况。

相关设置图

下面说以下基本情况:

如果你刷了带smartdns插件以后一般在服务菜单里会有smartdns选项,基本如上图所示。

  1. 启动的√打上
  2. 本地端口:这个是smartdns的运行端口,注意不要和现在在路由器上的程序冲突,否则会出现无法启动的情况
  3. TCP服务器√打上
  4. IPV6服务器√不要
  5. 双协IP优选,由于smartdns默认是可以对V6和V4的网站进行优选的,由于v6目前的普及原因,所以部分v6的网站还没有V4快,如果你的网络组合里有V6的使用情况,可以考虑打√,否则还是不要打√。
  6. 过期缓存服务打√
  7. 重定向到作为dnsmasq的上游服务器。
  8. 上游服务器的选择:如果你没有翻墙的需求,只要建立一组国内的服务器就可以了,我这里主要用的就是114.114.114.114,cnc 202.102.224.68,阿里的223.5.5.5.就可以了,然后选择UDP的53端口。当然你可以增加其他的dns服务器。最好不要超过10个。
  9. 设置完成后,然后保存应用,如果出现smartdns运行中的标志就可以了。

最后验证的话就像上图一样,在windows系统开始–运行-cmd,然后键入nslookup,然后输入www.baidu.com 如果只传回一个IP说明设置成功。

点赞