架構師必須搞懂DNS,一篇文章就夠了。
概念
DNS,全稱Domain Name System,即域名系統,搞清楚,它不是DNF地下城與勇士。
DNS是怎麼來的,我們知道要訪問一個伺服器的資源可以通過IP的形式訪問,但IP地址比較難記,也不方便讀,所以有了DNS的存在,DNS通過解析域名並與實際的遠端伺服器主機建立連線。
即我們訪問www.baidu.com的時候,通過DNS伺服器解析出實際的IP地址去連線並返回給客戶端。
解析過程
windows和linux可以通過命令nslookup查詢域名解析結果,如下圖所示。
linux中還可以通過dig命令檢視更詳細的解析過程,如圖所示。
本地對映
我們可以在作業系統中修改host自定義配置域名與IP的關係,即我們可以讓任何一個域名訪問任何一個IP地址。
windows: c:windowsSystem32driversetchosts
linux: /etc/hosts
比如我們經常把localhost對映到127.0.0.1,可以把baidu.com對映到xx.xx.xx.xx。如果我們本地的對映關係被不得而知的修改了會導致嚴重的安全問題,如果把taobao.com對映到黑客或者攻擊者的IP,那我們的資訊及財產安全就得不到保障。早期的windows中的hosts檔案可以隨意修改,win7之後這個檔案設定為只讀的,避免惡意修改。當然我們電腦裝有防毒防護類軟體的話,也可以防範這個檔案被惡意修改。
域名解析方式
最後講下幾種域名的解析方式,一般不是域名管理者不會用到。
A記錄
IP地址解析,就是域名與IP地址繫結,一個域名只能繫結一個IP地址,但一個IP地址可以被多個域名繫結。
AAAA記錄
即IPV6地址解析。
CNAME記錄
別名解析,比如我們可以將wx.qq.com解析到www.weixin.com,weixin.qq.com也可以解析到www.weixin.com,www.weixin.com就是A記錄繫結的實際的IP地址。一般大型網站都使用這種解析方式,這樣做的好處就是不管www.weixin.com的ip地址怎麼更換解析,都不會影響wx.qq.com和weixin.qq.com的解析。
MX記錄
Mail Exchange解析,郵件伺服器地址,即xx@baidu.com的路由會發到MX記錄的繫結記錄伺服器。
NS記錄
指定解析DNS伺服器地址,即這個域名由哪個IP地址的DNS伺服器解析。
TXT記錄
為域名設定說明,用命令解析的時候就能看到這個域名的說明。
在設定域名解析的時候還有一個TTL值,即DNS伺服器快取域名解析結果的時間,超過這個時間才會重新解析,否則返回已經解析的快取的解析結果,這個一般設定為1小時,即3600秒。
我們來看看阿里雲域名新增解析的截圖
相關文章
- Spark架構與原理這一篇就夠了Spark架構
- git基本操作,一篇文章就夠了!Git
- 搞懂Python正規表示式,這一篇就夠了Python
- Activity、View、Window的理解一篇文章就夠了View
- 學習AIDL,這一篇文章就夠了AI
- MySQL,你只需看這一篇文章就夠了!MySql
- 徹底理解Netty,這一篇文章就夠了Netty
- 理解python函式,這一篇文章就夠了Python函式
- RxJava2 只看這一篇文章就夠了RxJava
- 做EEG頻譜分析,看這一篇文章就夠了!
- Dubbo 一篇文章就夠了:從入門到實戰
- 學習HTML5 Canvas這一篇文章就夠了HTMLCanvas
- Ajax原理一篇就夠了
- java工程師linux命令,這篇文章就夠了Java工程師Linux
- 【SpringBoot】SpringBoot 配置這一篇文章就夠了Spring Boot
- 前端乾貨系列—-入門webpack這一篇文章就夠了前端Web
- 想了解資料庫安全?看這一篇文章就夠了!資料庫
- 掌握 CORS 跨域請求,讀這一篇文章就夠了CORS跨域
- 上手 Vue 新的狀態管理 Pinia,一篇文章就夠了Vue
- 前端乾貨系列----入門webpack這一篇文章就夠了前端Web
- Zookeeper入門一篇就夠了
- APP瘦身這一篇就夠了APP
- 深入Babel,這一篇就夠了Babel
- 學Nginx,這一篇就夠了Nginx
- Git 看這一篇就夠了Git
- 面試題-關於Java執行緒池一篇文章就夠了面試題Java執行緒
- 想學會SOLID原則,看這一篇文章就夠了!Solid
- Ubuntu搭建Pytorch,就這一篇就夠了UbuntuPyTorch
- MySQL事務,這篇文章就夠了MySql
- HttpServletRequest,看這篇文章就夠了HTTPServlet
- 微服務架構元件分析,看這篇就夠了微服務架構元件
- Flutter DataTable 看這一篇就夠了Flutter
- Git【入門】這一篇就夠了Git
- 學習JDBC這一篇就夠了JDBC
- 代理模式看這一篇就夠了模式
- MySQL查詢這一篇就夠了MySql
- 學習MySQL這一篇就夠了MySql
- Java 集合看這一篇就夠了Java