【发布时间】:2020-11-20 05:38:47
【问题描述】:
默认情况下,coturn 使用范围 49152-65535 UDP 作为中继端口。有什么理由使用全系列吗?一个udp不能处理无限连接吗?开放所有这些有什么意义?是否存在任何安全风险?使用更少的 udp 端口是否有任何权衡?
【问题讨论】:
默认情况下,coturn 使用范围 49152-65535 UDP 作为中继端口。有什么理由使用全系列吗?一个udp不能处理无限连接吗?开放所有这些有什么意义?是否存在任何安全风险?使用更少的 udp 端口是否有任何权衡?
【问题讨论】:
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 分配的动态范围。我遇到了这两种心态,并且不可能声明一种方法明显优于另一种方法(在默认端口范围或较小范围之间进行选择时)。您只需要找到适合您的应用和使用的方法。
【讨论】:
@bradley-t-hughes 提供了一个很好的答案;对此添加一个观点:
【讨论】: