DNS的A、CNAME、MX、NS、TXT、SPF记录
前言
最近工作過程中需要設定郵件服務器,其中涉及到dns服務器的設定。
整理并且記錄自己的理解。
種類
A、CNAME、MX、NS、TXT、SPF
下面挨個介紹一下。
A記錄/AAAA記錄
IPv4:
- 示例:ns1.exmaple.com. IN A 198.51.100.2
- 解釋:【domain】 IN A 【IP地址】
IPv6:
- 示例:ns1.exmaple.com. IN AAAA 8fe0::8f61:ac8:30cd:a16e
- 解釋:【domain】 IN AAAA 【IP地址】
※IN的意思是「Internet」,不是IN/OUT的「IN」。
干什么用呢?
我們在瀏覽器輸入域名后,需要向DNS服務器請求,找到這個域名對應的服務器IP。上面示例就是這么一條記錄。
雖然域名和IP都可以變更,但是相比來說域名變更更加簡單和隨意。所以當網站更換自己域名的時候,就需要修改這條記錄。
CNAME
- 示例:sub.example.com. IN CNAME hoge.example.com.
- 解釋:【別名】 IN CNAME 【原名】
干什么用呢?
給某一個domain起多個名字。
類似于,jd.com,jd360.com,jingdong.com雖然是不同名字的域名,但是可以指向同一個原名jd.com。可以讓企業的對外展示更加靈活。
舉例:
jd360.com IN CNAME jd.com
jingdong.com IN CNAME jd.com
jd.com IN A 123.123.123.123 (這條是A記錄例子)
MX記錄
- MX記錄(Mail Exchange):郵件路由記錄
在DNS上設定,用于將郵箱地址@符號后的域名指向郵件服務器。 - 示例:example.com. IN MX 10 mail.example.com.
- 解釋:【domain】 IN MX 【優先度】 【郵件服務器】
干什么用呢?
當發信側服務器給受信側發郵件時,首先會要求DNS服務器解析受信側郵箱地址中@后面部分的域名對應的MX記錄(DNS的寫法可以理解成example.com 的A記錄下面,有一行上面示例的MX記錄,當然郵箱服務器也有對應的A記錄)。
這樣,郵件就直接發到對應的MX記錄的A記錄里的IP了。
例子:給test@exmaple.com發郵件的話,
DNS會返回給發信側198.51.100.3這個IP
exmaple.com. IN A 198.51.100.2
example.com. IN MX 10 mail.example.com.
mail.example.com. IN A 198.51.100.3
※如果是普通用戶通過【exmaple.com】瀏覽主頁,那么DNS繼續返回 198.51.100.2 。這個其實也需要DNS判斷請求服務器是郵件服務器還是普通的訪問。
NS記錄
- 指定域名解析服務器。
- 示例:example.com. IN NS ns1.example.com.
- 解釋:【domain】 IN NS 【DNS服務器】
干什么用呢?
指定該域名由哪個DNS服務器來進行解析。
TXT記錄
- 示例:ns1.exmaple.com. IN TXT "聯系電話:XXXX"
- 解釋:【domain】 IN TXT 【任意字符串】
干什么用呢?
一般指某個主機名或域名的說明,或者聯系方式,或者標注提醒等等。
SPF記錄
SPF記錄是TXT記錄的一個運用。后面的備注需要按照指定的格式才能有效。
- 示例:exmaple.com. IN TXT "v=spf1 ip4:198.51.100.1 ~all"
- 解釋:【domain】 IN TXT 【送信側郵件服務器確認規則】
干什么用呢?
從發信側服務器設定到DNS上的這條記錄中,讀取信息,判斷發信側是否合法。
如果不符合規則,那么按照約定的規則處理掉。
跟MX記錄正好相反。
MX:我是收件服務器,你找我時,請參考我設定到DNS服務器上的MX記錄。
SPF:我是發信服務器,你接受郵件時,請參考我設定到DNS服務器上SPF規則。如果不是我發的信,你可以刪掉或者接收。
SPF記錄規則
格式:
版本 空格 定義 空格 定義 (空格 定義的循環)
跟著例子看的話,比較好理解。
example.com. IN SPF "v=spf1 ip4:192.0.2.1 -all"
- v=spf1 是版本。只出現一次。
- ip4:192.0.2.1 第一個定義
- -all 第二個定義
定義的格式。
- 種類
| all | ip4 | ip6 | a | mx | ptr | exists | include| - 前綴
"+" Pass(通過)
"-" Fail(拒絕)
"~" Soft Fail(軟拒絕)
"?" Neutral(中立)
定義測試
測試時,將從前往后依次測試每個定義。
如果一個定義命中了要查詢的 IP 地址,則由相應定義的前綴決定怎么處理。默認的前綴為+。
如果測試完所有的 定義也沒有命中,則結果為 Neutral。
結果及處理方法一覽
| Pass | 發件IP是合法的 | 接受來信 |
| Fail | 發件 IP 是非法的 | 退信 |
| Soft Fail | 發件 IP 非法,但是不采取強硬措施 | 接受來信,但是做標記 |
| Neutral | SPF 記錄中沒有關于發件 IP 是否合法的信息 | 接受來信 |
| None | 服務器沒有設定 SPF 記錄 | 接受來信 |
| PermError | 發生了嚴重錯誤(例如 SPF 記錄語法錯誤) | 沒有規定 |
| TempError | 發生了臨時錯誤(例如 DNS 查詢失敗) | 接受或拒絕 |
后記
有一個問題,調查后更新。
設定好SPF的記錄之后怎么快速測試呢?
總不能每次都等DNS更新完再測試吧?
作者:今後次
鏈接:https://www.jianshu.com/p/b483300378af
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
總結
以上是生活随笔為你收集整理的DNS的A、CNAME、MX、NS、TXT、SPF记录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《饥饿游戏》前传成情侣档:“白雪公主”和
- 下一篇: 小米2023年小屏旗舰曝光:第二代骁龙8