【问题标题】:Coturn docker on arm32 (Raspberry Pi) is failing due to port-range and TLS problem由于端口范围和 TLS 问题,arm32(Raspberry Pi)上的 Coturn docker 失败
【发布时间】:2021-08-16 23:02:41
【问题描述】:

这是我在这里的第一个问题,所以希望我做的一切都是正确的。

我在带有 Raspbian/Debian Buster 的 arm32 (RPi4) 上使用 Docker 映像 4.5.2-r3(与 4.5.2-r2 相同)。我遇到了一些错误,所有客户端(服务器网络/我的家庭网络内部和外部)都卡在“正在连接”中。

这是我的 turnserver.conf

use-auth-secret
static-auth-secret={hidden}
realm=turn.{address-hidden}

min-port=49152
max-port=49172
external-ip={hidden}

log-file=stdout
pidfile=/var/tmp/turnserver.pid
userdb=/var/tmp/turnserver.db

no-cli
cert={Path hidden}
pkey={Path hidden}
no-tlsv1
no-tlsv1_1

prod
no-tcp-relay

服务器在 NAT 后面,所有端口在 ufw 中打开并在路由器中转发。 如果我使用凭据并使用 ICE Trickle 对其进行测试,则它可以正常工作,但是在拨打电话时,我会在日志中得到以下信息: (这是错误发生的实际顺序,其中一些是连续几次)

create_relay_ioa_sockets: no available ports 3 incoming packet message processed, error 508: Cannot create socket TLS/TCP socket buffer operation error (callback) incoming packet message processed, error 401: Unauthorized incoming packet message processed, error 403: Forbidden IP

有什么想法吗?我被这个问题困扰了好几天,而且我(谷歌)已经没有想法了!提前谢谢...

编辑:我使用了mtr 和 Trickle ICE,端口已打开并正确转发。是否有其他/更好的解决方案来检查?

【问题讨论】:

  • 您是否检查过所需的端口可用?,具体取决于设置,请参阅stackoverflow.com/questions/59193091/…
  • 抱歉应该提到并编辑了我的帖子
  • 我的评论是基于您的错误中的“create_relay_ioa_sockets: no available ports 3”,可以根据规范尝试 max-port= 65535,传入的范围也在 0-65535 之间。我使用 sudo netstat -tulpn |听听 | grep XXX 不知道在 pi 上能不能用,也是你创建容器时指定的端口范围吗?
  • 感谢@NigelSavage,是的,端口范围是在创建容器时指定的,由于docker创建的各个iptable规则(如果我做对了),它的默认值要低得多。 netstat 命令就是这样工作的,我之前也使用过它,它显示正常的开放端口并且没有冲突......无论如何,问题已通过 github 解决(万岁!!) - 请参阅编辑!
  • 您的解决方案对人们很有价值,如果您可以回答您的问题,或许可以提供更多细节,这样堆栈的新手可以在 pi 上启动并运行它,那将是非常棒的

标签: docker raspberry-pi port nat coturn


【解决方案1】:

问题已通过GitHub 解决,感谢 pushytoxin!解决方案是为 coturn 用于扩展的中继端口配置 udp 端口​​范围(到 49152-49272,因此还有 100 个端口)和 TLS 部分,因为 Element 移动客户端中的 bug 关于“让我们加密”-cert-链...

一步一步:

  1. turnserver.conf 中设置min-port=49152 max-port=49272。如果仍然出现同样的错误,请尝试进一步扩展端口范围
  2. 在您的防火墙中打开扩展端口范围,如有必要,在您的路由器中转发它
  3. 如果您使用lets-encrypt:在homeserver.yaml 中将turn_uris: 下的两个条目(udp 和tcp)设置为turn: 而不是turns: - 请参阅here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    相关资源
    最近更新 更多