前言
coturn 是Google的一个开源的STUN/TURN 服务器,用于webRTC穿透和转发。
环境:CentOS7
编译安装
暂时留空
yum 安装
yum install coturn
注意观察版本,yum 安装会解决依赖问题。
配置文件路径
/etc/coturn/turnserver.conf
当安装后找不到配置文件路径使用一下命令查找
rpm -ql coturn #查看coturn安装的文件路径
# 查看进程
配置 Long-Term 用户
sudo turnadmin -a -u you_name -p you_password -r you_realm
coturn 默认使用sqlite 存储数据,使用 turnadmin 命令可以新增和修改用户信息
生成证书
openssl req -x509 -newkey rsa:2048 -keyout /etc/coturn/turn_server_pkey.pem -out /etc/coturn/turn_server_cert.pem -days 99999 -nodes
一些配置
#与前ifconfig查到的网卡名称一致
# relay-device=eth0 设置了会失败
listening-ip=172.19.176.106 #内网IP可以不用设置
# relay-ip=172.19.176.106 #relay-ip 可以不设置,默认会使用你的外网ip地址作为转发包的中继地址
listening-port=3478 #监听端口可以不设置会默认的使用3478,记得要在云服务商那边开启相应端口
tls-listening-port=5349 # 加密的方式的端口, 记得要在云服务商那边开启相应端口
external-ip=156.000.111.222 #注意必须使用你的外网IP地址
relay-threads=50
realm=zxl
lt-cred-mech
fingerprint
min-port=49152
max-port=65535
cert=/etc/turn_server_cert.pem #tls的证书
pkey=/etc/turn_server_pkey.pem #tls的证书
pidfile="/var/run/turnserver.pid"
user=laofan:123456 #用户名密码,创建IceServer时用
userdb=/var/db/turndb #SQLite
turn服务还需要开通端口?
firewall-cmd --permanent --zone=public --add-port=49152-65535/udp
firewall-cmd --permanent --zone=public --add-port=49152-65535/tcp
firewall-cmd --permanent --zone=public --add-port=3478/udp
firewall-cmd --permanent --zone=public --add-port=3478/tcp
firewall-cmd --permanent --zone=public --add-port=5349/udp
firewall-cmd --permanent --zone=public --add-port=5349/tcp
firewall-cmd --reload
启动服务
#turnserver -o -a -f
# sudo turnserver -a -f -v -r zxl #此命令可以看到各个链接的状态
systemctl start coturn
systemctl enable coturn # 开机自启动
查看网络状态
netstat -upnl |grep turn