NAPTR-запись
Оригинальное название: NAPTR record
Коротко
Запись DNS с правилами переписывания имён: по регулярному выражению превращает один идентификатор, например телефонный номер, в адрес сервиса. Используется в IP-телефонии.
Что такое «NAPTR-запись»
NAPTR (Naming Authority Pointer) появилась для задач, где идентификатор нужно преобразовать в другой по заданным правилам: телефонный номер — в адрес SIP-телефонии, имя домена — в список поддерживаемых транспортов. Механизм описан в серии RFC о системе DDDS (Dynamic Delegation Discovery System), формат записи — в RFC 3403. Самое известное применение — ENUM: сопоставление номеров формата E.164 с интернет-сервисами через зону e164.arpa.
Запись редко работает одна. Типичная цепочка в IP-телефонии: NAPTR сообщает, какие транспорты поддерживает домен (UDP, TCP, TLS) и в каком порядке их пробовать, затем SRV-запись выдаёт имя сервера и порт, а A или AAAA — его адрес.
Из чего состоит запись
- order — порядок обработки, сначала берутся записи с меньшим числом;
- preference — предпочтение среди записей с одинаковым order;
- flags — что делать дальше: «S» — искать SRV, «A» — адрес, «U» — результат уже является URI;
- service — обозначение сервиса, например SIP+D2U (SIP по UDP) или E2U+sip;
- regexp — регулярное выражение для переписывания исходной строки;
- replacement — имя для следующего запроса, если регулярное выражение не используется.
Пример: SIP и ENUM
; какие транспорты SIP поддерживает домен
example.ru. IN NAPTR 10 50 "s" "SIP+D2T" "" _sip._tcp.example.ru.
example.ru. IN NAPTR 20 50 "s" "SIP+D2U" "" _sip._udp.example.ru.
; ENUM: номер +7 495 123-45-67 ведёт на SIP-адрес
7.6.5.4.3.2.1.5.9.4.7.e164.arpa. IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:office@example.ru!" .
В ENUM цифры номера пишутся в обратном порядке через точки — так же, как октеты адреса в обратной зоне.
Нужна ли она сайту
Сайту, интернет-магазину или корпоративной почте NAPTR не требуется: браузеры и почтовые серверы её не запрашивают. С ней сталкиваются при настройке IP-АТС, SIP-транков операторов и в мобильных сетях. Если панель DNS-хостинга не поддерживает этот тип, для веб-проекта это не проблема. Ошибки в регулярном выражении трудно отлаживать, поэтому значения обычно берут из документации оператора связи или АТС.

