coturn:需要帮助正确配置我的服务器

时间:2017-11-12 20:24:46

标签: webrtc voip stun turn coturn

我正在尝试在我的本地计算机上设置STUN / TURN服务器以获取我的webrtc应用程序。我决定使用coturn。请注意,我的服务器在NAT后面运行。

所以我启动了我的Ubuntu VM并安装了它。通过wiki阅读后,我得到了它,至少在我的本地网络上。出于测试目的,我使用this site。因此,当我在192.168.178.25:3478尝试它时,它的工作原理。当我尝试使用" public-ip":3478时,它不会。

这告诉我,它在本地工作,应该是端口/ NAT问题。我做了什么:

1)我将VM设置为Bridging

2)我在路由器上打开了端口3478。为了测试这是否真的有用,我在远程机器上使用了telnet并且它工作正常。另一个测试是我在端口3478上的本地机器上设置了一个快速的apache服务器,它可以从外部访问。这告诉我有或者应该没有端口/ NAT问题,我的转向服务器应该正常工作。

有什么想法吗?

我使用以下命令运行我的服务器:

" sudo turnserver -X" public-ip" -listening-port = 3478 -v

turnserver.conf看起来像这样:

  • 指纹

  • 境界=" MYREALM"

  • LT-名气-机甲

  • 用户=测试:测试

由于telnet和apache服务器都正常工作,我很确定我有配置问题。我基本上花了整个周末的时间尝试,我真的迷失了可能出错的地方。

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

来自转发服务器的documentation

  

-X - external-ip < public-ip> [/ private-ip] TURN服务器公共/私有地址映射,如果服务器落后NAT。在这种情况下,如果-X以“-X”形式使用,则该ip将被报告为所有分配的中继IP地址。此方案仅在使用单个中继地址且不需要CHANGE_REQUEST STUN功能的简单情况下有效。该单个中继地址必须通过NAT映射到“外部”IP。 “external-ip”值(如果不为空)在XOR-RELAYED-ADDRESS字段中返回。 对于那个“外部”IP,NAT必须直接转发端口(中继端口12345必须始终映射到相同的“外部”端口12345)。在涉及多个IP地址的更复杂的情况下,必须多次使用该选项,每个条目必须具有“-X”形式,以映射所有涉及的地址。 CHANGE_REQUEST NAT发现如果地址映射正确,STUN功能将正常工作,即使TURN服务器本身位于NAT后面。默认情况下,此值为空,并且不使用地址映射。

因此,仅将侦听端口从内部LAN暴露给公共网络,但是将要用于中继的所有端口是不够的。请注意相同文档中的内容:

  

- min-port < port> UDP端口范围的下限,用于中继端点分配。根据RFC 5766,默认值为49152    - max-port < port> UDP端口范围的上限,用于中继端点分配。根据RFC 5766,默认值为65535。

您应该在服务器中选择一系列端口,使用选项--min-port和--max-port配置它们,并创建NAT规则以将这些端口公开给路由器的公共端而不做任何更改。< / p>