centos7安装coturn,实现WebRTC音视频通话

Coturn是一个开源的STUN/TURN服务器,主要用于解决NAT穿透问题,支持WebRTC等实时音视频通信场景。

核心功能

  • STUN服务:帮助设备发现NAT后的公网地址和端口,用于P2P通信。

  • TURN服务:通过中继转发实现NAT穿透,适用于无法直接P2P连接的场景。

一、下载并安装coturn

安装依赖包:

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

下载安装:

yum install coturn

二、生成SSL证书

openssl req -x509 -newkey rsa:1024 -keyout /etc/turn_key.pem -out /etc/turn_cert.pem -days 9999 -nodes

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。

req:生成证书请求

-x509:用x509处理证书,这是一个功能很丰富的证书处理工具

-newkey rsa:位数:生成对应位数的RSA密钥

-keyout:输出的密钥位置

-out:输出的证书位置

-days:密钥持续时间

-nodes:不对输出的密钥进行加密

三、修改配置文件

vim /etc/coturn/turnserver.conf

listening-ip=10.0.8.10 #服务器内网IP地址

listening-port=3478   #STUN/TURN服务的端口 对应UDP和TCP的端口都要打开

tls-listening-port=5349  #TURN服务器的tls端口

relay-ip=10.0.8.10 #服务器内网IP地址

external-ip=119.29.229.139 #服务器公网IP地址

min-port=40000

max-port=65535

lt-cred-mech   # 开启密码验证

user=mhs:gs0vv8c   # 用户名:密码

realm=119.29.229.139 # 必须设置

cert=/etc/turn_cert.pem  #生成的证书地址

pkey=/etc/turn_key.pem  #生成的密钥地址

no-cli   # 关闭CLI支持

四、启动coturn

systemctl start coturn

五、开启端口

如果用第三方的云服务器,需要打开TCP、UDP的3478端口。

并打开UDP的40000-65535端口,范围和配置文件中min_port与max_port一致。

六、测试是否可用

Trickle ICE

七、使用coturn

相关推荐
程序员老陆16 小时前
WHIP 与 WHEP:WebRTC 直播的标准化入口与出口
ffmpeg·音视频·webrtc·whip·whep
平行云9 天前
国产GPU云渲染适配实战:驱动兼容、编码调优与多路并发
unity·ue5·webrtc·webgl·实时云渲染·云桌面·像素流送
隐擎fox10 天前
网络传输安全剖析:WebRTC 本地真实 IP 泄漏机制(STUN/TURN)与 Python 防护检测实战
网络·网络协议·tcp/ip·安全·webrtc
福大大架构师每日一题11 天前
mediamtx v1.21.0 发布:Media-over-QUIC、RTSP、HLS、WebRTC 与安全能力全面升级
安全·webrtc
脏脏a13 天前
Neko 自托管实战:WebRTC 远程浏览器、多用户权限与公网访问
webrtc
cuijiecheng201814 天前
从 6.49 秒到约 1.9 秒:RK3588上的WebRTC 实时流启动速度优化记录
webrtc
SendTomo15 天前
SendTomo 与 send.wang 全景对比评测与实战指南
网络·网络协议·tcp/ip·webrtc·p2p
java_logo15 天前
Docker 部署 SRS:轻松搭建实时音视频流媒体平台
docker·容器·webrtc·实时音视频·rtmp·http-flv·轩辕镜像
wjcroom15 天前
一个可以在线多人玩的五子棋开发与布署方法-WebRTC和WebSocket的测试方法
websocket·网络协议·webrtc
cuijiecheng201819 天前
RK3588 WebRTC 实时流卡顿优化:从视频桥接到 H.264 PTS 回退
音视频·webrtc·h.264