< >
Home » Ubuntu系统入门教程 » ubuntu操作系统入门教程-利用coturn搭建ICE服务器,提供stun/turn服务

ubuntu操作系统入门教程-利用coturn搭建ICE服务器,提供stun/turn服务

说明

  • 介绍如何利用coturn搭建ICE服务器,提供stun/turn服务
  • 环境:阿里云服务器 + ubuntu22.04 + coturn
  • coturn是一个C++编写的开源ICE服务器,同时兼顾了STUN和TURN的功能
  • 我们使用3478端口,coturn监听的UDP和TCP相关端口在安全组中打开
  • 这个一般在云资源控制台的服务器安全组中配置。

条件:

  • 你需要一个带外网IP的服务器(可以是阿里云服务器), 假设公网IP为:47.94.xxx.xxx
  • 你需要一个域名,假设域名为: xxx.nc.com
  • 开放端口3478的TCP和UDP

步骤:

  • 利用rcm安装coturn
# 安装rcm
curl -k https://www.ncnynl.com/rcm.sh | bash - 

# 安装和配置coturn
rcm common install_coturn
  • 安装coturn后,基本环境已经搭建,还需要进一步做配置
  • 修改/etc/turnserver.conf文件里面的公网IP和域名
  • 假设服务器的内网IP为:172.21.xxx.xxx,公网IP为:47.94.xxx.xxx,域名为: xxx.nc.com
  • 修改的内容如下:
$ sudo cat /etc/turnserver.conf
#外部端口
listening-port=3478
#内网IP
listening-ip=172.21.xxx.xxx
#外网IP
external-ip=47.94.xxx.xxx
#使用的端口范围
min-port=49152
max-port=65535
#打开日志
verbose
log-file=/var/log/turn.log
syslog
#长期凭证
lt-cred-mech
#用户和密码
user=testxxx:123xx
#与外网IP对应的域名
realm=47.94.xxx.xxx
#设定密码随意
cli-password=123xx
  • 你也可以把里面的user字段的用户和密码也更改掉,cli-password的密码也改掉
  • 改完重新启动coturn和查看启动情况
sudo systemctl restart coturn 
sudo systemctl status coturn 
  • 效果如下
 coturn.service - coTURN STUN/TURN Server
     Loaded: loaded (/lib/systemd/system/coturn.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2023-11-03 15:36:13 CST; 14min ago
       Docs: man:coturn(1)
             man:turnadmin(1)
             man:turnserver(1)
   Main PID: 10982 (turnserver)
      Tasks: 7 (limit: 1931)
     Memory: 5.2M
        CPU: 7.034s
     CGroup: /system.slice/coturn.service
             └─10982 /usr/bin/turnserver -c /etc/turnserver.conf --pidfile=

验证是否生效:

  • 使用firefox浏览器打开trickle-ice网站
  • 写入我们的服务器IP,端口,用户和密码

请输入图片描述

  • 点击Gather candidates 进行验证

请输入图片描述

  • 最后显示done,有address一列有公网IP 则说明成功

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ubuntu操作系统入门教程