1.防污染DNS原理
2.dnscryptåopendnsè½ä¸èµ·ç¨å
防污染DNS原理
DNS基础
理解DNS基础,码下首先需要明白基本指令的码下使用。例如,码下使用dig工具查询dl.google.com的码下解析结果,指令为dig dl.google.com @... +trace。码下早柚源码模板
ChinaDNS原理
ChinaDNS的码下令牌改密源码运作原理是基于两条核心规则,即丢弃国内DNS服务器返回的码下国外IP解析结果,以防止DNS污染,码下同时减少解析时间,码下增强CDN的码下亲和性。深入探究其工作原理,码下可参考ChinaDNS原理与源码分析。码下
PDNSD原理
PDNSD通过向其他DNS服务器以TCP或UDP的码下remove函数是源码形式发送请求,查询域名对应的码下IP,并进行缓存,码下以实现加速目的。其源码位于github.com/SAPikachu/pd...
DNS2SOCKS原理
DNS2SOCKS通过socks5协议,树莓派手机源码从指定DNS服务器获取最新的DNS解析记录,从而构建一个无污染的纯净DNS服务器。详细信息请访问Browse Files at SourceForge.net。
SMARTDNS原理
SMARTDNS作为本地DNS服务器,printf里打印源码接受客户端的DNS查询请求,从多个上游DNS服务器获取结果,返回访问速度最快的解析结果,提高网络访问速度。同时支持指定特定域名IP地址,实现广告过滤。与dnsmasq的all-servers不同,SMARTDNS选择最快解析结果返回。源码位于pymumu/smartdns。
dnscryptåopendnsè½ä¸èµ·ç¨å
DNSCryptåé®ä¸çæ¶åï¼å®æ¹å ¬å¸å®åªæ¯ä¸æ¬¾Macæè½ç¨çå·¥å ·ï¼ä½æ ¹æ®æè¿ä¸ç¯ç±OpenDNSåçæç« è¡¨æï¼è½ç¶è¿æ²¡æç¨æ·çé¢ï¼ä½å ¶å®å½MacçDNSCryptæ¨åºçæ¶åæºç å·²ç»æ¾å°äºGithubä¸äºï¼ Linuxçç¨æ·ä¹å¯ä»¥å®è£ 以å使ç¨å¦ï¼ï¼LCTTè¯æ³¨ï¼ç®åå·²ç»æDNSCrypt WinClientãDNSCrypt Windows Service ManagerãDNSCrypt OSXClient å DNSCrypt Tools for Linux ç第ä¸æ¹å¾å½¢çé¢å®¢æ·ç«¯åºç°ãï¼
为ç¥é©¬è¦ä½¿ç¨ DNSCrypt?
DNSCryptå¯ä»¥å å¯æ¨çµèä¸OpenDNSæå¡å¨çææéä¿¡ï¼å å¯å¯ä»¥é²æ¢ä¸é´äººæ»å»ï¼ä¿¡æ¯çª¥è§ï¼DNSå«æãæ´è½é²æ¢ç½ç»ä¾åºå对æäºç½ç«çå°éã
è¿æ¯ä¸çä¸ç¬¬ä¸æ¬¾å å¯DNSéä¿¡çå·¥å ·ï¼è½ç¶TORå¯ä»¥å å¯DNSç请æ±ï¼ä½æ¯ç«å®ä»¬åªæ¯å¨åºå£èç¹å å¯èå·²ã
è¿æ¬¾å·¥å ·å¹¶ä¸éè¦å¯¹ååæå ¶å·¥ä½æ¹å¼åä»»ä½çæ¹åï¼å®åªæ¯æä¾äºä¸ªè¯¥å·¥å ·çç¨æ·ä¸æºæ¿éçDNSæå¡å¨ä¹é´çå å¯æ¹å¼èå·²ã
æ¨å¯ä»¥å¨GitHubçOpenSND DNSCrypt页é¢é 读æ´å¤çç¸å ³ä¿¡æ¯ã
å¦ä½å¨Linux使ç¨DNSCrypt
é¦å ä¸è½½å®è£ DNSCrypt (LCTTè¯æ³¨ï¼å®è£ è¿ç¨ä¸è¯¦è¿°ï¼è¯·åç §å®ç½æè¿°)ï¼ ç¶åå¨Terminaléè¾å ¥è¿ä¸ªå½ä»¤:
sudo /usr/sbin/dnscrypt-proxy --daemonize
ç¶åææ¨çDNSæå¡å¨è°æ".0.0.1" - å¨GNOMEçé¢ä¸çè¯ï¼åªè¦å°Network Connectionsï¼ç½ç»è¿æ¥ï¼é项ç¶åéæ©"Edit"并å¨"DNS servers"è¾å ¥".0.0.1"就好äºãå¦ææ¨ç¨çæ¯DHCPçè¯ï¼è¯·éæ©Automatic (DHCP) addresses only"ï¼ è¿æ ·çè¯æè½è¾å ¥DNSæå¡å¨ãç¶ååªè¦éè¿ç½ç»ä¾¿å¯ã
æ¨å¯ä»¥è®¿é®è¿æ¡é¾æ¥æ¥æµè¯æ¨è¿æ¥å°äºOpenDNSäºæ²¡ã
å¦ææ¨æ³è®¾ç½®å¼æºå¯å¨DNSCryptï¼å¯ä»¥èªå»ºä¸ä¸ªinitçèæ¬ï¼å¦ææ¨ç¨çæ¯Ubuntuï¼å¯ä»¥åèä¸é¢çã
Arch Linuxçç¨æ·å¯ä»¥éè¿AURæ¥å®è£ DNSCrypt-proxy ï¼å å«rc.dèæ¬ï¼
Ubuntuä¸çDNSCrypt
å¦ææ¨æ³å¨Ubuntu设置å¼æºå¯å¨ï¼æ¨å¯ä»¥ä½¿ç¨è¿ä¸ªUpstartèæ¬ã
æ³¨ï¼ å¨Ubuntu .çå¨.0.0.1æ个æ¬å°çDNS cache æå¡å¨ï¼dnsmasqï¼å¨è·ï¼æ以已ç»ææ¹èæ¬æ¹æ让DNSCrypt使ç¨.0.0.2äºï¼ æ以æç §ä¸é¢çæç¨ï¼åºè¯¥æ.0.0.1æ¢æ.0.0.2äºã
è¦å®è£ æ¤èæ¬è¯·ä½¿ç¨ä»¥ä¸çæ令ï¼è¦é¦å 解åä¸ä¸æ¥çå缩æ件ï¼ï¼
sudo cp dnscrypt.conf /etc/init/
sudo ln -s /lib/init/upstart-job /etc/init.d/dnscrypt
ç¶åç¨è¿ä¸ªæ令æ¥å¯å¨:
sudo start dnscrypt
ç°å¨DNSCryptå°±åºè¯¥æ¯å¼æºèªå¯äºï¼å¦ææ¨æ³åæ¢çè¯ï¼å¯ä»¥ä½¿ç¨ï¼
sudo stop dnscrypt