使用Dnsmasq加速苹果App Store、iCloud、iTunes、Mac更新等访问速度
2019獨角獸企業重金招聘Python工程師標準>>>
原理
蘋果絕大多數服務都使用了CDN,用戶發起DNS查詢請求時,DNS服務器會根據上游DNS(即你請求的這個DNS)的地址返回一個距離用戶最近的數據中心IP,而造成國內訪問速度慢的原因是國內發起查詢時,所返回的CDN節點IP大多位于美國。我們要做的就是找到速度最快的IP,然后通過配置Dnsmasq,讓查詢DNS的時候,Dnsmasq直接返回這個IP。
已有簡單解決方法的優缺點
基于此原理,現在網絡上最常見最簡單的解決蘋果服務下載速度方式有兩種,一種是在設備上更改DNS到v2ex dns或者FasterApple或 者114.114.114.114等提供App Store加速的DNS,一種是撥VPN來加速。改DNS這種方式的優點是簡單,只要會進設置界面就可以,缺點也是顯而易見的:首先是這些DNS的訪問速 度可能慢,影響其他網站解析速度,另外下載完軟件還要改回來,否則訪問國內的網站有可能享受不到CDN帶來的加速效果,很麻煩。還有一點是這些DNS返回 的節點,在你的網絡下不一定快。那么我們如果本地架設一個DNS,只負責蘋果相關域名的解析且返回的是自己訪問最快的IP,其他解析還交給本地ISP,這 些問題就解決了。況且如果買的可刷DD-WRT的路由足夠好,還可以無縫cross GFW(這個以后再詳說)。
本地架設DNS
本地架設DNS有很多方法,最簡單的就是在淘寶花一二百塊錢買一個可以刷DD-WRT的路由器用自帶的Dnsmasq,或者有Windows做家庭 服務器,在其上面裝Dnsmasq來實現本地DNS,直接返回蘋果服務速度最快的IP。這個方案的優點是,訪問國內和其他網站的時候,可以查詢本地ISP 的DNS來享受解析速度和國內CDN服務帶來的效果,并且本地DNS緩存也能加快所有域名的解析速度。還可以把Google的服務指向國內數據中心來無縫 上Google(斯巴達時Google的國內數據中心也被封掉了)。
用Dnsmasq的原因是,它的配置最簡單。
實現
給無線路由刷DD-WRT和在Windows或者Linux裝Dnsmasq請自行Google搜索,假設你已經有Dnsmasq在運行并且知道如何配置了。
蘋果的CDN目前看到的最常用的是兩家,Akamai和ChinaCache。Akamai是國際上很有名的CDN提供商,包括微軟在內很多大企業都用其提供的CDN服務,缺點是在國內幾乎沒有節點。ChinaCache是國內做的很大的一家CDN服務商,優勢是國內節點很多。蘋果最近幾個月開始一些國內服務通過ChinaCache提供。
要拿到訪問最快的IP,我們可以手工去查DNS然后挨個去試驗。
第一步是拿到蘋果絕大多數服務用到的域名。方式是本地假設一個代理服務器,然后把Mac或者iPhone/iPad的代理指向自己的代理服務器,然后啟動App Store和Game Center以及系統更新等需要網絡交互的應用,使用各種功能,記錄下所有請求的域名。
第二步是整理域名,有很多域名是帶有規律性的,比如App Store下載的就是“a數字.phobos.apple.com”,圖片是“a數字.mzstatic.com”,這種域名我們不用把幾千個都查詢一遍,查詢一個,其他的就都是同一個IP。
第三步便是查詢和測試IP。基于前人的經驗,我們知道蘋果位于臺灣的節點大多訪問比較快,于是我們選定4個DNS服務器來查詢IP,第一個是本地 ISP的,第二個是fasterapple的,第三個是v2ex dns的,第四個是臺灣的168.95.1.1。選擇這四個服務器的原因是,如果蘋果該服務有本地CDN,用當地ISP的DNS能拿到最快的節點IP,第 二和第三個是可以直接使用其他人的勞動成果,可能會搜到更快的,使用第四個DNS是能拿到臺灣節點。針對每個域名,我們都用nslookup去查詢這四個 服務器,然后挨個ping拿到的ip,之后把最快的指定到配置文件里。要注意的是,蘋果的CDN每個節點可能提供多種服務的加速,也有可能只提供一種加 速,所以不要拿到一個IP就配置到所有域名里,還是要每個都試驗一下。還要注意的是,nslookup時可能會拿到多個IP,這種情況一定要每個IP都測 試,因為返回的幾個節點IP速度可能相差很多,甚至ChinaCache返回的IP速度都有很大差別。
整理之后,我們就會獲得一份最快的列表,配置到Dnsmasq里即可。把家里設備的DNS改為你裝Dnsmasq的那臺設備的IP后,享受加速的快感吧!
配置文件
這個配置文件是北京聯通用戶適用,最后更新于2012年11月27日。
# —– apple —–address=/swscan.apple.com/17.164.1.22
address=/swdist.apple.com/123.125.162.28
address=/store.apple.com/123.103.32.171
address=/discussions.apple.com/173.223.33.54
address=/init.gc.apple.com/203.69.113.166
address=/metrics.apple.com/23.14.146.217
address=/itunes.apple.com/118.214.226.217
address=/contentdelivery.itunes.apple.com/17.152.19.127
address=/su.itunes.apple.com/96.16.226.217
address=/userpub.itunes.apple.com/17.154.66.35
address=/buy.itunes.apple.com/17.154.66.16
address=/se.itunes.apple.com/118.214.226.217
address=/gc.itunes.apple.com/203.69.113.127
address=/init.itunes.apple.com/203.69.113.127
address=/phobos.apple.com/203.69.113.42
address=/appldnld.apple.com/106.3.78.74
address=/adcdownload.apple.com/1.255.2.24
address=/mzstatic.com/203.69.113.240
address=/s.mzstatic.com/118.215.179.205
address=/itc.mzstatic.com/118.215.179.205
address=/metrics.mzstatic.com/118.215.179.205
address=/itunesconnect.apple.com/118.214.234.64
address=/ssl.apple.com/118.214.237.88
address=/www.icloud.com/173.223.34.46
server=/apple.com.edgekey.net/168.95.1.1
address=/p1-buy.itunes.apple.com/17.173.66.49
address=/p2-buy.itunes.apple.com/17.173.66.49
address=/p3-buy.itunes.apple.com/17.173.66.49
address=/p4-buy.itunes.apple.com/17.173.66.49
address=/p5-buy.itunes.apple.com/17.173.66.49
address=/p6-buy.itunes.apple.com/17.173.66.49
address=/p7-buy.itunes.apple.com/17.173.66.49
address=/p8-buy.itunes.apple.com/17.173.66.49
address=/p9-buy.itunes.apple.com/17.173.66.49
address=/p10-buy.itunes.apple.com/17.173.66.49
address=/p11-buy.itunes.apple.com/17.173.66.49
address=/p12-buy.itunes.apple.com/17.173.66.49
address=/p13-buy.itunes.apple.com/17.173.66.49
address=/p14-buy.itunes.apple.com/17.173.66.49
address=/p15-buy.itunes.apple.com/17.173.66.49
address=/p16-buy.itunes.apple.com/17.173.66.49
address=/p17-buy.itunes.apple.com/17.173.66.49
address=/p18-buy.itunes.apple.com/17.173.66.49
address=/p19-buy.itunes.apple.com/17.173.66.49
address=/p20-buy.itunes.apple.com/17.173.66.49
address=/p21-buy.itunes.apple.com/17.173.66.49
address=/p22-buy.itunes.apple.com/17.173.66.49
address=/p23-buy.itunes.apple.com/17.173.66.49
address=/p24-buy.itunes.apple.com/17.173.66.49
address=/p25-buy.itunes.apple.com/17.173.66.49
address=/p26-buy.itunes.apple.com/17.173.66.49
address=/p27-buy.itunes.apple.com/17.173.66.49
address=/p28-buy.itunes.apple.com/17.173.66.49
address=/p29-buy.itunes.apple.com/17.173.66.49
address=/p30-buy.itunes.apple.com/17.173.66.49
address=/p31-buy.itunes.apple.com/17.173.66.49
address=/p32-buy.itunes.apple.com/17.173.66.49
address=/p33-buy.itunes.apple.com/17.173.66.49
address=/p34-buy.itunes.apple.com/17.173.66.49
address=/p35-buy.itunes.apple.com/17.173.66.49
address=/p36-buy.itunes.apple.com/17.173.66.49
address=/p37-buy.itunes.apple.com/17.173.66.49
address=/p38-buy.itunes.apple.com/17.173.66.49
address=/p39-buy.itunes.apple.com/17.173.66.49
address=/p40-buy.itunes.apple.com/17.173.66.49
address=/p41-buy.itunes.apple.com/17.173.66.49
address=/p42-buy.itunes.apple.com/17.173.66.49
address=/p43-buy.itunes.apple.com/17.173.66.49
address=/p44-buy.itunes.apple.com/17.173.66.49
address=/p45-buy.itunes.apple.com/17.173.66.49
address=/p46-buy.itunes.apple.com/17.173.66.49
address=/p47-buy.itunes.apple.com/17.173.66.49
address=/p48-buy.itunes.apple.com/17.173.66.49
address=/p49-buy.itunes.apple.com/17.173.66.49
address=/p50-buy.itunes.apple.com/17.173.66.49
address=/p51-buy.itunes.apple.com/17.173.66.49
address=/p52-buy.itunes.apple.com/17.173.66.49
address=/p53-buy.itunes.apple.com/17.173.66.49
address=/p54-buy.itunes.apple.com/17.173.66.49
address=/p55-buy.itunes.apple.com/17.173.66.49
address=/p56-buy.itunes.apple.com/17.173.66.49
address=/p57-buy.itunes.apple.com/17.173.66.49
address=/p58-buy.itunes.apple.com/17.173.66.49
address=/p59-buy.itunes.apple.com/17.173.66.49
address=/p60-buy.itunes.apple.com/17.173.66.49
address=/p61-buy.itunes.apple.com/17.173.66.49
address=/p62-buy.itunes.apple.com/17.173.66.49
address=/p63-buy.itunes.apple.com/17.173.66.49
address=/p64-buy.itunes.apple.com/17.173.66.49
address=/p65-buy.itunes.apple.com/17.173.66.49
address=/p66-buy.itunes.apple.com/17.173.66.49
address=/p67-buy.itunes.apple.com/17.173.66.49
address=/p68-buy.itunes.apple.com/17.173.66.49
address=/p69-buy.itunes.apple.com/17.173.66.49
address=/p70-buy.itunes.apple.com/17.173.66.49
轉載于:https://my.oschina.net/dgwutao/blog/97561
總結
以上是生活随笔為你收集整理的使用Dnsmasq加速苹果App Store、iCloud、iTunes、Mac更新等访问速度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Win32SDK中(串行)通信资源概要(
- 下一篇: 使用header发送状态代码