如何使用 AWS EC2 创建 stun turn 服务器实例

Posted

技术标签:

【中文标题】如何使用 AWS EC2 创建 stun turn 服务器实例【英文标题】:How to create stun turn server instance using AWS EC2 【发布时间】:2015-09-18 15:25:14 【问题描述】:

实际上我想使用我自己的 stun/Turn 服务器实例,并且我想使用 Amazon EC2。如果有人对此有任何想法,请与我分享创建步骤或任何要遵循的参考链接。

【问题讨论】:

所以我找到了一个教程。您需要帮助哪些部分?你有任何使用 EC2 的经验吗? @Jordan:不,其实我没有任何经验。你能和我分享这个教程吗? 查看 rfc5766-turn-server 项目:code.google.com/p/rfc5766-turn-server 你搞过这个吗? @Jordan:我用过,但我从来没有创造过这个。 【参考方案1】:

对您的 ec2 实例进行 ssh 登录,然后运行以下命令来安装和启动转向服务器。

简单的方法:

sudo apt-get install coturn

如果你说不,我想要最新的尖端,你可以从他们的downloads page 下载源代码并自行安装,例如:

sudo -i     # ignore if you already in admin mode
apt-get update && apt-get install libssl-dev libevent-dev libhiredis-dev make -y    # install the dependencies
wget -O turn.tar.gz http://turnserver.open-sys.org/downloads/v4.5.0.3/turnserver-4.5.0.3.tar.gz     # Download the source tar
tar -zxvf turn.tar.gz     # unzip
cd turnserver-*
./configure
make && make install 

运行 TURN 服务器的示例命令:

turnserver -a -o -v -n -u user:root -p 3478 -L INT_IP -r someRealm -X EXT_IP/INT_IP  --no-dtls --no-tls

命令说明:

-X - 你的亚马逊实例的外部IP,内部IP:EXT_IP/INT_IP -p - 使用的端口,默认3478 -a - 使用长期凭证机制 -o - 将服务器进程作为守护进程运行 -v - “中等”详细模式。 -n - 没有配置文件 --no-dtls - 不启动 DTLS 监听器 --no-tls - 不启动 TLS 监听器 -u - 要使用的用户凭据 -r - 要使用的默认领域,需要 TURN REST API

在您的 WebRTC 应用程序中,您可以使用 trun 服务器,例如:


    url: 'turn:user@EXT_IP:3478',
    credential: 'root'

【讨论】:

在 ec2 实例中使用 windows 操作系统的任何特殊原因? 在 ./configure 命令中出现错误,例如 ----- ginstall: not found install is /usr/bin/install pkill is /usr/bin/pkill sqlite3: not found sqlite: not found使用 TMP dir /var/tmp 编译器:未知错误:无法正确使用未知的编译器 以防万一其他人在未来遇到此问题:确保您的 EC2 实例已允许入站 UDP。在 EC2 管理控制台中,转到网络和安全 -> 安全组 -> 选择您用于实例的组 -> 在入站选项卡中单击编辑 -> 根据需要允许流量。 不是所有的英雄都穿斗篷,谢谢@mido 它就像一个魅力 @AnubhavSrivastava 你也应该得到一个 cookie :)【参考方案2】:

在 Amazon EC2 上安装 turnserver 的一种方法是选择 Debian 并安装 coturn 包,它是 RFC5766-server 的继承者。

/etc/turnserver.conf 中的配置文件包含 EC2 特定说明。此文件中提供的信息通常非常详尽,应该可以回答大多数配置问题。

配置完成后,coturn 服务器可以停止和启动,但您可以使用任何其他服务。

【讨论】:

以上是关于如何使用 AWS EC2 创建 stun turn 服务器实例的主要内容,如果未能解决你的问题,请参考以下文章

Webrtc、websockets、Stun/turn 服务器,一起工作?

STUN/TURN 服务器连接测试

使用docker搭建STUN/TURN服务器

TURN Server Nat 遍历 ICE STUN

Turn and Stun server · J

适用于 iOS iPhone 的 ICE、STUN、TURN 库