SRV-запись определяет, какой хост и порт использовать для конкретного сервиса в домене. Она позволяет клиентам автоматически находить нужные службы.
Формат (zone-файл):
_service._proto.name. TTL IN SRV priority weight port target.
Пример:
_sip._tcp.example.com. 3600 IN SRV 10 60 5060 sip1.example.com.
_sip._tcp.example.com. 3600 IN SRV 20 20 5060 sip2.example.com.
Как работает:
- Клиент делает DNS-запрос SRV-записи для сервиса.
- В ответ получает список хостов и портов.
priorityуказывает порядок выбора (меньше = выше приоритет).weightраспределяет нагрузку между серверами с одинаковым приоритетом.portзадаёт порт, куда подключаться.target— имя сервера (резолвится через A/AAAA).
Сценарии использования:
- SIP (VoIP), XMPP (Jabber), LDAP, Minecraft и др.
- В Active Directory — для поиска контроллеров домена.
Ограничения и особенности:
- Нельзя использовать CNAME в
target. - Поддержка зависит от клиента/протокола.
- Уровень приоритета и веса должны быть согласованы — иначе поведение клиентов может быть непредсказуемым.
Диагностика:
dig SRV _sip._tcp.example.comnslookup -q=SRV _ldap._tcp.dc._msdcs.example.com.