公司内网虚拟机中穿透服务器Coturn的搭建

1. 写在前面

  1. coturn服务器的搭建文章已经非常多,但是对于对linux不熟悉的人来说排查错误的文章不多,此篇文章把我这次搭建过程以及如何排查问题做一个梳理
  2. 我这里是在oracle vm虚拟机中搭建安装的ubuntu,通过H3C路由器映射到外网
  3. 以下介绍我只做了ubuntu版本的安装,其他安装方法未做验证

2. 前期准备

2.1. 安装oracle vm虚拟机(略)

2.2. 在oracle vm虚拟机中安装ubuntu并设置网络为桥接

有空再写

2.3. 配置外网映射

  1. 由于公司是用的H3C防火墙,以下介绍H3C防火墙配置
    • 在NAT配置TCP+UDP 3478-3479端口映射到内网虚拟机中ubuntu电脑的ip地址
    • 在NAT配置TCP+UDP 49152-65535端口映射到内网虚拟机中ubuntu电脑的ip地址
      在这里插入图片描述

3. 安装coturn

3.1. 安装依赖

  1. ubuntu系统
sudo apt‐get install libssl‐dev
sudo apt‐get install libevent‐dev
  1. centos系统
sudo yum install openssl‐devel
sudo yum install libevent‐devel

3.2. 编译安装coturn

git clone https://github.com/coturn/coturn
cd coturn
./configure
make
sudo make install

3.3. 启动coturn服务(命令行方式)

# nohup是重定向命令,输出都将附加到当前目录的 nohup.out 文件中; 命令后加 & ,后台执行起来后按 ctr+c,不会停止
sudo nohup turnserver ‐L 0.0.0.0 ‐a ‐u lqf:123456 ‐v ‐f ‐r nort.gov &

3.4 启动coturn服务(服务方式)

以服务形式启动(具体如何形成的服务,不清楚、不知道,同事之前搞的)

  1. 修改turnserver.conf文件
    我的该文件在目录/etc/turnserver.conf下
  2. 如何设置ssl中的key
    请点击:Nginx/Tomcat/SpringBoot配置自生成SSL证书查询,此处不再介绍
listening-post=3478
tls-listening-port=5349

min-port=49152
max-port=65535

fingerprint
lt-cred-mech
user=lqf:123456
realm=shandong
cli-password=123456
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
  1. 启动服务
# 启动服务
sudo systemctl start coturn.service

# 查看启动是否成功,状态为Active: active (running)代表已启动
sudo systemctl status coturn.service

3.4. 查看是否安装成功

#然后查看相应的端口号3478是否存在进程
sudo lsof ‐i:3478

以下进程为服务方式启动,这种进程数有点多,以命令行启动只有4条,这不重要
在这里插入图片描述

3.5. 测试地址,请分别测试stun和turn

Coturn集成了stun+turn协议。

测试网址:https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice

  1. 在Strun or turn uri中输入“turn:公网ip:端口”或“stun:公网ip:端口”。
    测试stun时不需要设置用户名密码,且iceTransports value设置为all
    测试turn时需要输入用户名密码, 且iceTransports value设置为relay
  2. 什么算通过呢
    • 测试stun模式:出现srflx、并且最后以Done结尾代表成功
    • 测试turn模式:出现relay、并且最后以Done结尾代表成功
      在这里插入图片描述
      在这里插入图片描述

3.6 使用relay模式通话时(不是用上面网址测试),会看到网络带宽增加

# 用下面命令检测
sudo sar -n DEV 1

3.7 查看coturn日志

其实就是查看linux中服务的日志,coturn访问时报错要用到

sudo journalctl -f -u coturn.service

4. 先简单记录一下,后面再更新

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/349935.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot的默认组件扫描

本篇博客主要探究:为什么SpringBoot项目中我们没有配置组件扫描的包,为什么它会默认扫描启动类所在的包? 一、访问与启动类所在同一包下的接口 我们先来看一个简单的接口: 我们可以观察到,HelloController这个类处在…

Linux中LVM实验

LVM实验: 1、分区 -L是大小的意思-n名称的意思 从vg0(卷组)分出来 2、格式化LV逻辑卷 LVM扩容 如果icdir空间不够了, 扩展空间lvextend -L 5G /dev/vg0/lv1 /dev/vg0/lv1(pp,vg,lv) 刷新文件系统xfs_growfs /lvdir VG扩容 …

阿里云快速搭建《幻兽帕鲁》服务器自建指南

如何自建幻兽帕鲁服务器?基于阿里云服务器搭建幻兽帕鲁palworld服务器教程来了,一看就懂系列。本文是利用OOS中幻兽帕鲁扩展程序来一键部署幻兽帕鲁服务器,阿里云百科aliyunbaike.com分享官方基于阿里云服务器快速创建幻兽帕鲁服务器教程&…

【华为云-云驻共创】数据高速公路—数仓集群通信技术详解

【摘要】本文讲解GaussDB(DWS)集群通信技术如何在大规模集群中承载高并发业务,如何实现高性能分布式通信系统。主要讲述客户端、CN、DN三类进程间的通信原理和流程,分为CN通信框架和DN间通信框架。 数据仓库服务GaussDB&#xff0…

伊恩·斯图尔特《改变世界的17个方程》薛定谔方程笔记

想法是等这学期学到薛定谔方程后再把整份完善下。 它告诉我们什么? 这个方程不是把物质作为粒子,而是作为波,并描述这样的波如何传播。 为什么重要? 薛定谔方程是量子力学的基础,它与广义相对论一起构成了当今最有效的…

【CKA认证考试参考题库及万字详解】

目录 【CKA认证考试参考题库及详解】说明题库总结第1题:节点排障1. 分值权重:13%2. 考题内容2.1 设置配置环境2.2 Context2.3 Task 3. 考点解析4. 考点参考链接5. 操作命令和结果5.1 必背操作命令5.2 详细操作步骤和结果 6. 验证命令和结果 第2题&#x…

近期孩子燃放烟花已引发多起火灾 富维图像烟火识别来揭秘

家长们,请注意!最近有报道称,孩子们燃放烟花引发了多起火灾。 相关案例1 1月4日,浙江嘉兴海盐武原街道一小区内一名12岁的男孩在楼下燃放烟花,只见烟花点着后,突然“腾空而起”飞入五楼住户的阳台。所幸扑…

【doghead】2: 数据产生及pacing发送

默认采用fake的数据生产者 FakeDataProducer也可以读取h264文件生成:H264FileDataProducerUSE_FAKE_DATA_PRODUCER G:\CDN\BWE-DEV\Bifrost\worker\src\bifrost\bifrost_send_algorithm\bifrost_pacer.cpp FakeDataProducer 生产制造rtp包 ExperimentDumpData : 可用带宽、发…

Jellyfin影音服务本地部署并结合内网穿透实现公网访问本地资源

文章目录 1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试 3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5. 结语 1. 前言 随着移动智能设备的普及,各种各样的使用需求也被开发出来&…

EchoLink Launchpad在LBank圆满结束,投资额超过1.3亿 USDT,$ECHO即将上线

继ACGN Protocol的成功之后,LBank刚刚结束了其第四期LaunchPad——EchoLink。这个项目在去中心化物理基础设施网络(DePIN)和物联网(IoT)领域标志着重要的进步,利用独特的设备工作证明(PoDW&…

PMP考试中问题的解决方法

PMP考试中的题型越来越倾向于情景题。特别是题干当中描述一个问题,问项目经理如何解决。大家有时候可能摸不着头脑,因此有必要给大家做个总结。 第一种方法:DMAIC 也就是六西格玛项目的模式。 D:Define,也就是首先要…

易点易动设备管理系统的移动应用:在任何时间、任何地点管理设备

随着科技的不断进步,移动应用已经成为了现代商业环境中不可或缺的一部分。企业需要能够随时随地管理和监控设备,以提高效率、降低成本并确保设备的正常运行。易点易动设备管理系统的移动应用为企业提供了便捷的解决方案,使设备管理变得更加灵…

1031 查验身份证 (15)

一个合法的身份证号码由17位地区、日期编号和顺序编号加1位校验码组成。校验码的计算规则如下: 首先对前17位数字加权求和,权重分配为:{7,9,10,5,8,4,2,1&am…

将 Amazon Bedrock 与 Elasticsearch 和 Langchain 结合使用

Amazon Bedrock 是一项完全托管的服务,通过单一 API 提供来自 AI21 Labs、Anthropic、Cohere、Meta、Stability AI 和 Amazon 等领先 AI 公司的高性能基础模型 (FMs) 选择,以及广泛的 构建生成式 AI 应用程序所需的功能,简化开发,…

使用Go语言编写自定义的HTTP代理:探险网络奇幻之旅

你是否曾经想过自己也能编写一个代理服务器,掌握网络冲浪的主动权?现在,有了Go语言,这个梦想不再遥不可及!让我们一起踏上这段探险之旅,用Go语言编写一个自定义的HTTP代理,开启网络奇幻之旅&…

Java面试——基础篇

目录 1、java语言有哪些优点和缺点? 2、JVM 、 JDK 和 JRE的关系 3、为什么说 Java 语言“编译与解释并存”? 4、Java和c的区别 5、基本数据类型 5.1、java的8种基本数据类型: 5.2、基本类型和包装类型的区别: 5.3、包装类型的缓存机…

DataKit迁移MySQL到openGauss

前言 本文将分享DataKit迁移MySQL到openGauss的项目实战,供广大openGauss爱好者参考。 1. 下载操作系统 https://www.openeuler.org/zh/download https://support.huawei.com/enterprise/zh/doc/EDOC1100332931/1a643956 https://support.huawei.com/enterprise…

深度学习(5)---自注意力机制

文章目录 一、输入与输出二、Self-attention2.1 介绍2.2 运作过程2.3 矩阵相乘理解运作过程 三、位置编码四、Truncated Self-attention4.1 概述4.2 和CNN对比4.3 和RNN对比 一、输入与输出 1. 一般情况下在简单模型中我们输入一个向量,输出结果可能是一个数值或者一…

css 中 flex 布局最后一行实现左对齐

问题 flex 布局最后一行没有进行左对齐显示&#xff1a; <div classparent><div classchild></div><div classchild></div><div classchild></div><div classchild></div><div classchild></div><div…

Linux中禅道12.5一键部署安装过程笔记

1. Linux中禅道12.5一键部署安装过程笔记 文章目录 1. Linux中禅道12.5一键部署安装过程笔记1. 安装1.将安装包直接解压到/opt目录下2. Apache和Mysql常用命令3. 访问和登录禅道4. 其他 2. 访问数据库1. 网页登录数据库2. 命令行连接数据库 3. 9.2.stable版本起Linux一键安装包…