DNS SRV 介绍
DNS SRV 是 DNS 记录中一种,用来查询指定服务的地址。与常见的A记录、CNAME 不同的是,SRV中除了记录服务器的地址,还记录了服务的端口,并且可以设置每个服务地址的优先级和权重,通过其DNS可以定位服务器端口。
RFC2782 为DNS SRV的定义标准
SRV的记录格式为:
_Service._Proto.Name TTL Class SRV Priority Weight Port Target
Service: 服务名称,前缀“_”是为防止与DNS Label(普通域名)冲突。
Proto: 服务使用的通信协议,_TCP、_UDP、其它标准协议或者自定义的协议。
Name: 提供服务的域名。
TTL: 缓存有效时间。
CLASS: 类别 # SRV 的 DNS 类型代码为 33。
Priority: 该记录的优先级,数值越小表示优先级越高,范围0-65535。
Weight: 该记录的权重,数值越高权重越高,范围0-65535。
Port: 服务端口号,0-65535。
Target: host 地址。
但是在域名配置DNS SRV之后并不能确定是否正确,这里用nslookup命令查询。
使用nslookup命令检查配置
# 假设检查域名_xmpp-client._tcp.xxx.com配置的SRV。
gaojie@gaojie-H81U:~$ nslookup -querytype=srv _xmpp-client._tcp.xxx.com
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
_xmpp-client._tcp.xxx.com service = 3 0 5222 xxx.com.
# 3:优先级
# 0:权重
# 5222:端口
# xxx.com:域名
Authoritative answers can be found from: