【发布时间】: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