【问题标题】:What are the trade offs of limiting relay ports for a TURN server?限制 TURN 服务器的中继端口的权衡是什么?
【发布时间】:2020-11-20 05:38:47
【问题描述】:

默认情况下,coturn 使用范围 49152-65535 UDP 作为中继端口。有什么理由使用全系列吗?一个udp不能处理无限连接吗?开放所有这些有什么意义?是否存在任何安全风险?使用更少的 udp 端口​​是否有任何权衡?

【问题讨论】:

    标签: udp turn coturn


    【解决方案1】:

    Coturn 默认使用 49152-65535 范围,因为这是在 RFC 5766, Section 6.2 中指定的,它描述了 TURN 服务器在收到分配请求时应如何反应。这一段对您的问题特别感兴趣:

    在所有情况下,服务器应该只分配 49152 - 65535 范围内的端口(动态和/或专用端口范围 [Port-Numbers]),除非 TURN 服务器应用程序通过此处未指定的某些方式知道其他应用程序在与 TURN 服务器应用程序相同的主机上运行不会受到分配超出此范围的端口的影响。通常可以通过在专用机器上运行 TURN 服务器应用程序和/或通过安排机器上的任何其他应用程序在 TURN 服务器应用程序启动之前分配端口来满足此条件。在任何情况下,TURN 服务器都不应分配 0 - 1023 范围内的端口(众所周知的端口范围)以阻止客户端使用 TURN 运行标准服务。

    动态和/或专用端口范围在RFC 6335, Section 6 中描述:

    • 动态端口,也称为专用或临时端口,从 49152-65535(从未分配)

    所以,试着回答你的问题:

    • 有什么理由使用全系列吗?
      是的,如果默认范围适用于您和您的应用程序。

    • 一个 udp 不能处理无限连接吗?
      是的,当然,您可以将 coturn 配置为仅使用一个端口,因为系统资源允许。

    • 打开所有这些有什么意义?
      这是 IANA 定义的动态分配端口号的默认范围。

    • 是否存在任何安全风险?
      不会超出运行像 coturn 这样的服务所涉及的任何其他正常安全风险。

    • 使用更少的 udp 端口​​是否有任何权衡?
      据我所知,没有任何技术上的权衡。我已经在动态范围之外以小得多的范围运行 coturn,它工作得很好。

    当面临防火墙或网络端口号限制尝试访问 TURN 服务器时,较小的范围可能被某些网络管理员视为有好处,但同时其他管理员可能会质疑使用外部端口范围IANA 分配的动态范围。我遇到了这两种心态,并且不可能声明一种方法明显优于另一种方法(在默认端口范围或较小范围之间进行选择时)。您只需要找到适合您的应用和使用的方法。

    【讨论】:

      【解决方案2】:

      @bradley-t-hughes 提供了一个很好的答案;对此添加一个观点:

      • 定义默认范围是一种策略,可确保在没有自定义配置(因此使用默认设置)的情况下运行的应用程序不会相互冲突。
      • 对于为实时通信动态分配 UDP 端口的其他应用程序,配置的端口范围代表并发会话的上限。范围越小,可以建立的并发会话就越少。
      • 在某些情况下,主机专用于 TURN 服务器等应用程序,使用宽范围可确保最大容量受到带宽或 CPU 使用率等其他因素的限制。
      • 如果您事先知道并发会话的数量会很少,例如因为它只是用于测试功能而不是提供 Live 服务,所以您可以限制该范围,并将其他端口留给其他应用程序使用。

      【讨论】:

        猜你喜欢
        • 2019-10-07
        • 2017-05-14
        • 2021-07-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-12
        相关资源
        最近更新 更多