Turnserver服务器搭建

1. 安装

sudo apt-get install coturn

2. 配置

turnserver.conf

路径:

/etc/turnserver.conf

内容:

listening-port=3478
tls-listening-port=5349

listening-ip=your ip
relay-ip=your ip
external-ip=your ip

server-name=your domain
realm=your domain

lt-cred-mech
userdb=/var/lib/turn/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"

字段含义:

  listening-port:  turnserver监听UDP/TCP端口,默认为3478;
  tls-listening-port:  turnserver监听TLS/DTLS端口,默认为5349,
      将TCP/UDP和TLS/DTLS分别定义监听端口是符合RFC5766规范的,但是通过配置两者能使用同一端口,不推荐;
  listening-ip:  中继服务器的监听IP地址,可以配置多个;
  relay-ip:  中继服务器的IP地址;
  external-ip:  外部IP,当中继服务器在NAT网络内部时指定,此处可以不添加;
  server-name:  服务器名称,用于OAuth认证,默认和realm相同;
  realm:  域名;
  userdb:  用于保存用户信息;
  cert/pkey:  自签名证书相关;

注意事项:

1) coturn使用了SQLlite作为存储,请保证userdb的正确配置(userdb=/var/lib/turn/turndb),不需要添加turnuserdb.conf文件(turnuserdb.conf多用于restund的配置方式);

2) cert和pkey配置的自签名证书用Openssl命令生成

sudo openssl req -x509 -newkey rsa:2048 -keyout   /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -nodes

3) 配置成功后生成用户名/密码

turnadmin -k -u <your username> -r <your realm> -p <your password> //turnadmin -k -a -u btzh -r ice.btzh.net -p webrtc

执行上述命令后,会创建一个用户/密码,并添加到SQLlite数据库中.

参数含义请参见

man turnadmin

3. 启动服务

1) 确保端口开放

iptables -A INPUT -p udp --dport 3478 -j ACCEPT
iptables -A INPUT -p udp --dport 5349 -j ACCEPT

2) 启动

后台启动

service coturn start

非后台启动:

turnserver

初次运行请使用非后台启动,会显示当前运行状态,如果有错误会直接显示在控制台上.

3) 验证监听端口

lsof -n -i4TCP:3478 | grep LISTEN
lsof -n -i4TCP:5349 | grep LISTEN

或直接查看所有UDP/TCP 端口

netstat -nat | grep LISTEN

4. 验证服务

1) stun

apt-get install stun-client

之后运行

stun domain.com:port //例如: stun ice.btzh.net:3478

2) 直接测试

浏览器输入

domain/IP:port // 例如 ice.btzh.net:3478

出现文字"TURN Server use https connection for the admin session"

3) 在线测试(推荐)

网址

https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

测试格式

stun:domain:port  // example: stun:ice.btzh.net:3478

注意: 不要以此网站测试TURN username/TURN password的正确性(it doesn`t work for username/pwd test).

参考链接: https://github.com/coturn/coturn/blob/master/INSTALL

上一篇:《用友 ERP 培训教程---财务核算/供应链管理/物料需求计划(第2版)》——导读


下一篇:Kubernetes集群监控指南