coturn穿透服务器搭建

穿越NAT和防火墙的服务器
NAT主要负责维护内部ip地址和端口号与外部ip地址和端口号之间的映射表
STUN服务器:用来取外网地址的
TURN服务器:在P2P失败时进行转发的
ICE:即交互式连通建立方式。并非一种新的协议,它通过综合利用现有NAT穿透协议,以一种更有效的方式来组织会话建立过程,使之在不增加任何延迟同时比STUN等单一协议更具有健壮性、灵活性。

github 上开源的穿透服务器有很多 推荐使用coturn

安装前准备

在安装coturn前 需要安装必须的依赖库 我使用的是ubutnu16.04安装coutrn

apt-get install libssl-dev
apt-get install libevent-dev
apt-get install libpq-dev
apt-get install mysql-client
apt-get install libmysqlclient-dev
apt-get install libhiredis-dev

安装coturn

git clone https://github.com/coturn/coturn.git
cd coturn
./configure 
make
make install

安装完成后可以在**/usr/local/bin**目录下出现如下几个文件 说明安装完成

turnadmin
turnserver
turnutils_oauth 
turnutils_peer
turnutils_natdiscovery
turnutils_stunclient
turnutils_uclient

配置coturn

生成证书文件

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

生成MD5密码 (记得保存 后后面或使用到)

turnadmin -k -u test -r test -p test
#0xaeeebbfd75d1499d24388f5b9b10e0ef

创建配置文件

vi /etc/turnuserdb.conf
test:0xaeeebbfd75d1499d24388f5b9b10e0ef

修改配置文件

vi /usr/local/etc/turnserver.conf

relay-device=eth0
listening-ip=172.xx.xx.xx #内网ip 
listening-port=3478
tls-listening-port=5349
relay-ip=172.xx.xx.xx
external-ip=120.xx.xx.xx #外网ip 
relay-threads=50
lt-cred-mech
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
pidfile=”/var/run/turnserver.pid”
min-port=49152
max-port=65535
user=test:0xaeeebbfd75d1499d24388f5b9b10e0ef 
userdb=/etc/turnuserdb.conf

运行coturn

turnserver -o -a -f –user=test :test -r test

浏览器访问 http://外网ip:3478 就可以看见服务已经运行起来了

coturn穿透服务器搭建_第1张图片

如果 服务没有启动起来,配置文件有没有问题的话 那就是端口的开放权限没有给全 3478 需要tcp/udp都开放出来

你可能感兴趣的:(webrtc)