Linux 部署turnserver
一、介绍
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相关推荐
- linux运行dock打包的镜像,Linux部署之Docker方式部署项目
Linux部署之Docker方式部署项目 1. 使用Docker对前端vue项目进行部署 1.1 环境准备 服务器或者虚拟机上先安装好Nginx和相关配置 docker pull nginx 拉去最新 ...
- Linux 部署ftp报530 错误解决方案
Linux 部署ftp报530 错误解决方案 参考文章: (1)Linux 部署ftp报530 错误解决方案 (2)https://www.cnblogs.com/austinspark-jessyl ...
- Linux部署Node.js应用
Linux部署Node.js应用 文章目录 Linux部署Node.js应用 一.背景描述 二.环境准备 三.添加守护进程 四.参考链接 一.背景描述 将基于Node.js开发的应用部署到Linux系 ...
- pycharm创建django项目linux部署
大家好,我是烤鸭: pytho部署web项目比java简单一点,虽然springboot内置了tomcat. 环境: pycharm专业版python3.6 1.安装python python下载: ...
- linux部署jenkins,tomcat9
大家好,我是烤鸭: 今天分享的是 linux部署jenkins,tomcat9 安装环境: linux centos7.2 tomcat 9.1 Jenkins 2.73 JDK 1.8 mav ...
- Linux部署Apache ActiveMQ 5.14.1
Linux部署Apache ActiveMQ 5.14.1 简单记一下,下载地址 http://activemq.apache.org/download.html 一.安装JDK7以上,官方说明:ht ...
- 记录第一次使用linux部署springbootweb项目
记录第一次使用linux部署springbootweb项目 收获感受 经过一下午的安装虚拟机.Linux系统.JDK1.8,项目打包,解决bug,终于项目部署成功!哈哈哈哈哈哈哈哈哈 收获还是不错的, ...
- Linux 部署ASP.NET SQLite 应用 的坎坷之旅 附demo及源码
Linux 部署ASP.NET SQLite 应用 的坎坷之旅.文章底部 附示例代码. 有一台闲置的Linux VPS,尝试着部署一下.NET 程序,结果就踏上了坑之路,不过最后算是完美解决问题,遂记 ...
- Linux部署Oracle
Linux部署Oracle 一. 实验环境 VMware+CentOS 5.8(32位) 二.操作步骤 1. 配置IP地址.修改主机名 [root@localhost ~]# vim /etc/sys ...
- linux deploy下载地址,Linux部署 Linux Deploy
Linux部署 Linux Deploy 大小:10.10M 语言:中文 类型:办公学习 版本:1.0 时间:2020-08-05 12:17:02 介绍 Thisapplicationisopens ...
最新文章
- android log4,GitHub - oronno/log4android: Log4Android - Simple Logging Wrapper Library for Android
- mysql c where_mysql where条件语句优化笔记
- Centos Openldap服务器数据库主备(二)
- 不定宽高的div水平、垂直居中问题
- 马上着手开发 iOS 应用程序-1.1设置
- EasyUI表单验证,自定义插件验证,自定义js插件验证,远程验证,常见手机号,中英文,qq等验证规则验证
- 【题意分析】1044 Shopping in Mars (25 分)【滑动窗口】
- vue单选框选中_vue中单选框与多选框的实现与美化
- linux(十三)之磁盘分区、创建文件系统、挂载
- django-验证码
- Vue SSR(Vue2 + Koa2 + Webpack4)配置指南
- 读【重构】(3)——感悟重构——Decompose Conditional(分解条件式)
- 制造业ERP项目设计摘录
- RDPWrap1.6.2让windows家庭版Home实现远程桌面
- LaTeX 下载和安装
- Vue3 非常好用的中文文档以及一份 Vue 3 新文档学习笔记
- JAVA安卓植物大战僵尸主题四子棋游戏
- java contains 效率_List与Set的contains方法效率问题
- 这48条人际关系准则,会真正提升你的社交情商
- STM32 使用 SHT2x 温湿度传感器