代码之家  ›  专栏  ›  技术社区  ›  marco56

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

  •  2
  • marco56  · 技术社区  · 8 年前

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

    所以我启动了我的Ubuntu虚拟机并安装了它。在阅读了维基之后,我让它工作了,至少在我的本地网络上。出于测试目的,我使用 this site . 因此,当我在那里尝试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=“我的领域”

    • lt cred机械

    • 用户=测试:测试

    由于telnet和apache服务器都在工作,我很确定我有一个配置问题。我基本上整个周末都在努力,我真的迷失了方向。

    谢谢你的帮助!

    1 回复  |  直到 8 年前
        1
  •  3
  •   J.M. Robles    8 年前

    documentation turnserver的

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

    因此,仅将局域网内部的侦听端口暴露到公共网络,而将用于中继的所有端口暴露出来是不够的。请注意同一文档中的内容:

    --最小端口 <端口(>);中继端点分配的UDP端口范围下限。根据RFC 5766,默认值为49152。
    --最大端口数 <端口(>);中继端点分配的UDP端口范围的上限。根据RFC 5766,默认值为65535。

    推荐文章