2

我在我的应用程序中使用 coTurn 作为轮流服务器。使我的 Turn 服务器在 NAT 后面工作的最低配置是什么?我必须打开哪些端口才能在 NAT 后面工作?正如我所读到的,coturn 带有内置 STUN,所以我可以在我的应用程序中使用 STUN 地址而不是这里提到的默认谷歌 STUN https://github.com/coturn/coturn/wiki/CoturnConfig 如果是这样,我的配置应该是什么在 RTCPeerConnection 中的 javascript 对象中修改

4

1 回答 1

1

我假设work behind NAT指的是 TURN 服务器,而不是应用程序。

这种情况可以参考配置中的external-ip参数coturn

TURN 服务器公共/私有地址映射,如果服务器在 NAT 之后。在这种情况下,如果以“-X”形式使用 -X,则该 ip 将被报告为所有分配的中继 IP 地址。

例如,这适用于 GCP 的 AWS 等 NAT 场景,其中在coturn可以监听的私有 IP 地址和临时公共 IP 地址之间存在 1:1 映射。

您的应用程序可以配置为coturnice设置中使用,就好像coturn直接在公共 IP 上监听一样。

例如:

listening-ip=172.10.1.1

external-ip=3.3.3.3/172.10.1.1

此外,将在分配成功响应coturn中使用具有公共 IP 的中继传输地址响应分配请求。XOR-RELAYED-ADDRESS

该端口将与专用接口上分配的端口相同。因此,例如,如果继电器分配在172.10.1.1:40032XOR-RELAYED-ADDRESS则将包含3.3.3.3:40032.

不用说,在coturn的配置中配置的任何端口范围都需要可以从应用程序访问。例如,如果min-port是 40000 和max-port50000,则该 EC2 实例必须有一个允许访问 UDP 40000-50000 的安全组。

默认情况下coturn还充当 STUN 服务器(如果侦听多个 IP 地址,甚至完全兼容 RFC-5780)。

于 2021-09-30T09:38:32.887 回答