stun服务器搭建(coTurn)
0. 前言
好久之前写过一篇搭建WebRTC的文章,里面有简单的说到怎么搭建一个stun服务。但那时只是一笔带过。正好,这两天搭建stun服务,这篇博客就再复习一遍,并把搭建过程整理一下。
1. 安装
https://github.com/coturn/coturn 在这里git clone 下来然后编译安装,一切默认即可。编译后,也可以不用安装。在编译目录下bin文件夹下有turnserver turnutils_stunclient turnutils_uclient 这三个等一下会用到的软件。
http://www.stunprotocol.org/ 这个stunserver 也是可以的。
2. 配置turnserver.conf
可以创建 bin/turnserver.conf 文件,增加以下配置信息。
listening-ip=0.0.0.0
listening-port=3478 #relay-ip=0.0.0.0
external-ip=0.0.0.0 min-port=59000
max-port=65000 Verbose
fingerprint no-stdout-log
syslog cert=pem/turn_server_cert.pem
pkey=pem/turn_server_pkey.pem user=demo:demo no-tcp
no-tls
no-tcp-relay
stun-only
#secure-stun
简单说明,listening-ip 监听的IP,这里的IP必须是外网IP,如果服务器有外网IP网卡即可。最近(2018-04)购买的阿里云ECS虚拟主机,由于采用VPC专有网络架构。购买的ECS主机在主机内部是看不到外网网卡的,提工单问了,说是不行了,新的专有网络跟以前的经典网络不一样了。现在的网络是在外面映射到虚拟主机的。这就很尴尬了,到时候如果要实际生产,那应该是要购买独立物理主机了。 好吧,我错了。是可以正常的运行的,是因为阿里云网络安全组的问题,类似与防火墙的东西。之前配了TCP,忘记还有UDP这回事了。道歉!!各位亲,要注意哦。我是在排查问题时,发现,所有的UDP包都处理不了,突然想起的。

cert 和 pkey 这两个是配置如果要进行安全SSL连接用到的证书。TCP是SSL,UDP是DTLS连接。
no-tcp 和 no-tls 表示不要TCP连接了,因为NAT穿透,对TCP支持很弱,一般是使用UDP来进行穿透。
由于产品处于前期,这里只支持stun服务,对于turn的转发功能,暂时不考虑。
3.启动turnserver服务

4.测试stun服务
(1) 使用 turnutils_stunclient 测试

可通过该工具进行查询,里面出现 The response is an error 401 (Unauthorized) 是如果服务器开启secure-stun选项时,那么就会出现401未授权错误。turnutils_stunclient 是不支持帐号密码验证的。
(2) 使用 turnutils_uclient 测试
./turnutils_uclient -S -v -u demo -w demo -i pem/turn_client_cert.pem -k pem/turn_client_pkey.pem xxx.wunaozai.com -y
如果不用帐号密码校验的可以不用 -u -w, 如果不用DTLS安全连接的可以不要-i -k.

(3) 使用 stun-client-0-96.exe 测试


(4)使用 NatTypeTester.exe 测试

使用 https://github.com/webrtc/samples 下 /src/content/peerconnection/trickle-ice/index.html 测试

5.参考资料
https://www.cnblogs.com/idignew/p/7446121.html
https://www.cnblogs.com/idignew/p/7440048.html
https://www.cnblogs.com/kakawater/p/7112925.html
https://www.cnblogs.com/mobilecard/p/6544731.html
https://www.cnblogs.com/lingdhox/p/4209659.html
本文地址: https://www.cnblogs.com/wunaozai/p/9071097.html
stun服务器搭建(coTurn)的更多相关文章
- p2p webrtc服务器搭建系列1: 房间,信令,coturn打洞服务器
中继(relay) 在RTCPeeConnection中,使用ICE框架来保证RTCPeerConnection能实现NAT穿越 ICE,全名叫交互式连接建立(Interactive Connecti ...
- WebRTC 入门教程(二)| WebRTC信令控制与STUN/TURN服务器搭建
WebRTC 入门教程(二)| WebRTC信令控制与STUN/TURN服务器搭建 四月 4, 2019 作者:李超,音视频技术专家.本文首发于 RTC 开发者社区,欢迎在社区留言与作者交流. htt ...
- STUN/TURN服务器搭建
目录 STUN/TURN服务器搭建 编译安装 配置使用 添加用户 启动server 测试 开机启动 参考 STUN/TURN服务器搭建 编译安装 编译安装 OpenSSL: sudo apt-get ...
- (转)WebRTC信令控制与STUN/TURN服务器搭建
转:https://rtcdeveloper.com/t/topic/13742 本文将向大家介绍两个方面的知识: WebRTC信令控制 STUN/TURN服务器的搭建 在前面的文章中已经向大家介绍了 ...
- 配置stun服务器实现穿墙
Turn服务器的配置流程 Webrtc是基于P2P的,在两个客户端建立连接之前需要服务器建立连接,这时两台设备一般都处于一个或者多个NAT中,那么两台设备建立连接就需要穿墙技术. 这时就用到了turn ...
- Git本地服务器搭建及使用详解
Git本地服务器搭建及使用 Git是一款免费.开源的分布式版本控制系统.众所周知的Github便是基于Git的开源代码库以及版本控制系统,由于其远程托管服务仅对开源免费,所以搭建本地Git服务器也是个 ...
- Linux下的SVN服务器搭建
Linux下的SVN服务器搭建 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总 ...
- 版本控制-svn服务器搭建和常用命令(centos 6.3)
Svn是比较优秀的版本控制工具,虽然功能和性能上无法和Git媲美,但由于其容易搭建和使用的特性,所以在各个小公司还是很受欢迎的.使用Git可参考<版本控制-Git服务器搭建和常用命令使用> ...
- 版本控制-Git服务器搭建和常用命令使用
Git是目前世界上最先进的分布式版本控制系统(没有之一).使用Svn的请参考<版本控制-svn服务器搭建和常用命令(centos 6.3)>,下面介绍Git的常用命令 常用命令 简单版 升 ...
随机推荐
- mysql取电话号码的后四位字符
SELECT id, RIGHT (phone,4) from user where id= 'xxxxxx'
- Resources.class.getResourceAsStream 获取配置的方法
转载:https://blog.csdn.net/dwl764457208/article/details/78593005 有空可以看这个: 类加载器与 Class.getResourceAsStr ...
- uml中活动图与流程图的区别
活动图定义: 活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流.活动图在本质上是一种流程图. 它是UML中用于对系统动态活动建模的图形,反映 ...
- Inno Setup入门(五)——添加readme文件
这个实现起来很简单,就是在[files]段中的某个预先作为readme的文件后面添加标志位isreadme: [setup] ;全局设置,本段必须 AppName=Test AppVerName=TE ...
- 转:3d max 2013 安装教程,凭着一种互联网精神提供给广大朋友
看到有人在ps区咨询如何安装3d max教程,当你进行第一步之前,请先断开网络连接第一步:运行安装程序 第二步:接受安装协议,点击下一步会提示输入序列号 第三步:你会看到已经安装完成了的界面 第四部: ...
- Android拦截外拨电话
拦截监听外拨的电话,并进行处理: 向外拨打电话时系统会发出一个有序广播,虽然该广播最终会被拔号器里的广播接收者所接收并实现电话拔打,但我们可以在广播传递给拔号广播接收者之前先得到该广播,然后清除传递给 ...
- IOS中UITableview中封装九宫格
第一步引入SecondNav目录即可 第二步引入头文件 #import "DIYTableView.h" #import "invoiceInfo.h" 实现协 ...
- ext3, ext4 和 reiserfs 文件系统性能对比
: 创建空文件10000个的耗时 创建小文件,每个小文件使用512个blocks,一共创建10000个 创建一个2G文件的耗时 复制2G文件的耗时 删除2G大文件的耗时 删除10000个小文件的耗时 ...
- 向大家介绍15个漂亮的Ubuntu GDM主题
没事向大家介绍几个Ubuntu GDM主题,希望大家喜欢,这些Ubuntu GDM主题是我找了很久的…… "GNOME Display Manager允许用户轻松的设定登录界面主题.网上有大 ...
- 新安装的ubuntu编辑器问题
转自:https://blog.csdn.net/xiangaichou/article/details/20235041 VI部分 1. 上下左右总是出ABCD,还占行,特难用.这种情况出现在ubu ...