54.198.71.184

Что такое PTR (Reverse DNS) записи и зачем они нужны?

Что такое PTR (Reverse DNS) записи и зачем они нужны?

PTR записи или англ. Pointer – указатель, служат как обратное отображения IP-адресов в именах хостов.

Пример: PTR запись (или Reverse DNS) переводит доменное имя ns.cloudhost.lv в IP- адрес 91.220.43.5. И она же разрешает адресу 91.220.43.5 вернуться к ns.cloudhost.lv. Некоторые хостеры указывают PTR записи и для своих страничек к примеру:

$ nslookup 91.220.43.6
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
6.43.220.91.in-addr.arpa	name = web.cloudhosting.lv.
$ nslookup 91.220.43.6 ns.cloudhost.lv
Server:		ns.cloudhost.lv
Address:	91.220.43.5#53

6.43.220.91.in-addr.arpa	name = web.cloudhosting.lv.

В основном эти записи используется в качестве спам-фильтров. Спамеры часто подделывают доменные имена для отправки электронной почты, что в целом не будет иметь правильной PTR записи, созданной из DNS. Наличие обратного Reverse DNS – одно из основных требований многих спам-фильтров. Его отсутствие может привести к блокировке писем. Также при веб-анализе и анализе интернет-трафика используется обратный поиск Reverse DNS, чтобы узнать, какие провайдеры у ваших посетителей.

Для PTR записей нет конкретных технических требований. Тем не менее, с увеличением объёма нежелательных электронных писем (спама) они стали необходимы для некоторых схем безопасности.

Имеенно поэтому большенство провайдеров для PTR записей применяют следующее правила:

  • Для каждого IP-адреса существует одна PTR запись.
  • Для серверa с несколькими IP-адресами будут прописаны несколько PTR записей, по одной на каждый IP-адрес.
  • Для любого почтового сервера должна быть установлена MX-запись и A-запись – это правило является одним из самых важных.
  • Для каждой PTR записи должна быть А-запись, а вот но наоборот не обязательно.

Другими словами, надо уметь принимать IP-адрес, смотреть его PTR-запись, находить А-запись для этого хоста и возвращать IP-адрес.

$ host -a cloudhosting.lv
Trying cloudhosting.lv
;; flags: qr rd ra; QUERY: 1, ANSWER: 6, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;cloudhosting.lv.		IN	ANY

;; ANSWER SECTION:
cloudhosting.lv.	14397	IN	A	91.220.43.6
cloudhosting.lv.	21597	IN	NS	ns2.cloudhost.lv.
cloudhosting.lv.	21597	IN	NS	ns.cloudhost.lv.
cloudhosting.lv.	14397	IN	MX	5 mailhost.energy.lv.
cloudhosting.lv.	14397	IN	TXT	v=spf1 a mx ip4:91.220.43.4 ?all

Received 221 bytes from 8.8.8.8#53 in 18 ms
$ nslookup -type=soa cloudhosting.lv
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
cloudhosting.lv
	origin = ns.cloudhost.lv
	mail addr = dns.energy.lv.lv
	serial = 2013090901
	refresh = 86400
	retry = 7200
	expire = 604800
	minimum = 86400
$ nslookup -type=any cloudhosting.lv
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
cloudhosting.lv
	origin = ns.cloudhost.lv
	mail addr = dns.energy.lv.lv
	serial = 2013090901
	refresh = 86400
	retry = 7200
	expire = 604800
	minimum = 86400
Name:	cloudhosting.lv
Address: 91.220.43.6
cloudhosting.lv	nameserver = ns2.cloudhost.lv.
cloudhosting.lv	nameserver = ns.cloudhost.lv.
cloudhosting.lv	mail exchanger = 5 mailhost.energy.lv.
cloudhosting.lv	text = v=spf1 a mx ip4:91.220.43.4 ?all