Dns

奇怪的 MX 問題/子域問題

  • April 13, 2022

我對 dns 區域中的 MX 和萬用字元 A 條目有點困惑。

想像一個具有這些 dns 設置的區域 foobar.com(NS 設置在那裡,省略)

foobar.com IN A 1.2.3.4
*.foobar.com IN A 1.2.3.4

foobar.com IN MX 10 mail.otherhost.com

將郵件發送到 something@foobar.com 時,它會發送到 mail.otherhost.com。好的。

當發送郵件到 something@some-subdomain.foobar.com 時,這會轉到 1.2.3.4。

據我了解,https://www.ietf.org/rfc/rfc1912.txt那裡的“2.7 萬用字元記錄”和範例是正確的(反之亦然,但無論如何)。

我現在的問題是:在獲取(“解析”)MX 主機時,像 Postfix 這樣的 MTA 如何從主機部分“剝離”子域部分?

我的理解問題是:如果頂級域名是.com,這很簡單。主機是 .com 之前的部分。但是有許多頂級域具有子頂級域,例如.co.at(奧地利)。

有任何想法嗎?

在獲取(“解析”)MX 主機時,像 Postfix 這樣的 MTA 如何從主機部分“剝離”子域部分?

他們沒有。請求地址的 MX 記錄。如果不存在,則使用 A 記錄來確定目標 IP 地址。

在您的範例中something@some-subdomain.foobar.com,傳遞的子域在some-subdomain.foobar.com. 發送 MTA 請求此地址的 MX。在您的範例中,沒有一個,因此請求了 A 記錄。沒有,但萬用字元*.foobar.com匹配,它返回一個地址1.2.3.4。這是嘗試傳遞的地址。

CNAME 記錄使這有點複雜,但並不復雜:如果有 CNAME,那麼它會在其他任何事情之前被解析。(這就是為什麼同一域條目不能同時擁有 CNAME 和 MX。)

引用自:https://unix.stackexchange.com/questions/698991