首页/网络/网络排障速查/SRV 记录查询:服务定位(LDAP/SIP/AD 场景)
DNS 与解析排查46 条

SRV 记录查询:服务定位(LDAP/SIP/AD 场景)

SRV 把『服务在哪台主机、哪个端口』写进 DNS(_service._proto.name 格式):AD、LDAP、SIP、Minecraft 等大量服务依赖它。

网络排障速查网络更新于 2026-10-13

SRV 记录查询是什么

SRV 记录把『某个服务在哪台主机、哪个端口』写进 DNS,格式固定为 _service._proto.name,例如 _ldap._tcp.example.com。一条 SRV 记录包含优先级、权重、端口与目标主机四部分,客户端按优先级选目标、按权重做负载分摊。AD 域控登录、LDAP、SIP、Minecraft 等大量服务依赖它,服务『找不到』往往只是 SRV 查不到或目标名解析不了。

基本信息

适用平台通用 DNS;Windows 侧用 Resolve-DnsName 查询
记录格式_service._proto.name,如 _ldap._tcp.example.com
返回内容优先级 权重 端口 目标主机
常见归属AD 域(_ldap/_kerberos)、SIP(_sip._udp)、自定义服务

典型使用场景

  • 域内客户端登录慢或失败:确认域控的 SRV 记录是否完整可解析
  • SIP 或话机注册异常:核对 _sip._udp 与 _sip._tcp 记录指向
  • 自建服务发现:服务端注册了 SRV,客户端能查到但连不上,需检查目标与端口
  • 多实例负载:通过权重验证流量是否按预期分配

查询 SRV

查询 SRV
# 输出顺序为:优先级 权重 端口 目标
 dig +short _ldap._tcp.example.com SRV
# 其他常见服务
dig +short _sip._udp.example.com SRV
dig +short _minecraft._tcp.example.com SRV
# 确认目标主机名本身能否解析,这是最常见的第二层坑
dig +short $(dig +short _ldap._tcp.example.com SRV | awk '{print $4}') A

Windows 侧查询

Windows 侧查询
# 查询 SRV 记录
Resolve-DnsName -Name _ldap._tcp.example.com -Type SRV
# 只取关键字段,便于脚本处理
Resolve-DnsName -Name _ldap._tcp.example.com -Type SRV | Select-Object Name,NameTarget,Port,Priority,Weight

返回结果判读

返回情况含义处置建议
NOERROR 且带记录正常继续验证目标名与端口可达性
NOERROR 无记录(NODATA)域存在但没有该类型记录检查记录是否漏建或名字拼错
NXDOMAIN该域名不存在检查域名与视图配置
目标名解析失败SRV 有记录但无法落地补齐目标主机的 A/AAAA 记录
优先级与权重异常流量分配与预期不符核对规划值与客户端选择逻辑
SRV 排查两个高频遗漏:一是忘记下划线前缀(写成 ldap.tcp.example.com 永远查不到),二是只看 SRV 记录本身不验证目标主机名与端口是否可用。
把 NODATA 与 NXDOMAIN 判读混为一谈会直接影响责任判断:前者说明域存在、只是缺少该类型记录,后者说明整个域名不存在,两者的修复动作完全不同。

易错点

  • 忘记下划线前缀:记录的完整名字是 _service._proto.name,少一段就查不到
  • 只看 SRV 记录不验证目标主机名:目标名解析失败时服务同样不可用
  • 忽略端口维度:SRV 指定的端口未放行,现象与『服务没起』完全一样
  • 把 NODATA 与 NXDOMAIN 混为一谈:责任判断与修复方向都会跑偏
  • 在多视图环境只改了一侧:内外网客户端得到的 SRV 目标不同,问题只在一部分人身上出现

数据来源与参考

  • RFC 2782:DNS SRV 记录
  • Microsoft Learn:SRV 记录(AD 场景)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌