Що таке запис SRV?
Запис SRV (Service) оголошує ім’я хоста й порт для конкретного сервісу — як-от SIP, XMPP, LDAP чи Microsoft autodiscover — разом із пріоритетом і вагою для балансування навантаження. На відміну від запису A, він каже клієнтам не лише, де живе сервіс, а й на якому порту, тож застосунки можуть знаходити сервіси без жорстко прописаної конфігурації. Запитуйте їх у формі _service._proto.domain.
Як працює формат запису SRV
Запис SRV іменується за характерним шаблоном: _service._proto.domain, наприклад _sip._tcp.example.com. Підкреслення запобігають зіткненню зі звичайними іменами хостів. Дані запису містять чотири значення: priority, weight, port і target. Priority працює як MX — менші числа пробуються першими. Weight розподіляє навантаження між цілями з однаковим пріоритетом, де вищі ваги отримують пропорційно більше трафіку. Port — це TCP- чи UDP-порт, який слухає сервіс, а target — ім’я хоста, що його надає, яке має мати власний запис A чи AAAA.
Як читати результати запиту SRV
IPeek повертає priority, weight, port і цільовий хост кожного запису SRV для запитаного імені сервісу. Читайте priority першим: клієнти використовують цілі з найнижчим пріоритетом перед переходом до вищих. Серед однакових пріоритетів weight вирішує частку трафіку, яку отримує кожна ціль. Підтвердьте, що порт відповідає очікуваному сервісу — 5060 для SIP, 389 для LDAP, 443 для багатьох налаштувань autodiscover. Перевірте, що кожна ціль резолвиться в чинний хост. Порожній результат означає, що сервіс не оголошено під цим іменем на домені.
Коли вам потрібні записи SRV
Записи SRV важливі щоразу, коли клієнти мають автоматично виявляти сервіс, а не покладатися на фіксовані налаштування. Microsoft Teams, Skype for Business і SIP-провайдери використовують їх, щоб знаходити сервери голосу й присутності. XMPP-чат, запити до каталогів LDAP, сервери Minecraft і Kerberos усі залежать від виявлення через SRV. Велика перевага — гнучкість: перенесіть сервіс на новий хост чи порт або розподіліть його між кількома серверами, і клієнти йдуть за записами SRV без переналаштування. Якщо сервіс вимагає конкретного імені _service._proto, опублікуйте відповідний запис SRV, інакше клієнти його не знайдуть.