Thursday, March 14, 2019

domain name system - Why is RFC 7505 (Null MX) necessary?



IETF RFC 7505 describes MX records for a domain/host that explicitly should not receive email. This is accomplished by pointing the MX at the Domain Name System root. For example,



nomail.example.com. 86400 IN MX 0 "."


Why is this needed? In my understanding, explicit refutation is available by using domains under the TLD invalid. For example,



nomail.example.com. 86400 IN MX 0 "spam.invalid."

nomail.example.com. 86400 IN MX 10 "null.invalid."


I see that RFC 2782, DNS SRV, likewise specifies that "A Target of '.' means that the service is decidedly not available at this domain." So I suppose my question is:



Why should we use the DNS root to mean "not available" when invalid already serves this function?


Answer



Because that is not what you are supposed to be using .invalid for. Like .example it is meant for local testing and documentation.



Additionally, using .invalid still causes additional things to happen - additional DNS look ups and queuing on the mail server for retries for one off the top of my head.




Using the "." format is supposed to cause an immediate hard fail. Causing the MTA to immediately stop attempting delivery. At least that's the way the intro to the RFC reads.


No comments:

Post a Comment

linux - How to SSH to ec2 instance in VPC private subnet via NAT server

I have created a VPC in aws with a public subnet and a private subnet. The private subnet does not have direct access to external network. S...