叙述Windows 2016 版服务器搭建穿透式服务器
叙述Windows 2016 版服务器搭建穿透式服务器
工具
Cygwin
Cygwin:通过这个工具安装coturn所需要的运行环境
步骤 :
下载地址:http://www.cygwin.com/install.html
这边所需要注意到的 分两个版本 一个 X86 和 X86_64只支持32位的cpu只能使用第一个,但是现在大多数服务器的cpu都是64,所以选择第二个x86_64 这个版本
安装: 1.双击
2.下一步到这里
选择第一个 在线安装
这个是程序存放路径 ,一般默认都是 C:\cygwin64
-
这个路径会用来存放下载的包
- 这个界面 会报错 错误原因是 由于cygwin服务器架设在国外 ,国内的话只能通过镜像来访问
- 阿里云镜像:http://mirrors.aliyun.com/cygwin/ 将这个路径add进去 下一步
- 等待 加载完成
这个界面 就是选择你所需要的环境
将view 调整到full 就可以通过搜索来选择
现在所需要安装的是:
Gcc:
Make:
Opnessl:
Openssl-perl
Livevent2
后三个选择只是安装这些程序所需要的环境
不代表就顺便把这三个程序安装了。
其他的,我没用到 ,但根据每个服务器环境的差异如果后续操作中出现的环境问题,可以点击安装程序安装 。一直到下一步结束就可以
准备 openssl 和libevent、coturn(主角)程序包
Openssl:https://www.openssl.org/
Libevent:https://libevent.org/
Coturn:https://github.com/coturn/coturn 克隆代码或者下载压缩包
- 这边有一个小坑 Libevent2.0 以上版本根据自己的环境进行安装
- 运行的时候一直在报错FiIP_Model的错误 导致卡在这里,
- 选择低版本之后就没出现这种情况
程序和环境都准备好 就可以开始安装
双击cygwin
openssl
先安装openssl
定位到程序文件夹 然后执行 ./config
下图为成功后出现的
执行 make && make install
这个错误,是你在下载文件或者解压时文件受损 解决办法:
1. 查看cpu是否64 cmd->systeminfo
2. 重新下载或者重新解压
3. 可选择降低openssl版本 我选择1.1版本的
这样就是已经成功
libevent
安装 libevent
成功如下图
执行 make && make install
成功如下图
前期环境搭建好 现在开始安装coturn
网上有命令 CC=gcc ./configure
执行 make && make install
两点:
1. /usr/local/share/turnserver/schema.sql. 数据库位置
2. 最后带$三个程序
成功如下图:
生成证书
openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 -node
一路回车
然后在C:\cygwin64\etc 下面会有两个pem文件
coturn
接下来就是配置coturn
在 C:\cygwin\etc 路径下面创建文件turnserver.conf
配置信息如下:
listening-ip=172.17.14.131
listening-port=3478
tls-listening-port=3478
relay-ip=172.17.14.131
external-ip=101.132.150.94
relay-threads=50
fingerprint
#static-auth-secret=test
user=test:turn.2020
cli-password=qwerty
userdb=/etc/turnuserdb.conf
realm=mycompany.org
pidfile=/var/run/turnserver.pid
no-loopback-peers
no-multicast-peers
mobility
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
stale-nonce
Verbose
fingerprint
#long-term验证机制,webrtc 通过 TURN中继使用的验证方式,默认关闭即不需要认证机制。
lt-cred-mech
#默认域Realm
#当在数据库中没有显示的域关系定义时,或没有使用任何db时使用。
#配合long-term认证机制或者TURN REST API使用,需要设置。
realm=realm.me
#TURN REST API 认证标记。
#但无法同时使用lt-cred-mech和use-auth-secret两种方式,保持注释
#use-auth-secret
#REST API 加密所需的'静态' KEY,同保持注释
#static-auth-secret
启动Turnserver
开启 3478 Tcp 和Udp端口
然后就启动服务
turnadmin -a -u you_name -p you_password -r yao
启动:
1.turnserver -a -f -v -r yao
2.打开cygwin 直接输入turnserver
3.turnserver -a --no-tls --no-dtls --no-stun -u user:password -r myrealm -v
补充(401错误)
权限错误
1.用户名和密码错误
2.配置有问题
对比配置信息,查看配置中验证标记的验证机制和Realm信息是否完整正确