DNSCrypt是一個確??蛻襞cDNS服務器之間傳輸安全的工具,基于DNSCurve修改而來。
由于Domain Name System(DNS)設計上的缺陷,用戶在瀏覽器里輸入很多海外網址以后,如果遭遇MITM或者DNS污染,瀏覽器就可能接收到錯誤的IP,而存在安全問題。為了解決這樣的問題,IETF在十幾年前便開始制定DNS的安全擴展(DNSSEC)。利用公開密鑰加密技術,通過對DNS數據進行數字簽名,DNSSEC能夠驗證DNS數據來源和驗證在傳輸過程中DNS是否被篡改。
但是DNSSEC不保證DNS數據的機密性,DNS數據本身并沒有被加密,加之DNS的階層式模式,這便為一些機構提供監視,控制網絡的手段。典型的例子就是不能訪問一些海外的網站。DNSSEC也不提供免于DOS(Deny of Service)攻擊的辦法,由于數字簽名和簽名驗證需要額外的數據運算,DNSSEC反而更容易受到DOS攻擊。DNSCurve相對于DNSSEC的好處是,DNSCurve使用了更有效率的橢圓曲線加密算法而可以負擔的起每條查詢都單獨加密,從而更加安全。
DNSCrypt協議是非常類似DNSCurve的,作為一個DNS代理運行,側重于客戶端和第一級DNS服務器之間的通信安全,能夠緩存DNS解析。DNSCrypt的上游DNS服務器是著名的OpenDNS服務,簡單而言DNSCrypt就是加密了本機到OpenDNS服務器之間的DNS查詢通信過程(使用橢圓曲線加密算法),所以可以不受GreatFireWall的DNS污染干擾。
首先下載對應平臺的dnscrypt client然后運行,接著修改本地或者router的dns server為127.0.0.1. 然后你的所有dns請求都會加密進行從而繞過GreatFireWall的dns污染順利解析到正確IP,以下是Win7系統設置的圖示:(DNSCrypt可以在Windows/Linux/BSD/OSX/iOS系統上運行)

更多詳情:https://github.com/opendns/dnscrypt-proxy/
下載地址:https://github.com/opendns/dnscrypt-proxy/downloads
使用后即可直接訪問一些遭到DNS污染的網站,如果網站還支持https也可以訪問其https網址,比如一些Google服務。