簡介
本文檔介紹思科為CES託管客戶推薦的SPF記錄如何工作。
需求
- 基本瞭解DNS的工作方式。
SPF宏的重要性
Cisco推薦的記錄使用RFC7208第7部分中定義的SPF宏。在這種情況下,宏用於減少允許CES裝置透過SPF驗證所需的DNS查詢量。這非常重要,因為SPF根據RFC7208 4.6.4節將每個SPF驗證的DNS查詢數量限制為10。如果需要超過10個DNS查詢,則SPF驗證結果將為永久錯誤。這可能不是問題,但如果調配了更多託管ESA,將需要更多DNS查詢。
您可以將每個託管ESA的IP地址增加到SPF記錄。這不需要在SPF驗證期間執行任何額外的DNS查詢。但是,此操作的缺點是,每當調配任何新的ESA或現有ESA的IP地址發生更改時,您都必須更改SPF記錄。增加記錄後,Cisco建議的SPF記錄不需要您進行任何管理。
SPF記錄說明
以下是SPF記錄的示例:
$ dig acme.com txt +short
"v=spf1 exists:%{i}.spf.acme.iphmx.com ~all"
附註: 此SPF記錄的「acme」部分被視為分配名稱。您的CES託管集群具有唯一的分配名稱,如果您將此SPF記錄增加到DNS,則應該使用它來代替「acme」。
在此SPF記錄中,使用宏「%{i}」。此宏用作變數,在SPF驗證進行時由連線主機的IP地址替換。例如,如果192.168.0.1是傳送主機,則主機名「%{i}.spf.acme.iphmx.com」將擴展為「192.168.0.1.spf.acme.iphmx.com」。
「exists」機制在RFC7208 Section-5.7中定義,如果主機名「%{i}.spf.acme.iphmx.com」在DNS中具有A記錄,此機制將匹配。例如,假設192.168.0.1再次成為傳送主機。主機名「%{i}.spf.acme.iphmx.com」將擴展為「192.168.0.1.spf.acme.iphmx.com」,並且驗證主機將執行以下DNS查詢:
$ dig 192.168.0.1.spf.acme.iphmx.com a +short
127.0.0.2
注意:域iphmx.com由思科管理。因此,只有思科可以增加/刪除/修改該域的DNS記錄,就像上述記錄一樣。這意味著您無需在新的ESA調配到CES集群時增加這些記錄。思科有責任確保這些記錄得到增加並正確無誤。
因為返回了IP地址127.0.0.2,所以存在機制將匹配,並且SPF驗證結果將通過。
假設傳送主機是10.0.0.1。主機名「%{i}.spf.acme.iphmx.com」將擴展為「10.0.0.1.spf.acme.iphmx.com」,並且驗證主機將執行以下DNS查詢:
$ dig 10.0.0.1.spf.acme.iphmx.com a +short
$
因為沒有返回任何結果,所以存在機制不匹配,並且SPF驗證結果為softfail。
其他資訊
SPF技術可能很複雜,具體取決於要授權多少台主機為域轉發郵件。如果CES託管裝置是唯一被授權為域中轉郵件的主機,則以上記錄對您非常有用。否則,您必須修改我們提供的SPF記錄,以便它授權您需要它的所有主機。
如果您有現有的SPF記錄,則「exists:%{i}.spf.acme.iphmx.com」可以增加到該SPF記錄。