【问题标题】:coturn: Need help configurating my server correctlycoturn:需要帮助正确配置我的服务器
【发布时间】:2018-04-25 11:59:34
【问题描述】:

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

所以我启动了我的 Ubuntu 虚拟机并安装了它。在阅读了 wiki 之后,我得到了它的工作,至少在我的本地网络上。出于测试目的,我使用this site。因此,当我在 192.168.178.25:3478 那里尝试时,它可以工作。当我尝试使用“public-ip”:3478 时,它没有。

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

1) 我将虚拟机设置为桥接

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

有什么想法吗?

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

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

turnserver.conf 看起来像这样:

  • 指纹

  • realm="myRealm"

  • lt-cred-mech

  • user=test:test

由于 telnet 和 apache 服务器都在工作,我很确定我遇到了配置问题。我基本上整个周末都在尝试,我真的迷失了可能出了什么问题。

感谢您的帮助!

【问题讨论】:

    标签: webrtc voip stun turn coturn


    【解决方案1】:

    来自turnserver的documentation

    -X, --external-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 服务器本身位于 A NAT 之后。默认情况下,该值为空,不使用地址映射。

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

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

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

    【讨论】:

    • 嘿。感谢您的帮助,但这是我已经做过的。我测试了很多东西,我非常有信心我所做的应该是有效的。昨天我在 AWS 上创建了一个免费的 ec2 实例,令人惊讶的是它可以立即运行。我仍然不确定为什么它不能在我的本地机器上运行。 IP 被映射,所有需要的端口都被打开和测试。仍然不确定为什么它不起作用。就像我说的,我已经按照您的建议做了,但没有奏效。无论如何感谢您的帮助。
    • 仍然不知道为什么我不能在本地机器上工作,但我现在在两台 linux 服务器上对其进行了测试,一切正常,完全符合我的预期。尽管这个答案没有解决我的问题,但在技术上是正确的。
    • 谢谢。无论如何,您是否测试过避免眩晕(--no-stun)?位于 NAT 后面的设备,但位于服务器可能从 STUN 服务器接收到错误信息的同一网络中
    • 是的,我做了,我基本上什么都试过了。我认为我的防火墙/路由器有一些非常严格的东西阻止它,但我无法弄清楚。无论如何,我现在让它在其他服务器上运行并且工作正常。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    相关资源
    最近更新 更多