TeamSpeak 通过 CName 重定向 &| SRV记录?

Mar*_*lin 4 domain-name-system cname-record

我有一个 TeamSpeak 服务器托管在域 ts4.gameservers.com 下的GameServers帐户上,端口号为 9102。我设置了一个 CName,将 ts.valhallashalls.com 重定向到 ts4.gameservers.com,但要连接我仍然必须使用服务器内的端口号。

由于游戏服务器主机使用 TeamSpeak 的非标准端口号,是否可以使用来自 ts.valhallashalls.com 的 SRV 记录重定向而无需端口号以连接到端口号为 9102 的 TeamSpeak 服务器?

默认情况下,TS3 服务器在端口 9987 (UDP) 上创建虚拟语音服务器。ServerQuery 正在侦听端口 10011 (TCP),文件传输将使用端口 30033 (TCP)。

所以我想要做的是在没有端口号的情况下重定向 ts.valhallashalls.com,因此当尝试连接团队发言客户端时,它会自动尝试连接到端口 9987,并透明地将其重定向到正确的端口号。

我可以用 SRV 记录做到这一点吗?


更新

在 Mac、Linux 和 Windows 上的 TeamSpeak Client 3.0.8 及更高版本中,您现在可以使用 SRV 记录连接到您的服务器。格式如下。目前,TeamSpeak 的 iOS 和 Android 版本不支持 SRV 记录。

TS3 服务器的 SRV 记录格式为:

_ts3._udp.name TTL IN SRV priority weight port target

也可以为域的 TSDNS 服务器添加 SRV 记录,格式为:

_tsdns._tcp.name TTL IN SRV priority weight port target

解决时的优先级是:

  1. _ts3 SRV 记录
  2. _tsdns SRV 记录
  3. 域名系统
  4. 域名系统

例子

使用我的服务器详细信息作为上面的示例,我可以执行以下操作在我的 valhallashalls.com 域上设置 SRV 记录,使用 ts 作为它的子域来连接到由 GameServers 托管的 TeamSpeak 服务器。

_ts3._udp.ts 3600 IN SRV 0 100 9102 ts4.gameservers.com


用例

我们不再使用 GameServers 作为我们的主要帐户,因为我们有一个由 MediaTemple 托管的 VPS。为此,我设置了一系列服务器,一个在 VPS 上,我保留了 Game Servers 帐户作为备份,最后一个在我的家庭连接上。它们在我的域中分别由 ts1、ts2 和 ts3 的 CNAME 命名。这允许冗余设置。

  1. ts1.valhallashalls.com. CNAME @.
  2. ts2.valhallashalls.com. CNAME ts4.gameservers.com.
  3. ts3.valhallashalls.com. CNAME <my ip address>.

SRV 记录看起来像这样

  1. ts3_.udp.ts 3600 IN SRV 0 100 9987 ts1.valhallashalls.com
  2. ts3_.udp.ts 3600 IN SRV 1 100 9102 ts2.valhallashalls.com
  3. ts3_.udp.ts 3600 IN SRV 2 100 9987 ts3.valhallashalls.com

Der*_*rfK 5

SRV 记录不会自己“做”任何事情。必须开发客户端以使用这些 SRV 记录,以便弄清楚如何查找或连接到给定的服务。

谷歌搜索,似乎teamspeak决定组成他们自己的“TSDNS”协议,该协议似乎是一个特殊的服务器,您必须在特定端口上运行,以便TS可以询问它“真正”连接到哪个端口。从 5 月开始,似乎仍在计划让客户端通过 SRV 记录找到服务器。

  • OMFG - TSDNS 的东西_so_ 坏了。他们真的需要像真正的协议一样正确使用 SRV 记录。 (3认同)