手动架设DNS缓存服务-Acrylic DNS Proxy
//火狐教程:侧边栏视图、缩略图视图,ReadMe,Firefox 入门教程,Firefox 帮助,本文更新地址;
ADPM的菜单:
ADP-Monitor日志:
DNS数据库刷新时间:
国内关于ADP这个工具的使用方法恐怕第一个就是我了,在我还没开始研究Firefox的时候就已经将该扩展的配置方法翻译过来了
● 安装一个dns缓存服务软件:ADP;更新日志;任务栏托盘监控器ADP Monitor;
● 在开始菜单中找到该程序,打开配置文件,修改配置文件,以;开始的行都是注释,可以删除,只留下关键设置处:
[Globa...
//火狐教程:侧边栏视图、缩略图视图,ReadMe,Firefox 入门教程,Firefox 帮助,本文更新地址;
ADPM的菜单:
ADP-Monitor日志:
DNS数据库刷新时间:
国内关于ADP这个工具的使用方法恐怕第一个就是我了,在我还没开始研究Firefox的时候就已经将该扩展的配置方法翻译过来了
● 安装一个dns缓存服务软件:ADP;更新日志;任务栏托盘监控器ADP Monitor;
● 在开始菜单中找到该程序,打开配置文件,修改配置文件,以;开始的行都是注释,可以删除,只留下关键设置处:
[GlobalSection]
; Affinity Mask参数表示DNS服务器关联域名类,比如PrimaryServerAffinityMask=*.com;*.org表示使用Google的DNS服务器8.8.8.8来专门解析顶级域名为com和org的请求;
; 注意,各个参数值用分号;隔开;如果要表示出了com和org之外的所有DNS请求,用^*.com;^*.org;*来表示,最后的*号不能忘记
; 这个新增的参数比较人性化,可以将不同的域名与DNS服务器关联,从而既能用国外的流行的DNS服务器解析到比较罕见的域名,又可用国内DNS服务器解析到国内的域名*.cn;
;
PrimaryServerAffinityMask=*.aero;*.arpa;*.asia;*.biz;*.cat;*.coop;*.edu;*.gov;*.int;*.info;*.jobs;*.mil;*.mobi;*.museum;*.name;*.org;*.pro;*.tel;*.travel;*.xxx
PrimaryServerAddress=8.8.8.8
PrimaryServerPort=53
IgnoreNegativeResponsesFromPrimaryServer=Yes
;
SecondaryServerAffinityMask=^*.aero;^*.arpa;^*.asia;^*.biz;^*.cat;^*.coop;^*.edu;^*.gov;^*.int;^*.info;^*.jobs;^*.mil;^*.mobi;^*.museum;^*.name;^*.org;^*.pro;^*.tel;^*.travel;^*.xxx;*
SecondaryServerAddress=202.99.160.68
SecondaryServerPort=53
IgnoreNegativeResponsesFromSecondaryServer=Yes
;
TertiaryServerAffinityMask=^*.aero;^*.arpa;^*.asia;^*.biz;^*.cat;^*.coop;^*.edu;^*.gov;^*.int;^*.info;^*.jobs;^*.mil;^*.mobi;^*.museum;^*.name;^*.org;^*.pro;^*.tel;^*.travel;^*.xxx;*
TertiaryServerAddress=202.99.160.4
TertiaryServerPort=53
IgnoreNegativeResponsesFromTertiaryServer=Yes
;
; ADP的更新日志显示,从2013.08.25日,ADP服务支持10个预设的DNS服务器;下面是第4~10个DNS服务器设置参数;
; 如果这10个参数均置空,表示使用ADP缓存的静态DNS表,不会进行任何联网DNS解析请求;
QuaternaryServerAffinityMask=
QuaternaryServerAddress=
QuaternaryServerPort=53
; IgnoreNegativeResponsesFromQuaternaryServer=Yes
;
QuinaryServerAffinityMask=
QuinaryServerAddress=
QuinaryServerPort=53
; IgnoreNegativeResponsesFromQuinaryServer=Yes
SenaryServerAffinityMask=
SenaryServerAddress=
SenaryServerPort=53
; IgnoreNegativeResponsesFromSenaryServer=Yes
;
SeptenaryServerAffinityMask=
SeptenaryServerAddress=
SeptenaryServerPort=53
; IgnoreNegativeResponsesFromSeptenaryServer=Yes
;
OctonaryServerAffinityMask=
OctonaryServerAddress=
OctonaryServerPort=53
; IgnoreNegativeResponsesFromOctonaryServer=Yes
;
NonaryServerAffinityMask=
NonaryServerAddress=
NonaryServerPort=53
; IgnoreNegativeResponsesFromNonaryServer=Yes
;
DenaryServerAffinityMask=
DenaryServerAddress=
DenaryServerPort=53
; IgnoreNegativeResponsesFromDenaryServer=Yes
;
; 以上为3个最快的DNS服务器,自己用彗星DNS测一下,找ping值最低;
; 但是你也可以使用自定义的dns服务器,如openDNS或者googleDNS;缺省为OpenDNS;
;
;-----------------------------------------------------------------------------------------
; ADP缓存匹配方法:
; 当Acrylic收到DNS请求时,首先查找AcrylicHosts.txt文件中的静态缓存表,若没找到则继续查找AcrylicCache.dat中的动态缓存表,此时又3种情况:
; Case 1:ADP收到其他客户端(浏览器等)的DNS请求的相应结果的不在缓存池中,或者在缓存中,但该答复结果比AddressCacheScavengingTime规定的的有效结果的生命期老,
; 此时ADP便将DNS请求发送到所有的预设的DNS服务器,之后等待...,直到收到一个最早答复的结果为止(其他后续的答复都不管了)
; Case 2:ADP收到的DNS请求的结果在其本地缓存池中,但是该结果比AddressCacheSilentUpdateTime规定的时间老,但小于AddressCacheScavengingTime的值,
; 即该请求存在一个有效的结果,且结果的缓存期/生命期还未结束,但需要自动更新一下了,这时ADP一方面将缓存的结果送回客户端,另一方面重复Case的操作,后台更新该结果
; Case 3:ADP收到客户端的DNS请求的有效结果在其缓存池中,其比自动更新的期限年轻,则直接返回该结果给客户端,无须对预设的DNS服务器进行任何网络请求;
; 使用ADP默认参数设置理论上已经可以很大程度上boost你的DNS请求性能和效率,但如果你想得到最佳效率,你可能需要自定义如下参数:
; AddressCacheNegativeTime:失效的答复结果的缓存时间?分钟
; AddressCacheScavengingTime:有效的答复结果的缓存时间?分钟
; AddressCacheSilentUpdateTime:缓存过期时间?分钟,即当收到的DNS请求已经缓存在数据库中,但过期了,此时便重新发起DNS请求,并刷新本地的DNS相应条目
; 注意,失效的DNS答复结果一般的缓存的生命期远小于有效的答复结果
AddressCacheNegativeTime=57600
AddressCacheScavengingTime=57600
AddressCacheSilentUpdateTime=2147483647
;-----------------------------------------------------------------------------------------
AddressCacheDisableCompression=No
; 不压缩数据库?数据库压缩使用LZO,速度很快,建议不要关闭压缩
LocalBindingAddress=0.0.0.0
LocalBindingPort=53
HitLogFileName=R:\HitLog.txt
HitLogFileWhat=BHCFRU
StatsLogFileName=R:\Acrylic_perf.txt
; 自定义日志路径,如果确顶已经生效了,可以不使用日志,减少CPU占用
; B -> Explicitly blocked,拦截的
; H -> Resolved from the HOSTS cache,从host中解析的
; C -> Resolved from the Acrylic cache,从Acrylic缓存中解析的
; F -> Forwarded to the configured DNS servers,发送到配置的DNS服务器的
; R -> Received from one of the configured DNS servers,从配置的DNS服务器收到的
; U -> Silent update from one of the configured DNS servers,从配置的DNS服务器之一自动静默更新的
;-----------------------------------------------------------------------------------------
[AllowedAddressesSection]
; 支持NDS解析的的IP网段?
; 出于安全考虑,ADP默认只接受来自本机的IP的DNS解析请求,拒绝来自非本机的IP地址的DNS解析请求;
; 但如果有需要,ADP可以被设置允许处理某些特定IP/IP网段的DNS解析请求;
; 每个IP地址/IP网段前要有一个关键字,比如IP1=;
; 出于性能考虑,可以用子网段格式表示时,尽量不要用一堆的IP地址表示;
; 如非必要,尽量不要使用IP1=*这种方式,等价于使本机完全成为一台DNS服务器;
; 其实,这个功能可以被广泛用来进行DNS类型的攻击,比如DNS劫持啊,或者更高级的钓鱼啊
; IP1=192.168.45.254 -- 单一的IP地址
; IP2=192.168.44.100 -- 另一个IP地址
; IP3=192.168.100.* -- 所有192.168.100的IP网段
; IP4=172.16.* -- 所有以172.16开始的网段
;-----------------------------------------------------------------------------------------
[CacheExceptionsSection]
[WhiteExceptionsSection]
● 把本地连接和无线连接的dns服务器改为手动,第一地址改为127.0.0.1以回环到本机的域名解析服务ADP Service, 同时禁用DNS Client Service(该服务与Acrylic DNS Proxy Service
服务功能类似,但不及后者强大);有时候Acrylic DNS Proxy Service服务无法启动(这是因为使用了慢速刷新策略的原因,所以推荐用中速刷新或者快速刷新策略)
● 修改Acrylic的host配置文件还可以添加正则表达式,过滤广告网站;
下面是我在宿舍上了一天网的Statistic数据日志:
StartTime : 2012-04-20 08:18:25
CurrentTime : 2012-04-20 22:16:31
TotalPacketsDiscarded : 0
TotalRequestsReceived : 13683 总计请求解析次数 = 提交dns服务器次数 + 缓存池解析次数
TotalRequestsForwarded : 2033 总共提交dns服务器解析次数(总共发送了2000次左右的DNS解析,其余均无需再次发送DNS解析了)
TotalRequestsResolvedThroughCache : 11650 通过缓存池解析的DNS解析次数(这个数值越高,表示命中次数越高)
TotalRequestsResolvedThroughHostsFile : 0
TotalRequestsResolvedThroughOtherWays : 0
TotalResponsesReceivedFromDns1 : 1995 第一dns服务器解析次数
MeanResponseTimeOfDns1mSeconds : 282.2 第一dns服务器平均解析时间
TotalResponsesReceivedFromDns2 : 2005 第二dns服务器解析次数
MeanResponseTimeOfDns2mSeconds : 61.8 第二dns服务器平均解析时间
TotalResponsesReceivedFromDns3 : 0
MeanResponseTimeOfDns3mSeconds : ?
通过ADPM检测器可以更加方便的查看解析数据,还能方便的修改ADP设置与服务:
ADPM的菜单:
● File->Start Automatically 自动开机启动检测器
● File->Start Minimized 启动后自动最小化
● File->Load at Start 启动ADPM后自动加载Hit Log
● File->Save Hit Log 将当前的命中率日志保存到文件中
● File->Flush Hit Log 将命中率日志清零
●
● Edit->Configuration 设置ADP配置文件
● Edit->Host File 设置ADP的host文件
● Edit->Restart App 重启ADPM检测器
●
● View->Oberve Service 监视ADP后台服务
● View->Observe Hit Log 监测命中率日志文件
● View->Observe Statistics 检测ADP数据统计文件
●
● Tool->Stop Service 停止ADP服务
● Tool->Restart Service 重启ADP服务
● Tool->Purge Cache 重置AcrylicCache.dat数据库
ADP-Monitor日志:
DNS数据库刷新时间:
; 快速刷新NDS策略:如果你比较在乎缓存的结果是否够新,比如你在LAN中使用DHCP分配的临时地址,可以将无效结果的缓存时间和自动更新时间缩小
; AddressCacheNegativeTime=60
; AddressCacheScavengingTime=600
; AddressCacheSilentUpdateTime=60
;
; 中速刷新策略:如果你的DNS服务器很不稳定,比如国外的一些被GFW污染的DNS服务器,而你又不想被中断网络操作,将有效/无效结果缓存时间设置较大些
AddressCacheNegativeTime=57600
AddressCacheScavengingTime=57600
AddressCacheSilentUpdateTime=30
;
; 缓慢刷新策略:如果你比较在乎带宽消耗,同时又不太在意DNS结果是否够新,将所有3个参数值设的较大,例如:
; AddressCacheNegativeTime=57600
; AddressCacheScavengingTime=57600
; AddressCacheSilentUpdateTime=2147483647
本文档为【手动架设DNS缓存服务-Acrylic DNS Proxy】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。