如何在 Linux(Bind9)中创建 SRV 记录?

如何在 Linux(Bind9)中创建 SRV 记录?

我能够成功实施DNS带有 A 记录。现在我想使用它来创建一个服务车辆记录。

请帮我写 SRV 记录。我希望“fs1”成为主服务器,当“fs1”没有响应时,SRV 将返回“fs2”

fs1 A 192.168.60.163 fs2 A 192.168.60.161

192.168.60.162我的 DNS 系统

截屏

答案1

根据名称“freeswitch”,我假设您要求为 SIP 创建 SRV 记录。这个问题的表述方式好像是要求任何SRV 记录;我将使用 SIP 作为示例。

SIP 使用 UDP,其在 DNS 中的对应服务名称是sip。因此,准确的记录名称应该是_sip._udp.example.com

另一部分是你的误解WHO选择要使用的特定记录。无法将其设置为“当 fs1 没有响应时,SRV 将返回 fs2”。DNS 服务器不执行任何健康检查,也不了解服务器状态;它只是用记录进行回答,因此它将始终返回与请求的名称相关的所有记录。

它是客户总是收到两个都records 根据记录数据实现回退逻辑。我们将设置优先事项记录中的字段,以便符合客户端将首先尝试 fs1,如果不行,则尝试 fs2。优先级的工作原理是数值越低,优先级越高。

长话短说,这些是记录:

_sip._udp.example.com. SRV 10 100 5060 fs1.example.com.
_sip._udp.example.com. SRV 20 100 5060 fs2.example.com.

注意您指定主机名在最后一个字段中。我们在端口 5060 上定义 SIP UDP 服务;如果您的服务器配置为使用其他端口,请在记录中更改它。

100 是重量字段。在这种情况下,它不执行任何操作,并且它的值并不重要,因为每个优先级只有一条记录;在更复杂的配置中,它允许按指定的权重比例分散负载。

最重要的是优先事项字段值。对于一个记录,该值为 10,对于另一个记录,该值为 20,因此应首先尝试值为 10 的服务器,如果它没有响应,则客户端应尝试另一个服务器。但是,请记住没有回应可能是由瞬时网络问题引起的;服务器根本不知道每个客户端感知到的状态。因此,不要假设任何特定的客户端行为,并以 fs2 完全能够处理客户端的方式设置服务器,即使 fs1 似乎完全正常运行。这里的逻辑很简单:它已发布,因此它是可用的。

相关内容