Coturn介绍
coturn is a free open source implementation of TURN and STUN Server. The TURN Server is a VoIP media traffic NAT traversal server and gateway.
安装依赖
## Ubuntu
sudo apt-get install libssl-dev libevent-dev
#CentOS
dnf install openssl-devel libevent-devel
编译安装
git clone https://github.com/coturn/coturn.git
cd coturn
./configure
make -j 8
sudo make install
启动服务
sudo nohup turnserver -L 0.0.0.0 -a -u username:password -v -f -r nort.gov
参数说明
nohup: 这个命令用于在后台运行程序,并且忽略所有的 SIGHUP 信号。这样即使用户退出终端,程序也会继续在后台运行。turnserver: 这是要执行的命令,用于启动 TURN 服务器。-L 0.0.0.0: 这个选项指定 TURN 服务器监听的 IP 地址,0.0.0.0表示监听所有可用的网络接口。-a: 这个选项表示要求客户端进行身份验证。-u username:password: 这个选项指定了用于身份验证的用户名和密码。在这里,username是用户名,password是密码。-v: 这个选项表示要输出详细的日志信息,通常用于调试目的。-f: 这个选项表示以前台方式运行,即不以守护进程的形式运行。-r nort.gov: 这个选项指定了 TURN 服务器的域名。
综合起来,这条命令的含义是启动一个 TURN 服务器,让它监听所有可用的网络接口,要求客户端进行身份验证,使用指定的用户名和密码进行身份验证,输出详细的日志信息,以前台方式运行,并指定了 TURN 服务器的域名为 nort.gov。
查看端口
查看是否监听了3478端口
➜ coturn git:(master) ✗ sudo lsof -i:3478
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
turnserve 16262 root 24u IPv4 99946 0t0 TCP *:3478 (LISTEN)
turnserve 16262 root 25u IPv4 95951 0t0 TCP *:3478 (LISTEN)
turnserve 16262 root 26u IPv4 101163 0t0 TCP *:3478 (LISTEN)
turnserve 16262 root 27u IPv4 94999 0t0 TCP *:3478 (LISTEN)
turnserve 16262 root 44u IPv4 97475 0t0 TCP *:3478 (LISTEN)
turnserve 16262 root 45u IPv4 101165 0t0 TCP *:3478 (LISTEN)
turnserve 16262 root 46u IPv4 101474 0t0 UDP *:3478
turnserve 16262 root 47u IPv4 102403 0t0 TCP *:3478 (LISTEN)
turnserve 16262 root 48u IPv4 95001 0t0 TCP *:3478 (LISTEN)
turnserve 16262 root 49u IPv4 101475 0t0 UDP *:3478
turnserve 16262 root 50u IPv4 101476 0t0 UDP *:3478
turnserve 16262 root 51u IPv4 101477 0t0 UDP *:3478
turnserve 16262 root 52u IPv4 101478 0t0 UDP *:3478
turnserve 16262 root 53u IPv4 101479 0t0 UDP *:3478
turnserve 16262 root 54u IPv4 101480 0t0 UDP *:3478
turnserve 16262 root 55u IPv4 101481 0t0 UDP *:3478
测试stun
测试网址为
https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/