大家好,又见面了,我是你们的朋友全栈君。
操作系统:Ubuntu-Server 20.04
GitHub:https://github.com/coturn/coturn
配置说明:https://github.com/coturn/coturn/wiki/CoturnConfig
STUN协议允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT路由器之后的主机之间创建UDP通信。 TURN的全称为Traversal Using Relay NAT,即通过Relay方式穿越NAT,TURN应用模型通过分配TURNServer的地址和端口作为客户端对外的接受地址和端口,即私网用户发出的报文都要经过TURNServer进行Relay转发,这种方式应用模型除了具有STUN方式的优点外,还解决了STUN应用无法穿透对称NAT(SymmetricNAT)以及类似的Firewall设备的缺陷,即无论企业网/驻地网出口为哪种类型的NAT/FW,都可以实现NAT的穿透。 coturn开源项目同时实现了stun和turn服务的功能,是webrtc应用的必备首选。
一、安装
代码语言:javascript复制sudo apt-get install coturn
二、配置
修改/etc/turnserver.conf文件
代码语言:javascript复制#监听的网卡,第12行
listening-device=eth0
#监听的端口,第18行
listening-port=3478
#绑定的公网地址,第120行
external-ip=114.55.98.33
#UDP端口号最小值,第149行
min-port=49152
#UDP端口号最大值,第150行
max-port=65535
#账号和密码,第245行
user=admin:***
#服务器域名,第339行
realm=www.xiongbinbin.club
#SSL证书,第439行
cert=/etc/nginx/cert/www.xiongbinbin.club.pem
#SSL密钥,第446行
pkey=/etc/nginx/cert/www.xiongbinbin.club.key
#cli密码,第666行
cli-password=***
三、测试
ICE测试网址:https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
首先,输入STUN or TURN URL、username、password,点击Add server添加一个turn服务器。
然后,点击Gather candidates进行测试。
如果返回有srflx即说明stun服务器已经能正常工作了。
如果返回有relay即说明turn服务器已经能正常工作了。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/132558.html原文链接:https://javaforall.cn