![子域名的 SRV 记录:我是否还需要同一子域名的 CNAME 或 A 记录?](https://linux22.com/image/750368/%E5%AD%90%E5%9F%9F%E5%90%8D%E7%9A%84%20SRV%20%E8%AE%B0%E5%BD%95%EF%BC%9A%E6%88%91%E6%98%AF%E5%90%A6%E8%BF%98%E9%9C%80%E8%A6%81%E5%90%8C%E4%B8%80%E5%AD%90%E5%9F%9F%E5%90%8D%E7%9A%84%20CNAME%20%E6%88%96%20A%20%E8%AE%B0%E5%BD%95%EF%BC%9F.png)
我在端口 xxxxx 上运行一项服务。我想通过子域 (myspecialservice.mydomain.com) 访问该服务。我知道我需要创建一个 SRV 记录,其形式为 _Service._Proto.myspecialservice TTL Class SRV Priority Weight xxxxx Target。
我的问题是,我是否还需要为该子域添加 CNAME 或 A/AAAA 记录?或者 SRV 记录就足够了?
需要明确的是,我的问题与目标地址无关。
答案1
是的,您仍然需要 A 或 CBAME(或别名伪记录)。
典型的 IP 堆栈不会从 SRV 记录解析 IP 地址(就像在为邮件指定 SMTP 服务器时,尽管存在 MX 记录,但仍然需要 ab A 或 CNAME)
答案2
不清楚你指的是哪个子域名,所以让我们举一个例子,两个服务器提供了一个神秘的服务在 TCP 端口 12765 上使用相同的优先事项但重量有点不同。
_service._tcp.special.example.com. IN SRV 0 5 12765 provider1.example.com.
_service._tcp.special.example.com. IN SRV 0 7 12765 provider2.example.com.
这里:
你不需要
A
记录:_service._tcp.special.example.com.
_tcp.special.example.com.
special.example.com.
你需要
A
记录:provider1.example.com.
provider2.example.com.
(CNAME
为简单起见,请避免使用记录,除非您对 DNS 的工作原理有深入的了解。)