搭建Nextcloud的TURN服务器

katekate 发布于 2022-09-23 384 次阅读


一、前言

在使用Nextcloud中的Talk应用进行通话的时候,Nextcloud服务器会通过STUN服务器进行寻找使用者的公网IP以便将他们链接起来,但是在国内的大环境下家庭网络普遍使用的是多层NAT来节约公共IP地址,因此如果不进行设置就无法正常使用。Nextcloud官方提供了官方的STUN服务器以供使用,但是如果需要用到TURN服务器就需要自己来搭建。

二、获取TURN服务器

如果你使用的是Ubuntu或者Debian,可以使用apt命令来直接安装coTURN服务:

sudo apt install coturn

如果您使用的是其他发行版,可以在这个地址找到。

三、设置TURN服务器

安装完成之后,执行如下命令,将coTURN加入开机启动项中:

sudo sed -i '/TURNSERVER_ENABLED/c\TURNSERVER_ENABLED=1' /etc/default/coturn

检查coTURN是否启动:

ls -l /lib/systemd/system/coturn.service

注意在Ubuntu 20.04及以上版本或者某些发行版中,coTURN无法以root用户运行,需要执行以下命令:

setcap cap_net_bind_service=+ep /usr/bin/turnserver

接下来对TURN服务器进行配置,首先找到turnserver.conf:

#一般来说,Ubuntu和Debian的turnserver.conf会在/etc目录下面,如果没有的话,可以使用命令
systemctl show coturn
#在显示的数据中找到启动命令,寻找-c后面的文件目录即可

然后编辑该文件,取消下面行的注释:

listening-port=
fingerprint
lt-cred-mech # Only on coTURN below v4.5.0.8!
use-auth-secret
static-auth-secret=
realm=your.domain.org
total-quota=0
bps-capacity=0
stale-nonce
no-loopback-peers # Only on coTURN below v4.5.1.0!
no-multicast-peers

注意listening-port改成你的监听地址,static-auth-secret改成自己设定的密钥,realm改成你的域名。然后如果你要使用SSL证书的话,还需要修改cert参数和pkey参数写明证书文件地址。

修改完成后重启coturn:

sudo systemctl restart coturn

然后可以对turn服务器进行运行测试

四、配置Nextcloud来使用turn服务器

打开Nextcloud,转到设置页面,找到通话,在turn服务器那里填写域名和密钥,方式选择turn:,测试链接即可。

此作者没有提供个人介绍
最后更新于 2022-09-23