感謝為您回答此問題。在了解DNS服務(wù)器之前,讓我們先談?wù)勈裁碊NS?DNS就是域名系統(tǒng),屬于互聯(lián)網(wǎng)基礎(chǔ)服務(wù),其實(shí),DNS就是一分布式內(nèi)存數(shù)據(jù)庫,實(shí)現(xiàn)域名到IP地址的映射,完成用戶日常的域名解析服務(wù)。
DNS服務(wù)器有很多種,目前開源的有BIND,PowerDNS,Knot DNS和Knot Resolver,Unbound等等。還有微軟的Azure DNS,但其不開源,可提供免費(fèi)試用。不管采用什么DNS服務(wù)器,遞歸解析目前是由ICANN提供的13組根服務(wù)器完成的。
1. BIND,歷史悠久,起源于1980年的加州大學(xué)伯克利分校,后來由ISC(Internet System Consortium)維護(hù),BIND一直以來都是DNS的工業(yè)標(biāo)準(zhǔn),是目前世界上使用最為廣泛的DNS服務(wù)器了。BIND即可以做權(quán)威服務(wù)器又可以做遞歸服務(wù)器。目前,已集成到Linux操作系統(tǒng)中。
BIND有如下功能:
1)DNSSEC(DNS安全擴(kuò)展)驗(yàn)證,保證DNS數(shù)據(jù)可信。
2)RPZ(Response Policy Zone):定制響應(yīng)zone的策略,提升安全性。
3)rate-limit:限流,減少DDOS攻擊中放大攻擊的可能性
4)DLZ(Dynamically-Loadable Zones):支持從外部數(shù)據(jù)庫獲取Zone數(shù)據(jù),如MySQL和PostgreSQL
5)Dyndb,提供了操作接口,支持在內(nèi)存中動態(tài)加載外部數(shù)據(jù)庫,性能要優(yōu)于DLZ
6)rndc命令支持,不重啟DNS服務(wù)器,動態(tài)加載配置文件、對緩存操作等內(nèi)容
7)主從服務(wù)器間區(qū)域傳輸。
BIND架構(gòu)圖如下所示:
BIND可應(yīng)用在個人,企業(yè),大學(xué)及政府機(jī)關(guān),部署DNS服務(wù)器,現(xiàn)在大部分采用BGP Anycast,通過路由算法,實(shí)現(xiàn)最近的機(jī)器響應(yīng)DNS解析,減少延遲。
2. PowerDNS
PowerDNS是以C++開發(fā)的,支持區(qū)域數(shù)據(jù)文件和關(guān)系數(shù)據(jù)庫后端作為DNS緩存的數(shù)據(jù)中心。即可以做遞歸服務(wù)器,又可以做權(quán)威服務(wù)器。支持DNSSEC及多線程運(yùn)行等特性。其中,dnsdist是一個高性能的負(fù)載均衡器 ,通過lua語法配置,可以動態(tài)更新配置文件。
3. Knot DNS
KNOT DNS是一款權(quán)威DNS服務(wù)器,由CZ.NIC開發(fā),采用RCU(Read Copy Update)鎖和基數(shù)樹(Radix Tree)來實(shí)現(xiàn)多線程技術(shù),充分發(fā)揮其DNS服務(wù)器性能。
4. Knot Resolver
同屬于Knot生態(tài)家庭的Knot Resolver是一款輕量級的高性能緩存DNS服務(wù)器,采用C語言和LuaJIT實(shí)現(xiàn),提供了Lua接口來操作內(nèi)部DNS協(xié)議,包括對緩存的操作。命令行工具kresd簡化了knot resolver的操作。
5. Azure DNS
微軟的Azure DNS也是優(yōu)秀的DNS服務(wù)器,同樣,采用Anycast部署,可實(shí)現(xiàn)域名資源記錄秒級更新,通過部署DNS防火墻可緩解釣魚和數(shù)據(jù)泄露及部分DDOS攻擊,進(jìn)而實(shí)現(xiàn)DNS服務(wù)器安全。
6. Unbound
Unbound是一款緩存DNS服務(wù)器,由Nlnetlabs開發(fā),為了保護(hù)隱私,支持通過DNS-over-TLS( DOT)來加密,此外,為了防止DNS劫持,還支持DNSSEC驗(yàn)證。Unbound獲得了BSD許可,可以運(yùn)行在Windows和常見發(fā)行版Linux系統(tǒng)中,支持異步DNS查詢,最新版本為1.9.4。
當(dāng)然,如果對DNS不是很熟悉,可以參考下我的文章,“初識互聯(lián)網(wǎng)基礎(chǔ)服務(wù):域名系統(tǒng)”,鏈接:https://www.toutiao.com/i6749787295169118727/, 歡迎批評指正。此外,關(guān)于互聯(lián)網(wǎng)技術(shù)交流,可在下方評論區(qū)留言,我們共同探討。