如何在Ubuntu 18.04中使用Coturn创建和配置自己的STUN / TURN服务器

如何在Ubuntu 18.04中使用Coturn创建和配置自己的STUN / TURN服务器

如何在Ubuntu 18.04中使用Coturn创建和配置自己的STUN / TURN服务器

随着疫情的影响,线上办公及线上会议的app及应用越来越多,我们需要使用带有PeerJS和Node.js的基于WebRTC的视频会议应用程序。正如使用该技术的正式说明中提到的那样,在大多数情况下,要使此类应用程序正常工作,您将需要一种特殊的服务器来负责在同级之间中继通信,因为有时通常使用直接套接字客户端之间是不可能的(除非它们位于同一本地网络上)。这称为TURN服务器,代表使用中继NAT进行遍历,并且是用于中继网络流量的协议。

由于找不到免费的TURN服务器非常困难,因为没有服务器,我们最终实现了自己的STUN / TURN服务器,并希望与您分享我们如何实现它。在本教程中,我们将向您介绍如何从头开始安装和配置coturn,以在Ubuntu 18.04中创建自己的STUN / TURN服务器。

一、安装条件

为了成功实施本教程,您将必须具备以下条件:

一个Ubuntu服务器(在我们的例子中是18.04)。
知道您服务器的公共IP,在本例中,我们将使用服务器的公共IP 209.126.124.122。
拥有一个域并可以访问DNS管理器,因为您将需要创建2个子域(ourcodeworld.com在我们的示例中,该域将被托管在goDaddy上)。
子域的SSL证书(最好是带有通配符的证书,例如*.bfw.wiki)。没有安全协议,您的服务器实现将无法完成,并且在HTTPS的WebRTC项目中使用它后将无法正常工作,因此,请保持聪明并避免麻烦,购买SSL证书或通过LetsEncrypt获得免费证书。
话虽如此,让我们开始学习本教程!

二、安装coturn

要实现自己的STUN / TURN服务器,我们将依靠Coturn项目。Coturn是VoIP和WebRTC的TURN和STUN服务器的免费开源实现。该项目是从rfc5766-turn-server项目(https://code.google.com/p/rfc5766-turn-server/)演变而来的。有许多新的高级TURN规范,这些规范远远超出了原始RFC 5766文档。该项目将rfc5766-turn-server的代码作为启动器,并为其添加了新的高级功能。

在继续安装coturn之前,请确保使用以下命令将apt-get存储库更新到最新版本:

sudo apt-get -y update

然后,使用以下命令安装coturn软件包:

sudo apt-get install coturn

这将在您的服务器中安装coturn TURN项目,这是TURN和STUN服务器的免费开源实现。请确保使用以下命令在安装软件包后停止该服务,因为安装完成后它将自动启动:

systemctl stop coturn

现在,您将可以继续学习本教程的其余部分。有关coturn项目的更多信息,请确保访问Github上的官方存储库以检查文档。

二、启用翻转

安装后,您将需要在coturn的配置文件中启用TURN服务器。为此,请取消注释文件中的TURNSERVER_ENABLED属性/etc/default/coturn。您可以使用nano从终端编辑文件:

nano /etc/default/coturn

确保文件内容具有未注释的属性,如下所示:

TURNSERVER_ENABLED=1

保存更改并继续下一步。

三、备份并创建配置文件

现在启用了转弯服务器,您需要根据需要修改配置文件。如果需要恢复其他版本,请确保备份列出了coturn所有可能选项的原始配置文件。您可以使用以下命令来执行此操作:

# Move the original turnserver configuration file to a backup in the same directory

sudo turnadmin -a -u ...

点击查看剩余70%

{{collectdata}}

网友评论0