1.安装依赖
2.安装coturn
如果yum源中没有coturn,可以看一下这篇文章:centos7更换yum源
看看是否安装成功
看到"/usr/bin/turnserver"说明安装成功了
3.用openssl生成自签名证书
执行上面这行命令后,会提示让你输入一些信息
信息输入完成之后,自签名证书就生成好了。证书生成的位置是:/etc/turn_server_pkey.pem和/etc/turn_server_cert.pem,后面配置的时候会用到这个证书。
4.配置
改一下里面的这些配置,我的服务器内网ip是172.25.10.25,外网ip是47.111.188.168,域名是turn.zhiboblog.com,下面配置中的ip和域名需要改成你自己的(经过我的实际测试,阿里云服务器按照下面的配置是可以成功搭建的,而有些服务器不行,如果不行的话可以把内网ip都改成公网ip)
relay-device=eth0
#内网IP
listening-ip=172.25.10.25
listening-port=3478
#内网IP
relay-ip=172.25.10.25
tls-listening-port=5349
# 外网IP
external-ip=47.111.188.168
relay-threads=500
#打开密码验证
lt-cred-mech
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
min-port=40000
max-port=65535
#设置用户名和密码,创建IceServer时使用
user=admin:123456
# 外网IP绑定的域名
realm=turn.zhiboblog.com
# 服务器名称,用于OAuth认证,默认和realm相同,部分浏览器本段不设可能会引发cors错误。
server-name=turn.zhiboblog.com
# 认证密码,和前面设置的密码保持一致
cli-password=123456
5.解析域名
将上面配置中的域名:turn.zhiboblog.com解析到服务器外网ip
6.服务器安全组开放端口(如果是阿里云腾讯云等服务器需要在安全组开放端口)
开放udp的3478端口、tcp的3478端口、udp的40000-65535端口
7.服务器防火墙开放端口
服务器如果开启了防火墙需要开放端口,如果防护墙关闭了则不需要
firewall-cmd --zone=public --add-port=3478/udp --permanent
firewall-cmd --zone=public --add-port=3478/tcp --permanent
#重启防火墙
firewall-cmd --reload
8.启动coturn
有两种启动方法:
(1).通过turnserver命令来启动
(2).通过systemctl命令来启动(比较推荐这种方法,启动和关闭都比较方便)
systemctl start coturn
//关闭
systemctl stop coturn
//设置开机启动
systemctl enable coturn
查看是否启动成功
9.ICE测试
测试网址:https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
先添加服务器
然后点一下"Gather candidates",如果能看到自己的外网ip,说明穿透成功
以上就是centos7搭建stun/turn服务器的全过程