【问题标题】:TURN server XOR-RELAYED-ADDRESS IP different from its own public IPTURN server XOR-RELAYED-ADDRESS IP 不同于自己的公网IP
【发布时间】:2012-07-23 00:13:08
【问题描述】:

假设我正在运行一个绑定到公共 IP(比如 100.0.0.1)的 TURN 服务器。当服务器为创建分配请求创建中继端口时,服务器是否会在 XOR-RELAYED-地址属性?我对网络不够熟悉,无法了解所有可能的情况,RFC 5766 并没有真正说明任何具体内容(据我所知)。

换句话说,XOR-RELAYED-ADDRESS 中的 IP 地址是多余的吗?在我考虑的所有情况下,客户端只需要知道分配的端口,并且可以完全忽略 XOR-RELAYED-ADDRESS 的 IP。只要客户端知道中继端口,它就可以随时在中继端口向TURN服务器公共IP发送中继数据(它已经知道IP,因为它必须最初连接......)。

有没有cmets?

【问题讨论】:

    标签: networking nat-traversal stun


    【解决方案1】:

    如果您的服务器不在 NAT 之后(在分配有公共 IP 地址的公共 Internet 上),则 XOR-RELAYED-ADDRESS 中返回的 IP 地址将是相同的。 (它将始终与分配给其 NIC 的 IP 地址相同)。

    我认为您考虑忽略 XOR-RELAYED-ADDRESS 的原因与您提出的其他问题有关,即 TURN 服务器实际上将位于 NAT/防火墙后面。我想您会发现 IP 地址是可预测的。但是您的服务器所在的防火墙/NAT 可能会弄乱端口分配。确保您了解 TURN 服务器如何进行端口分配,并且您的防火墙正确地进行端口转发。

    一点命名说明。您的服务器没有“绑定”到公共或私有 IP。您的服务器套接字绑定到分配有 IP 地址并与之关联的接口。

    【讨论】:

    • 在我的情况下,NAT 直接转发端口。感谢您的命名说明:)
    • 那么你最好让客户端使用 IP 地址。
    • 这是否意味着如果我的 TURN 服务器位于 NAT/防火墙后面,它仍然可以工作?我遇到了类似的问题,中继地址与本地地址相同,而我使用了从我的公共 IP 到端口 3478 上的本地 IP 的端口转发。
    • @BilboBaggins - 您应该能够将 TURN 服务器配置为在 NAT 后面工作。但是您可能应该转发服务器为中继提供的整个端口范围,而不仅仅是 3478。大多数 TURN 服务器都有某种命令行参数或配置文件设置来指定端口范围。
    • 哦,我澄清一下,你的意思是说我必须为几乎每个端口进行端口转发,而不仅仅是 3478?我理解正确了吗?
    【解决方案2】:

    实际上,你们都忽略了 TURN 服务器上中继 IP 地址与侦听 IP 地址不同的情况。 TURN 服务器可能正在侦听地址 1.2.3.4,但它可能正在将中继端点分配到其他两个公共地址 - 例如 2.3.4.5 和 3.4.5.6。在XOR-RELAYED-ADDRESS中返回真实的中继IP地址,可能与监听地址相差很大。

    【讨论】:

      猜你喜欢
      • 2012-07-16
      • 1970-01-01
      • 2018-09-23
      • 1970-01-01
      • 2018-03-21
      • 2020-08-05
      • 1970-01-01
      • 2018-07-31
      • 1970-01-01
      相关资源
      最近更新 更多