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一致。

六、测试是否可用
七、使用coturn

