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 则说明成功
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号