限制 TURN 服务器的中继端口有哪些权衡?

noo*_*der 1 udp turn coturn

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

Bra*_*hes 5

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

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

RFC 6335 第 6 节中描述了动态和/或专用端口范围:

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

因此,尝试回答您的问题:

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

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

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

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

  • 使用较少的 udp 端口​​是否有任何权衡?
    据我所知,不存在任何技术权衡。我已经在动态范围之外以小得多的范围运行 coturn,并且效果很好。

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