目录
前言
部署WebRTC 或 SIP p2p 方案时经常会遇到p2p 无法穿透NAT的环境。
可以理解为 非同一个局域网内的两个Ip,相互找不到对方。可以参考下图:TURN Client找不到Peer-A,也找不到Peer-B.
这时就是TunServer 的用武之地了,帮助内网的ip 映射出外网ip, 然后搜索到其他ip, 进而找到对方。
关于这部分,如果还是有疑惑,可以参考这个链接:coturn穿透服务器搭建与测试——小白入门
安装环境
我的系统: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快。
今天的文章nat穿透服务器_rust服务器搭建分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/75422.html