วิธีแก้ไขปัญหาของคุณ:
ในกรณีนี้ ฉันคิดว่าปัญหาไม่ได้อยู่ที่บันทึก PTR ของคุณ แต่เกิดจากวิธีการทำงานของระบบ Reverse Proxy ของ Cloudflare หากโดเมนของคุณใช้พรอกซีของ Cloudflare แสดงว่าโดเมนนั้นไม่ได้ชี้ไปที่เซิร์ฟเวอร์ของคุณอีกต่อไป
วิธีแก้คือ ปิดพร็อกซีของ Cloudflare สำหรับโดเมน/โดเมนย่อยที่เซิร์ฟเวอร์อีเมลตั้งอยู่
ตอบคำถามของคุณ:
การสืบค้น DNS และ rDNS เกิดขึ้นแยกกัน แต่การสืบค้น DNS เกิดขึ้นก่อนเพื่อกำหนดว่า IP ใดที่จะสืบค้นสำหรับ rDNS/PTR ในกรณีนี้ Cloudflare กำลังแทนที่ IP ของคุณในการตอบสนอง DNS ด้วยตัวของมันเอง ซึ่งเป็นสาเหตุของปัญหา
ตัวอย่างเช่น ถ้าคุณมี mydomain.example
และการตั้งค่า DNS ของ Cloudflare เป็นระเบียน A ที่ชี้ไปที่ 192.0.2.1
เมื่อเปิดใช้งานพร็อกซี โดเมนจะชี้ไปที่เซิร์ฟเวอร์ของ Cloudflare ซึ่งจะส่งต่อทราฟฟิกไปยังเซิร์ฟเวอร์ของคุณอย่างไรก็ตาม นี่หมายความว่าการค้นหา PTR จะไปค้นหาเซิร์ฟเวอร์ของ Cloudflare แทนที่จะเป็นของคุณ ซึ่งจะรายงานว่าไม่มีบันทึกอยู่:
⯠ขุด proxied.mydomain.example # เซิร์ฟเวอร์อีเมลระยะไกลสอบถามระเบียน A ของโดเมนพร็อกซี
;; ส่วนคำถาม:
;proxyed.mydomain.example. ใน
;; ส่วนคำตอบ:
proxied.mydomain.example. 300 ใน 104.21.30.252 # เซิร์ฟเวอร์ Cloudflare
proxied.mydomain.example. 300 ใน 172.67.174.61 # เซิร์ฟเวอร์ Cloudflare
⯠dig -x 104.21.30.252 # เซิร์ฟเวอร์อีเมลระยะไกลตรวจสอบ PTR/rDNS ของ IP ทั้งสอง (นี่มาจาก IP จริงของ Cloudflare)
;; ส่วนคำถาม:
;252.30.21.104.in-addr.arpa ใน PTR
;; ส่วนผู้มีอำนาจ:
21.104.in-addr.arpa. 3600 ใน SOA cruz.ns.cloudflare.com dns.cloudflare.com 2034580120 10,000 2400 604800 3600
# เซิร์ฟเวอร์ไม่ส่งคืนบันทึก PTR เนื่องจากเป็นเซิร์ฟเวอร์ของ Cloudflare ที่ถูกสอบถาม
หากคุณปิดใช้งานพร็อกซีของ Cloudflare สำหรับบันทึก DNS ของเซิร์ฟเวอร์อีเมล จะมีลักษณะดังนี้:
⯠dig unproxied.mydomain.example # เซิร์ฟเวอร์อีเมลระยะไกลสอบถามระเบียน A ของโดเมนที่ไม่ใช่พร็อกซี
;; ส่วนคำถาม:
;unproxied.mydomain.example ใน
;; ส่วนคำตอบ:
unproxied.mydomain.example. 300 IN เซิร์ฟเวอร์ DNS 192.0.2.1 # ส่งคืน IP ของเซิร์ฟเวอร์ของคุณ
⯠dig -x 192.0.2.1 # เซิร์ฟเวอร์เมลสอบถามเซิร์ฟเวอร์ของคุณสำหรับ PTR
;; ส่วนคำถาม:
;117.8.209.209.in-addr.arpa ใน PTR
;; ส่วนคำตอบ:
117.8.209.209.in-addr.arpa 86400 ใน PTR unproxied.mydomain.example
# PTR ส่งกลับค่าที่ถูกต้อง
(โปรดทราบว่าฉันได้ข้ามการค้นหา MX/SPF/DKIM/DMARC ในการตอบกลับนี้ เพราะเท่าที่ฉันทราบ Cloudflare จะไม่ยุ่งกับสิ่งเหล่านั้น เว้นแต่คุณจะชี้เรกคอร์ดของคุณไปยังเรกคอร์ด A/AAAA/CNAME พร็อกซี .)