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

2024-01-26 06:20

本文主要是介绍公司内网虚拟机中穿透服务器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=5349min-port=49152
max-port=65535fingerprint
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. 先简单记录一下,后面再更新

这篇关于公司内网虚拟机中穿透服务器Coturn的搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/645893

相关文章

虚拟机与物理机的文件共享方式

《虚拟机与物理机的文件共享方式》文章介绍了如何在KaliLinux虚拟机中实现物理机文件夹的直接挂载,以便在虚拟机中方便地读取和使用物理机上的文件,通过设置和配置,可以实现临时挂载和永久挂载,并提供... 目录虚拟机与物理机的文件共享1 虚拟机设置2 验证Kali下分享文件夹功能是否启用3 创建挂载目录4

Window Server创建2台服务器的故障转移群集的图文教程

《WindowServer创建2台服务器的故障转移群集的图文教程》本文主要介绍了在WindowsServer系统上创建一个包含两台成员服务器的故障转移群集,文中通过图文示例介绍的非常详细,对大家的... 目录一、 准备条件二、在ServerB安装故障转移群集三、在ServerC安装故障转移群集,操作与Ser

NFS实现多服务器文件的共享的方法步骤

《NFS实现多服务器文件的共享的方法步骤》NFS允许网络中的计算机之间共享资源,客户端可以透明地读写远端NFS服务器上的文件,本文就来介绍一下NFS实现多服务器文件的共享的方法步骤,感兴趣的可以了解一... 目录一、简介二、部署1、准备1、服务端和客户端:安装nfs-utils2、服务端:创建共享目录3、服

Python项目打包部署到服务器的实现

《Python项目打包部署到服务器的实现》本文主要介绍了PyCharm和Ubuntu服务器部署Python项目,包括打包、上传、安装和设置自启动服务的步骤,具有一定的参考价值,感兴趣的可以了解一下... 目录一、准备工作二、项目打包三、部署到服务器四、设置服务自启动一、准备工作开发环境:本文以PyChar

Apache Tomcat服务器版本号隐藏的几种方法

《ApacheTomcat服务器版本号隐藏的几种方法》本文主要介绍了ApacheTomcat服务器版本号隐藏的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1. 隐藏HTTP响应头中的Server信息编辑 server.XML 文件2. 修China编程改错误

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

如何在一台服务器上使用docker运行kafka集群

《如何在一台服务器上使用docker运行kafka集群》文章详细介绍了如何在一台服务器上使用Docker运行Kafka集群,包括拉取镜像、创建网络、启动Kafka容器、检查运行状态、编写启动和关闭脚本... 目录1.拉取镜像2.创建集群之间通信的网络3.将zookeeper加入到网络中4.启动kafka集群

Python如何实现 HTTP echo 服务器

《Python如何实现HTTPecho服务器》本文介绍了如何使用Python实现一个简单的HTTPecho服务器,该服务器支持GET和POST请求,并返回JSON格式的响应,GET请求返回请求路... 一个用来做测试的简单的 HTTP echo 服务器。from http.server import HT

如何安装 Ubuntu 24.04 LTS 桌面版或服务器? Ubuntu安装指南

《如何安装Ubuntu24.04LTS桌面版或服务器?Ubuntu安装指南》对于我们程序员来说,有一个好用的操作系统、好的编程环境也是很重要,如何安装Ubuntu24.04LTS桌面... Ubuntu 24.04 LTS,代号 Noble NumBAT,于 2024 年 4 月 25 日正式发布,引入了众