运行未注册的服务器
强烈建议您先通过在其中一个内置目录中注册您的服务器来对其进行测试。这将帮助您在尝试未注册模式之前解决一般问题。
在家用路由器后面设置服务器
如果您在家里设置服务器,您可能需要更改路由器/防火墙中的一些设置:
端口转发
通常,您家庭网络之外的人无法看到网络内部的情况。要让外部的 Jamulus 客户端连接到您的服务器,您需要在路由器的设置中设置端口转发。每种路由器的确切设置都不同。如需帮助,请参阅您的路由器文档或 portforward.com 。
注意: Jamulus 的默认端口是 UDP(不是 TCP)端口 22124。您通常会将端口 22124 从网络外部转发到运行服务器的计算机的端口 22124。
获取公网 IP
要允许其他人从互联网连接到您的服务器,请向他们提供您的公共 IP 地址。您可以使用 Google 了解您当前的公共 IP 地址。您应该使用运行服务器的计算机的本地网络地址连接自己。如果您在与服务器相同的计算机上运行客户端,则地址为“localhost”或“127.0.0.1”。
动态 DNS 以及您可能需要它的原因
除非您的互联网服务提供商为您提供固定的 IP 地址,否则您可能会发现您的地址会随时间而变化。您可能希望将您的 IP 地址与一个您可以与他人共享的域名相关联,该域名使用“动态 DNS”(DDNS)。“动态 DNS”提供商可以为您提供域名,并且您不断向提供商刷新您的 IP 地址。您的路由器可能支持某些 DDNS 提供商来执行此操作。如果不是这种情况,提供商将为您提供有关如何设置动态 DNS 客户端的说明。
DNS SRV 记录支持
Jamulus 客户端支持 DNS SRV 记录(“服务”记录)。如果客户端找到与“连接”窗口中给出的域名关联的 SRV 记录,它将尝试连接到 SRV 记录中列出的端点主机和端口。此过程类似于 Web 浏览器中的 HTTP 重定向,只是它发生在 Jamulus 客户端和 DNS 服务器之间。Jamulus 服务器不参与此交互。Jamulus 服务器只监听 SRV 记录中列出的同一端口上的连接。
为什么这有帮助?
Jamulus 客户端可以通过将端口作为服务器地址的一部分进行指定,从而连接到非默认端口上的服务器。服务器管理员可能希望为用户提供一个不带端口详细信息的简单地址,同时仍在非默认端口上为 Jamulus 提供服务。对于这种情况,可以从 SRV 记录中获取端口信息。
在“连接”窗口中输入的地址可能类似于 jamulus.example.com
。如果找到此 DNS 域的 SRV 记录,Jamulus 客户端将尝试连接到 SRV 记录中列出的主机:端口上的服务器,例如jamulus.example.com:12345
。
如果在 DNS 服务器上未找到 SRV 记录,客户端将尝试按照连接窗口中的指定连接到服务器。
创建 SRV 记录
SRV 记录由用于托管 Jamulus 服务器的域的管理员创建。SRV 记录通过域的 DNS 托管服务的管理门户(或 API,如果可用)添加。SRV 记录条目的格式可能因 DNS 托管服务而异,但通常看起来像这样。
_service._proto.name. ttl IN SRV 优先级权重端口目标
# 或者,更具体地说
_jamulus._udp.example.com. 60 IN SRV 0 5 12345 jamulus.example.com
注意: 您可以在一个主机的不同端口上托管多个 Jamulus 服务器,并为每个服务器提供自己的 SRV 记录。
有关创建 SRV 记录的说明,请参阅 DNS 提供商的文档。
使用 SRV 记录的示例用例
此示例假设 DNS 包含一个解析为 server1.example.com
的 A 或 CNAME 记录,其中三个 Jamulus Server 实例正在运行,每个实例都监听下面列出的三个端口之一。
或者 ,server1.example.com
可以是路由器、NAT 网关或负载均衡器,将每个端口转发到后端 Jamulus 服务器(或服务器)。
JAMULUS 客户端 | DNS SRV 记录 | JAMULUS 服务器 |
---|---|---|
rock.example.com | _jamulus._udp.rock.example.com 300 IN SRV 0 5 22124 server1.example.com | server1.example.com:22124 |
jazz.example.com | _jamulus._udp.jazz.example.com 300 IN SRV 0 5 22125 server1.example.com | server1.example.com:22125 |
blues.example.com | _jamulus._udp.blues.example.com 300 IN SRV 0 5 22126 server1.example.com | server1.example.com:22126 |
请务必记住,DNS 不会转发连接。它只是告诉 Jamulus 客户端要连接到哪个公共主机:端口。