webRTC做音视频通话需要nat穿透,配置做记录。
服务器:CentOS Linux release 7.6.1810 (Core)
1、安装
yum install coturn
2、编辑turnserver.conf (yum安装完默认文件在/etc/coturn/turnserver.conf,复制到/etc目录下,或者直接在/etc下新建turnserver.conf)
#默认端口
listening-port=3478
#TLS/DTLS默认端口
tls-listening-port=5349
#中继服务器的监听IP地址,可以配置多个;
listening-ip=0.0.0.0
#中继服务器的IP地址,可不填
#relay-ip=0.0.0.0
#当前服务器外网ip
external-ip=116.255.147.xxx
#服务器名称,用于OAuth认证,默认和realm相同;可不填
#server-name=turn.xxxx.com
#域名,可不填
realm=turn.xxxx.com
lt-cred-mech
#用于保存用户信息;
userdb=/var/lib/coturn/turndb
#自签名证书相关;
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
no-stdout-log
log-file=/var/tmp/turnserver.log
pidfile="/var/run/turnserver.pid"
#用户名:密码(iceServers里用到的账号密码)
user=zcw:xxxx
cli-password=xxxx
1)上面目录不存在的需要自己创建.
2) coturn使用了SQLlite作为存储,请保证userdb的正确配置(userdb=/var/lib/turn/turndb),不需要添加turnuserdb.conf文件(turnuserdb.conf多用于restund的配置方式);
3、cert和pkey配置的自签名证书用Openssl命令生成(会在/etc目录下生成证书文件)
sudo openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -nodes
4、配置成功后生成用户名/密码(会创建一个用户/密码,并添加到SQLlite数据库中.)
turnadmin -k -u zcw -r turn.xxxx.com -p xxxx
5、启动服务
#后台启动(默认启动的是/etc/coturn下的配置文件)
service coturn start
#非后台启动(默认启动的是/etc下的配置文件)
turnserver
6、查看端口是否启动
# netstat -apn|grep 3478
检测是否配置成功,下图表示成功