1. coturn 服务器完整的实现了 STUN/TURN/ICE 协议,支持 P2P 穿透防火墙。主要用于 webrtc 等点对点视频音频通话。coturn 支持 tcp, udp, tls, dtls 连接。

  ​​GitHub - coturn/coturn: coturn TURN server project​

git clone https:///coturn/coturn 
cd coturn
./configure
make
sudo make install

2. ERROR: Libevent2 development libraries are not installed properly in required location.

wget https:///libevent/libevent/releases/download/release-2.1.11-stable/libevent-2.1.11-stable.tar.gz
tar -zxvf libevent-2.1.11-stable.tar.gz
cd libevent-2.1.11-stable
./configure
make
make install

3. 查看是否安装成功

which turnserver

4. 生成签名

cd /usr/local/etc/
openssl req -x509 -newkey rsa:2048 -keyout turn_server_pkey.pem -out turn_server_cert.pem -days 99999 -nodes

5. 配置turnserver.conf

cp turnserver.conf.default turnserver.conf
vim turnserver.conf
#ifconfig查到的网卡名称和IP
relay-device=enp0s31f6
listening-ip=10.86.21.71

listening-port=3478
tls-listening-port=5349

#同listening-ip
relay-ip=10.86.21.71

#公网IP
external-ip=116.31.233.190

relay-threads=50
lt-cred-mech

#生成的签名文件路径
cert=/usr/local/etc/turn_server_cert.pem
pkey=/usr/local/etc/turn_server_pkey.pem
pidfile="/var/run/turnserver.pid"
min-port=49152
max-port=65535

Verbose
fingerprint
no-stdout-log
syslog
no-tcp
no-tls
no-tcp-relay
stun-only

#用户名密码,创建IceServer时用
user=lynx:123456

cli-password=qwerty

6. 启动turnserver

turnserver

7. 测试地址:​​Trickle ICE​

注:也可以通过 apt install coturn 直接安装