Coturn - TURN/STUN 服务器
文章目录
- 一、关于 Coturn
- 1、项目概览
- 2、相关链接资源
- 3、功能特性
- 二、安装配置
- 1、Linux 安装
- 2、Docker 运行
- 三、开发构建
- 1、依赖项
- 2、从源码构建
- 四、平台支持
- 五、性能特点
- 六、架构设计
一、关于 Coturn
1、项目概览
Coturn 是一个免费开源的 TURN 和 STUN 服务器实现,主要用于 VoIP 媒体流量的 NAT 穿透和网关服务。
2、相关链接资源
- GitHub:https://github.com/coturn/coturn
- 官网:https://coturn.github.io/
- Docker Hub:https://hub.docker.com/r/coturn/coturn
- GitHub Container Registry:https://github.com/orgs/coturn/packages/container/package/coturn
- Quay.io:https://quay.io/repository/coturn/coturn
- 问题追踪:https://github.com/coturn/coturn/issues
- Google 讨论组:https://groups.google.com/forum/#!forum/turn-server-project-rfc5766-turn-server
- Docker CI:https://github.com/coturn/coturn/actions/workflows/docker.yml
- Docker Hub pulls:https://hub.docker.com/r/coturn/coturn
3、功能特性
-
协议支持
- STUN:RFC 3489、RFC 5389 等
- TURN:RFC 5766、RFC 6062 等
- ICE:RFC 5245 等
-
传输协议
- 客户端协议:UDP/TCP/TLS/DTLS/SCTP
- 中继协议:UDP/TCP
-
认证机制
- 长期凭证机制
- TURN REST API
- 实验性 OAuth 认证
-
高性能特性
- 基于 libevent2 的高性能网络 IO
- 可配置的多线程模型
- 流量带宽限制和拥塞避免算法
二、安装配置
1、Linux 安装
apt install coturn
turnserver --log-file stdout
2、Docker 运行
docker run -d -p 3478:3478 -p 3478:3478/udp -p 5349:5349 -p 5349:5349/udp -p 49152-65535:49152-65535/udp coturn/coturn
更多 Docker 使用详情参见:Docker Readme
三、开发构建
1、依赖项
必需:
- libevent2
可选:
- OpenSSL(支持 TLS/DTLS)
- libmicrohttpd 和 prometheus-client-c(监控接口)
- MariaDB/MySQL/PostgreSQL/Redis/MongoDB(用户数据库)
2、从源码构建
git clone git@github.com:coturn/coturn.git
cd coturn
./configure
make
四、平台支持
- Linux(Debian/Ubuntu/CentOS 等)
- BSD 系列(FreeBSD/OpenBSD 等)
- Solaris 11
- macOS
- Windows(通过 Cygwin 或原生 MSVC)
五、性能特点
- 单 CPU 可处理数千个 TURN 协议并发呼叫
- 仅使用 STUN 协议时可处理数万并发
- 支持 DNS SRV/ALTERNATE-SERVER/网络负载均衡器等多种扩展方案
六、架构设计
- 用户空间进程,无特殊系统要求
- 抽象网络 API 设计,可移植到专有环境
- 高效内存模型
- 多监听和中继地址配置
伊织 xAI 2025-05-18









