coturn穿透服务器搭建与测试——小白入门

目录

前言

安装环境

下载编译coturn

修改配置文件

启动

测试


前言

部署WebRTC 或 SIP p2p 方案时经常会遇到p2p 无法穿透NAT的环境。

可以理解为 非同一个局域网内的两个Ip,相互找不到对方。可以参考下图:TURN Client找不到Peer-A,也找不到Peer-B.

这时就是TunServer 的用武之地了,帮助内网的ip 映射出外网ip, 然后搜索到其他ip, 进而找到对方。

关于这部分,如果还是有疑惑,可以参考这个链接:https://blog.csdn.net/qq_34732729/article/details/107606470

安装环境

我的系统:Linux系统 Ubuntu 64位。

输入命令:  uname -a , 可以查看系统。

下载编译coturn

登录github, 搜索coturn, 可以看到,coturn是目前最活跃,下载最多的。然后复制网址,即可下载。

登录服务器,根目录下,以我的为例:/home/dyx/
git clone https://github.com/coturn/coturn.git    //进行下载。
cd coturn  // 切换到coturn文件中
sudo ./configure –prefix=/usr/local/coturn   // 安装路径perfix, 生成makefile
make
sudo make install 

// 等待安装完成...

......

切换目录: cd /usr/local/coturn   可以看到配置文件:

Bin 下是可执行的服务,做测试可以用

Etc  下是配置文件

Include 头文件

Lib 库文件

Man 手册

Example 例子

Doc 文档

 

修改配置文件

切换到:  /usr/local/coturn/etc/turnserver.conf:

turnserver.conf 是复制另一个模板,重命名,然后在这个文件turnserver.conf 中修改,

下面的四行原本都是注释掉的,去掉前面的 #, 添加参数:
listening-port=3478           // 这个端口号是默认的
external-ip=47.**.**.81  // 此ip为服务器公网ip
user=dyx:***           // 这个是用户名:密码
realm=dyx.***r.com       // 这里填写域名

启动

在下载的dyx/coturn/目录下,执行: ./bin/turnserver -c ./etc/turnserver.conf  // 启动服务。

另外,也可以经turnserver命令,添加到环境变量。 由于我没有添加环境变量,所以执行的时候,需要加目录。

如果权限不够,出现问题,需要改用: sudo  ./bin/turnserver -c ./etc/turnserver.conf  // 启动服务

测试

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

打开这个网址,添加 Server。 如下,需要注意的是:stun:ip:port  , 这里也可以填写:stun:域名:port

点击收集候选者之后,出现下图:  也可以改relay中继。

第一个是我本机虚拟机的ip, 第二个是本机的内网ip. 按照连接耗时进行排序。 

这就stun通了。说明服务器配置ok。

前三个udp, 肯定比tcp快。

猜你喜欢

转载自blog.csdn.net/qq_34732729/article/details/107605895