搭建turn服务器
Ubuntu搭建turn服务器(webrtc ice服务器)
阅读别人博客的笔记,测试了好多人的方法,最后这个成功了
原理图
安装gcc环境
1 | which gcc |
安全签名
- ssl
1
sudo apt install openssl-devel
- 生成签名一直回车
1
openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -nodes
安装libevent
1 | wget --no-check-certificate https://github.com/libevent/libevent/releases/download/release-2.1.12-stable/libevent-2.1.12-stable.tar.gz |
libevent-2.1.12-stable.tar.gz
1 | tar -zxvf libevent-2.1.12-stable.tar.gz |
安装coturn
下载安装包
1
wget --no-check-certificate https://github.com/coturn/coturn/archive/4.5.1.1.tar.gz
执行安装命令
1
2
3
4
5tar -zxvf 4.5.1.1.tar.gz
cd coturn-4.5.1.1
./configure
make
make install生成用户
1
turnadmin -a -u chr -p 11111 -r xxx.com
修改配置文件
1
2cd /usr/local/etc
cp turnserver.conf.default turnserver.conf查看ip地址
更改配置文件
1
vim turnserver.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17#与前ifconfig查到的网卡名称一致
relay-device=eth0
#内网IP
listening-ip=10.0.16.7
#公网IP
external-ip=159.75.239.36
#用户名密码,创建IceServer时用
user=chr:123456
#一般与turnadmin创建用户时指定的realm一致
realm=chr.com
#端口号
listening-port=3478
#不开启会报CONFIG ERROR: Empty cli-password, and so telnet cli interface is disabled! Please set a non empty cli-password!错误
cli-password=qwerty
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem开启3478的tcp和udp端口
记得服务器一定要开启udp对应的端口!!!
ubuntu中开启:1
2sudo ufw allow 3478/tcp
sudo ufw allow 3478/udp开启cotrun服务
1
turnserver -a -f -r xxx.com
然后ctrl+C退出,使用 -o 参数后台启动1
turnserver -a -o -f -r xxx.com
测试turn服务器
webrtc-samples官网提供了一个测试用的地址
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.