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

Webrtc coturn:需要帮助正确配置我的服务器吗,webrtc,voip,stun,turn,coturn,Webrtc,Voip,Stun,Turn,Coturn,我正在尝试在本地计算机上为我的webrtc应用程序设置一个STUN/TURN服务器。我决定使用。请注意,我的服务器正在NAT后面运行 所以我启动了我的Ubuntu虚拟机并安装了它。读完维基后,我至少在我的本地网络上找到了它。出于测试目的,我使用。因此,当我在那里尝试192.168.178.25:3478时,它是有效的。当我尝试使用“公共ip”:3478时,它不会 这告诉我,它在本地工作,应该是一个端口/NAT问题。我所做的: 1) 我将VM设置为桥接 2) 我打开了路由器上的3478端口。为了测

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

所以我启动了我的Ubuntu虚拟机并安装了它。读完维基后,我至少在我的本地网络上找到了它。出于测试目的,我使用。因此,当我在那里尝试192.168.178.25:3478时,它是有效的。当我尝试使用“公共ip”:3478时,它不会

这告诉我,它在本地工作,应该是一个端口/NAT问题。我所做的:

1) 我将VM设置为桥接

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

有什么想法吗

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

“sudo turnserver-X”公共ip”-侦听端口=3478-v

turnserver.conf看起来像这样:

  • 指纹

  • realm=“myRealm”

  • 中尉信用机械师

  • 用户=测试:测试

由于telnet和apache服务器都在工作,我很确定我有一个配置问题。我基本上花了一个周末的时间来尝试,我真的对可能出现的错误一无所知

感谢您的帮助!

来自turnserver的

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

因此,仅公开从内部LAN到公共网络的侦听端口是不够的,还需要公开将用于中继的所有端口。请注意同一文档中的内容:

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


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

嘿。谢谢你的帮助,但我已经这么做了。我测试了这么多东西,我非常自信我所做的应该是有效的。昨天我在AWS上创建了一个免费的ec2实例,令人惊讶的是,它一下子就成功了。我仍然不知道为什么它不能在我的本地机器上工作。映射IP,打开并测试所有必需的端口。仍然不知道为什么它不起作用。就像我说的,我已经按照你的建议做了,但是没有用。无论如何谢谢你的帮助。我仍然不知道为什么我不能在我的本地机器上工作,但我现在在两台linux服务器上测试了它,一切都很好,完全符合我的预期。虽然这个答案没有解决我的问题,但从技术上讲是正确的。谢谢。不管怎样,你有没有测试过避免晕眩(-没有晕眩)?NAT背后的设备,但在同一个网络中,服务器可能从STUN服务器接收不正确的信息。是的,我做了,我基本上尝试了一切。我认为我的防火墙/路由器有一个非常严格的地方,它阻止了它,但我无法理解。不管怎样,我现在让它在其他服务器上运行,并且工作正常。