nat穿透服务器_rust服务器搭建

nat穿透服务器_rust服务器搭建前言:部署WebRTC或SIPp2p方案时经常会遇到p2p无法穿透的环境

目录

前言

安装环境

下载编译coturn

修改配置文件

启动

测试


前言

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

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

nat穿透服务器_rust服务器搭建

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

关于这部分,如果还是有疑惑,可以参考这个链接:coturn穿透服务器搭建与测试——小白入门

 

安装环境

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

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

 

下载编译coturn

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

nat穿透服务器_rust服务器搭建

登录服务器,根目录下,以我的为例:/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 

// 等待安装完成...

……

nat穿透服务器_rust服务器搭建

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

nat穿透服务器_rust服务器搭建

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

nat穿透服务器_rust服务器搭建

nat穿透服务器_rust服务器搭建

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

nat穿透服务器_rust服务器搭建

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

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

前三个udp, 肯定比tcp快。

 

 

今天的文章nat穿透服务器_rust服务器搭建分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/75422.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注