编译安装Coturn

282 阅读3分钟

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/

image.png

测试turn

image.png