一、介绍

Turn协议的工作原理主要有三个阶段,也称三大机制。
分配(Allocation),转发(Relay)和信道(Channel)。

Turnserer实践

部分政府、企业客户会部署有防火墙将办公环境与外网隔离开来,而且其防火墙通常会有很严格的ip和port限制,所以点对点传输基本无法进行。此时,Turn协议就是一个很好的选择。Turnserver具有固定的公网ip,固定的端口,只需在防火墙上开通其白名单,就可以搭建通信信道。

二、环境

服务器环境

系统 服务版本
CentOS Linux release 7.6.1810 (Core) turnserver-4.5.0.8

系统最好是7.6以上,掉过坑,当时用7.0一直访问不通

防火墙

关闭SElinux
关闭防火墙
如果不关闭防火墙请前往安全组开放相关端口

三、部署

首先安装相关依赖

yum install -y make gcc cc gcc-c++ wget openssl-devel libevent libevent-devel mysql-devel

安装turnserver

wget https://coturn.net/turnserver/v4.5.0.8/turnserver-4.5.0.8.tar.gztar -zxvf turnserver-4.5.0.8.tar.gzcd turnserver-4.5.0.8/./configuremake && make install


修改配置文件

 cd /usr/local/etc/cp turnserver.conf.default turnserver.confvi turnserver.conf

末尾添加

listening-device=eth0                       # 网卡名称
listening-port=3478                            # turnserver监听UDP/TCP端口
tls-listening-port=5349                    # turnserver监听TLS/DTLS端口
listening-ip=0.0.0.0                           # 内网IP,但是设置内网IP会导致外部连接不到内网IP,设置0.0.0.0即可
relay-ip=10.120.92.4                       # 一定是内网IP,不然relayIP会获取不到
external-ip=X.X.X.X                        # 一定是公网IP
min-port=49152                             # 最小端口
max-port=65535                             # 最大端口
user=user:123456                           # 用户名:密码
realm=X.X.X.X                              #域名或者公网IP
lt-cred-mech

启动

turnserver -a -o -c /usr/local/etc/turnserver.conf

检测

检测网站
注意使用火狐游览器更好点
谷歌游览器会报错:

Note: errors from onicecandidateerror above are not neccessarily fatal. For example an IPv6 DNS lookup may fail but relay candidates can still be gathered via IPv4.
The server turn:X.X.X.X:3478?transport=udp returned an error with code=401:
Note: errors from onicecandidateerror above are not neccessarily fatal. For example an IPv6 DNS lookup may fail but relay candidates can still be gathered via IPv4.
The server stun:X.X.X.X:3478 returned an error with code=701:
STUN allocate request timed out.


注意 一定要有relay并且返回的IP正常 则是正常

Linux 部署turnserver相关推荐

  1. linux运行dock打包的镜像,Linux部署之Docker方式部署项目

    Linux部署之Docker方式部署项目 1. 使用Docker对前端vue项目进行部署 1.1 环境准备 服务器或者虚拟机上先安装好Nginx和相关配置 docker pull nginx 拉去最新 ...

  2. Linux 部署ftp报530 错误解决方案

    Linux 部署ftp报530 错误解决方案 参考文章: (1)Linux 部署ftp报530 错误解决方案 (2)https://www.cnblogs.com/austinspark-jessyl ...

  3. Linux部署Node.js应用

    Linux部署Node.js应用 文章目录 Linux部署Node.js应用 一.背景描述 二.环境准备 三.添加守护进程 四.参考链接 一.背景描述 将基于Node.js开发的应用部署到Linux系 ...

  4. pycharm创建django项目linux部署

    大家好,我是烤鸭: pytho部署web项目比java简单一点,虽然springboot内置了tomcat. 环境: pycharm专业版python3.6 1.安装python python下载: ...

  5. linux部署jenkins,tomcat9

    大家好,我是烤鸭: 今天分享的是    linux部署jenkins,tomcat9 安装环境: linux centos7.2 tomcat 9.1 Jenkins 2.73 JDK 1.8 mav ...

  6. Linux部署Apache ActiveMQ 5.14.1

    Linux部署Apache ActiveMQ 5.14.1 简单记一下,下载地址 http://activemq.apache.org/download.html 一.安装JDK7以上,官方说明:ht ...

  7. 记录第一次使用linux部署springbootweb项目

    记录第一次使用linux部署springbootweb项目 收获感受 经过一下午的安装虚拟机.Linux系统.JDK1.8,项目打包,解决bug,终于项目部署成功!哈哈哈哈哈哈哈哈哈 收获还是不错的, ...

  8. Linux 部署ASP.NET SQLite 应用 的坎坷之旅 附demo及源码

    Linux 部署ASP.NET SQLite 应用 的坎坷之旅.文章底部 附示例代码. 有一台闲置的Linux VPS,尝试着部署一下.NET 程序,结果就踏上了坑之路,不过最后算是完美解决问题,遂记 ...

  9. Linux部署Oracle

    Linux部署Oracle 一. 实验环境 VMware+CentOS 5.8(32位) 二.操作步骤 1. 配置IP地址.修改主机名 [root@localhost ~]# vim /etc/sys ...

  10. linux deploy下载地址,Linux部署 Linux Deploy

    Linux部署 Linux Deploy 大小:10.10M 语言:中文 类型:办公学习 版本:1.0 时间:2020-08-05 12:17:02 介绍 Thisapplicationisopens ...

最新文章

  1. android log4,GitHub - oronno/log4android: Log4Android - Simple Logging Wrapper Library for Android
  2. mysql c where_mysql where条件语句优化笔记
  3. Centos Openldap服务器数据库主备(二)
  4. 不定宽高的div水平、垂直居中问题
  5. 马上着手开发 iOS 应用程序-1.1设置
  6. EasyUI表单验证,自定义插件验证,自定义js插件验证,远程验证,常见手机号,中英文,qq等验证规则验证
  7. 【题意分析】1044 Shopping in Mars (25 分)【滑动窗口】
  8. vue单选框选中_vue中单选框与多选框的实现与美化
  9. linux(十三)之磁盘分区、创建文件系统、挂载
  10. django-验证码
  11. Vue SSR(Vue2 + Koa2 + Webpack4)配置指南
  12. 读【重构】(3)——感悟重构——Decompose Conditional(分解条件式)
  13. 制造业ERP项目设计摘录
  14. RDPWrap1.6.2让windows家庭版Home实现远程桌面
  15. LaTeX 下载和安装
  16. Vue3 非常好用的中文文档以及一份 Vue 3 新文档学习笔记
  17. JAVA安卓植物大战僵尸主题四子棋游戏
  18. java contains 效率_List与Set的contains方法效率问题
  19. 这48条人际关系准则,会真正提升你的社交情商
  20. STM32 使用 SHT2x 温湿度传感器

热门文章

  1. 阿里巴巴编码规范认证之步骤详解
  2. 阿里巴巴数据中台实践(PPT)
  3. 软考初级程序员---题目(三)
  4. lacp协议文档概要
  5. window下使用tail -f查看tomcat日志
  6. 将json数据转换成实体对象 JSON格式转换 JSON实体
  7. 快手视频大量下载无水印软件 怎样从快手下载无水印软件 说说如何在快手批量下载高清不含水印...
  8. 广数系统u盘支持什么格式_数控车床编程导入u盘 数控车床u盘读不出来
  9. 贝叶斯网络:故障诊断方法研究
  10. 拉扎维模拟CMOS集成电路设计python建模工程——利用matplotlib绘制NMOS与PMOS转移特性曲线