1V1音视频对话1--coturn服务安装及配置

第一阶段:安装 coturn(不要用老版本)

本示例使用的是4.5.2

推荐方式:APT 安装官方仓库版本(稳定够用)

bash 复制代码
sudo apt update
sudo apt install coturn -y

安装完成后确认版本:

bash 复制代码
turnserver -V

第二阶段:开放服务器端口(重点)

进入宝塔 → 安全 → 放行端口:

必须放行:

bash 复制代码
3478
3478/udp
49152-65535
49152-65535/udp

也可以命令开启

bash 复制代码
sudo ufw allow 3478
sudo ufw allow 3478/udp
sudo ufw allow 49152:65535/udp
sudo ufw allow 49152:65535/tcp

第三阶段:配置 coturn

编辑配置文件:

bash 复制代码
vi /etc/turnserver.conf

清空原内容,写入下面内容(根据你服务器公网 IP 修改):

bash 复制代码
listening-port=443
#alt-listening-port=443
listening-ip=123.129.219.235

realm=im.com
server-name=im.com

external-ip=123.129.219.235
relay-ip=123.129.219.235


min-port=49152
max-port=65535

fingerprint
lt-cred-mech
user=lanz:QAZ123

no-multicast-peers
no-loopback-peers
no-ipv6


log-file=/var/log/turn.log
simple-log

第四阶段:启动 TURN 服务

bash 复制代码
sudo systemctl enable coturn
sudo systemctl restart coturn
sudo systemctl status coturn

确认状态是:

bash 复制代码
active (running)

第五阶段:验证 TURN 是否真正可用(关键)

方法 1:查看端口监听

bash 复制代码
sudo netstat -nltup | grep turn

你应该看到:

3478 在监听

udp 监听正常

方法 2(最重要):浏览器测试 relay

打开这个页面:

👉 https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

填写

bash 复制代码
turn:123.129.219.235:3478
username: lanz
credential: QAZ123

点击 Gather Candidates

正常结果:

你应该看到:

bash 复制代码
candidate type: relay

如果出现 relay,说明:

✅ TURN 正常

✅ relay 端口开放

✅ external-ip 配置正确

这里非常重要,好多服务器商禁UDP的,比如亿速华东

这里有个小问题,就是/var/log/turn.log日志多半不会生成

1)先创建文件并给权限

coturn 默认可能以 turnserver 用户运行:

bash 复制代码
id turnserver 2>/dev/null || true

创建并授权:

bash 复制代码
touch /var/log/turn.log
chown turnserver:turnserver /var/log/turn.log
chmod 640 /var/log/turn.log
相关推荐
酉鬼女又兒5 天前
零基础入门计算机网络运输层:端到端通信核心作用、端口号分类规则、复用分用工作机制及UDP与TCP协议全方位对比详解
网络·网络协议·tcp/ip·计算机网络·考研·udp·php
七夜zippoe5 天前
DolphinDB WebSocket接入:实时数据流
网络·websocket·网络协议·dolphindb·实时数据流
于先生吖5 天前
从零搭建Java萌宠社交系统:WebSocket实时聊天+动态发布模块实现
java·开发语言·websocket
Zhan8611246 天前
WebSocket心跳与断线重连实战:芬兰赫尔辛基指数行情数据接口接入记录
网络·websocket·网络协议
森G6 天前
65、UDP协议(拓展选学)---------网络编程
网络·c++·qt·网络协议·tcp/ip·udp
colofullove7 天前
实时游玩页与 WebSocket 状态管理实现
websocket·网络协议·状态模式
小短腿的代码世界7 天前
WebSocket协议在Qt中的工业级实现:5层架构设计与万级并发压测验证
qt·websocket·网络协议
葡萄皮sandy7 天前
SSE和WebSocket
网络·websocket·网络协议
hrw_embedded8 天前
国外新能源充电平台调试OCPP调试平台SteVe和Monta其实是互补的-websoket连接部分。
websocket·ocpp·新能源充电平台·steve·monta
JouYY8 天前
如何实现基于 WebSocket Agent 的断线重连与状态恢复
websocket·llm·agent