1、环境
[root@xxx scripts]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
2、安装
下载:
wget https://coturn.net/turnserver/v4.5.1.3/turnserver-4.5.1.3.tar.gz
安装:
tar xvzf turnserver-4.5.1.3.tar.gz
cd turnserver-4.5.1.3/
./configure
make
make install
注意:
编译的时候看看是否编译通过,一般如果第一次装会缺少依赖包
yum install openssl-devel
yum install libevent2
yum install libevent-devel
3、创建账号
[root@xxx ~]# turnadmin -a -u test -r myname -p pwd_test
0: log file opened: /var/log/turn_16227_2020-12-02.log
0: SQLite connection was closed.
4、生成本机的签名证书
openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -nodes
5、防火墙端口开启
防火墙:
-A INPUT -p tcp -m multiport --dports 3478,5349 -j ACCEPT
-A INPUT -p udp -m multiport --dports 3478,5349 -j ACCEPT
如果是阿里云,要到安全访问控制里面开通udp,tcp 3478,5349 端口
创建配置文件
cp /usr/local/etc/turnserver.conf.default /usr/local/etc/turnserver.conf
根据自己实际情况,修改主要参数如下-具体参数含义可以参考配置文件自带的说明:
listening-port=3478
tls-listening-port=5349
relay-device=eth0
external-ip=xxx.xxx.xxx.xxx #你服务器的公网ip,我这里是阿里云的公网ip
relay-threads=50
lt-cred-mech
user=test:pwd_test #之前配置的用户名和密码
userdb=/usr/local/var/db/turndb #存储用户名和免密的sqlite文件
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
log-file=/var/log/turnserver.log
pidfile="/var/run/turnserver.pid"
no-cli
cli-password=test
6、启动
turnserver -o -a -f -user=test:pwd_test -r myname
通过
netstat -apn|grep 3478
netstat -apn|grep 5349
可以看到监听端口已经开启
7、测试是否OK
测试是否OK
下载测试程序:
下载地址: http://www.stunprotocol.org/stunserver_win64_1_2_16.zip
解压
执行:
F:\stunserver_win64_1_2_16\release>stunclient.exe your_outer_net_ip 3478
Binding test: success
Local address: 192.168.2.151:57133
Mapped address: xxx.x.xxx.xx:57133
解析成功