rfc5766-turn-server webrtc穿透服务器配置

来源:互联网 发布:nginx ssl配置详解 编辑:程序博客网 时间:2024/05/16 12:24

第一篇文章




rfc5766-turn-server--谷歌推荐的开源穿透服务器 ubuntu


参考 http://www.blogjava.net/linli/archive/2014/10/22/418935.html

谷歌推荐的开源穿透服务器,包含trun和stun服务,主页:https://code.google.com/p/rfc5766-turn-server/

安装:
版本:turnserver-3.2.4.6-debian-wheezy-ubuntu-mint-x86-64bits.tar.gz  系统环境:ubuntu14.04.1_amd64

1、下载
wget http://turnserver.open-sys.org/downloads/v3.2.4.6/turnserver-3.2.4.6-debian-wheezy-ubuntu-mint-x86-64bits.tar.gz

2、安装
tar xvfz turnserver-3.2.4.6-debian-wheezy-ubuntu-mint-x86-64bits.tar.gz
sudo apt-get updatesudo apt-get install gdebi-core
sudo gdebi rfc5766-turn-server_3.2.4.6-1_amd64.deb


3、配置
在安装完后你可以看到以下信息,是安装的目录及说明
* rfc5766-turn-server disabled in /etc/default/rfc5766-turn-server turnserver                  [ OK ]
* See /etc/default/rfc5766-turn-server for instructions on enabling turnserver                 [ OK ]

创建配置文件
sudo vi /etc/turnserver.conf
在turnserver.conf写入以下内容
listening-ip=外网ip
listening-port=3478
tls-listening-port=5349relay-ip=外网ip
external-ip=外网ip
relay-threads=50
lt-cred-mech
user=user:password
userdb=/etc/turnuserdb.conf
#max-bps=102400
pidfile="/var/run/turnserver.pid"sudo vi turnuserdb.conf
在turnuserdb.conf写入以下内容
user:password


4、启动

turnserver -L <public_ip_address> -c /etc/turnserver.conf -o -a -b /etc/turnuserdb.conf -f -r <system_domain_name>
 




5、测试

在浏览器访问http://外网ip:3478,如果看到“TURN Server”,说明已经搭好了。



第二篇文章




在使用WebRTC进行即时通讯时,需要使浏览器进行P2P通讯,但是由于NAT环境的复杂性,并不是所有情况下都能进行P2P,这时需要TURN Server来帮助客户端之间转发数据。rfc5766-turn-server是一个高性能的开源TURN Server实现。

以下是在EC2上使用Ubuntu操作系统安装rfc5766-turn-server:

1. 下载安装包:

$ wget http://ftp.cn.debian.org/debian/pool/main/r/rfc5766-turn-server/rfc5766-turn-server_3.2.4.4-1_amd64.deb

2. 安装:

$ sudo apt-get update

$ sudo apt-get install gdebi-core

$ sudo gdebi rfc5766-turn-server_3.2.4.4-1_amd64.deb

安装完后,在/usr/share/doc/rfc5766-turn-server下有很多文档可参考。

3. 配置:

$ sudo vi /etc/turnserver.conf

---------------------------------------

// 配置IP,EC2下需要配置listening-ip和external-ip

listening-ip=172.31.4.37

external-ip=54.223.149.60

// 当TURN Server用于WebRTC时,必须使用long-term credential mechanism

lt-cred-mech

// 增加一个用户

user=username1:password1

// 设定realm

realm=mycompany.org

---------------------------------------

4. 启动:

sudo turnserver -c /etc/turnserver.conf --daemon

5. 服务启动后,在上一个WebRTC示例中更改iceServers后测试:

"iceServers": [{

"url": "stun:stun.l.google.com:19302"

}, {

"url": "turn:54.223.149.60",

"username": "username1",

"credential": "password1"

}]

更多安装信息在:http://turnserver.open-sys.org/downloads/v3.2.4.4/INSTALL

rfc5766-turn-server当然也有STUN Server的能力,但是需要给它配置2个IP,以帮助探测客户端所在NAT环境的行为,这里没有做。



来自:

http://www.webrtcbbs.com/forum.php?mod=viewthread&tid=387&extra=page%3D1


http://www.tuicool.com/articles/jqQBfuE







0 0