webrtc学习记录附一【通过centos8搭建一个基础的coturn服务器】

前言

一、安装Centos8图形化界面。

1.1、安装图形桌面的软件包

1.2、设置图形模式为默认模式启动

1.3、重启后,即可登录图形化界面

 2、开始安装coturn服务器

2.1、修改host,以便能正常连接gitlab

2.2、下载,编译,安装coturn

2.2.1、折磨部分,欧皇和大牛可以不看。

2.3、记录内网,外网ip地址。

2.4、关闭防火墙

2.5、修改coturn服务器的配置文件

 2.6、关于openssl证书。

2.7、运行coturn服务器。

2.8、测试ice服务器连通性。


前言

在前面的学习过程中,我们知道一个完整的非本机内的端对端连接中是需要一个sturn/turn服务器的。因为之前一直使用的公司后台搭建的sturn/turn服务器,再加上搭建这个coturn服务器需要linux系统等一些列原因,所以一直没有尝试过自己搭建中穿透服务器(主要还是因为自己懒)。

现在因为之前的失误,导致自己额外购买了一个百度云服务器,发现它可以随便换系统,便想着干脆试着尝试搭建一下coturn服务器。

一、安装Centos8图形化界面。

从来没用过linux系统的我,刚切换系统后简直要疯了。本来想着就这么折腾吧,结果实在受不了了,还是安装一个图形化界面比较舒服。经过一番百度,终于成功搭建出来。

其中,这篇文章对我帮助非常大,虽然我没能成功的安装好vnc远程连接,但是把图形化界面折腾出来了,少走了很多弯路。

Centos8安装图形化界面

1.1、安装图形桌面的软件包

在命令行界面,输入:

yum groupinstall "Server with GUI" -y

会有一个非常漫长的安装过程,当你最终看到下图界面时,则说明安装成功。

1.2、设置图形模式为默认模式启动

然后输入命令:

systemctl set-default graphical

1.3、重启后,即可登录图形化界面

百度云的Centos8重启方式为:通过系统自带的vnc远程链接后,点击右上角的发送Ctrl+Alt+Del即可重启

 

vnc就不挣扎了,尝试了一下午都不好使,永远有个东西无法安装上,将就下用系统自带的就行了。

 2、开始安装coturn服务器

如何安装coturn服务器,我这里基本是参照这篇文章进行的,同时还邀请了一位后端开发同事协助,折腾了1个多小时,终于搞定。

coturn穿透服务器安装方法

2.1、修改host,以便能正常连接gitlab

打开图形化界面,找到/etc/hosts文件,打开,然后通过站点查询网址:

“github.com”A记录/cname检测结果--Dns查询|dns查询--站长工具

,查询到github延迟最低的一个ip地址,填入hosts文件中。

 保存后,终于能够拉下github代码了。...其实我前面费了大把心思安装这个图形化界面,就是因为早上用ubantu系统安装cuturn的时候,第一步github代码都拉不下来,直接原地爆炸。

2.2、下载,编译,安装coturn

分别执行以下代码,每一行都是一句代码,需要前面执行成功后再执行后面。

git clone https://github.com/coturn/coturn 
cd coturn 
./configure 
make 
sudo make install

2.2.1、折磨部分,欧皇和大牛可以不看。

原以为我也能像文章里那样顺利,可现实又立马打了脸,出现什么不识别之类的东西,幸亏做后端的同事来支援了,他一看就说你这是执行了一个c++文件,需要安装对应的编译器。

于是一脸懵逼的执行下面的命令:

yum install gcc

再次执行./configure,嘿,还是不行。

查看报错信息,其实我压根也看不懂,但是意思大概就是缺这缺那的;既然这样,那就装呗!

报错的意思大概是说缺openssl,但是要先执行:

yum search openssl

然后出来一堆信息,找到其中有dev什么的信息那几行,例如这里有个名字叫 openssl-devel,这大概就是你需要安装的真正名称。

我问同事为啥不直接告诉我缺啥,我安装不就得了吗 ?

同事回答,因为不同系统不一样,命名方式都不同,所以只能给一个通用的名称,然后自己通过这个search命令查一遍,找到真正需要安装的名字巴拉巴拉之类的。

反正找到了,就继续装吧,执行:

yum install openssl-devel

等安装完毕后,再次执行./configure,诶嘿,还是不行。

这次又是缺啥呢,好家伙,libevent,再查:

yum search libevent

这一查就懵逼了,有2个含有dev的,libev-libevent-devel和libevent-devel,咋办呢。傻办法,一个个的试吧,同事嘀咕了一句希望别起冲突啥的我没听懂。

先安装libev-libenent-devel试试:

yum install libev-libenent-devel

再次执行./configure,嘿嘿,果然不行,那么就应该是你了,libevent-devel

可是安装libevent-devel的时候却报错了,原来这就是同事所说的冲突。

既然冲突了,那就先卸载旧的吧,卸载命令:

yum remove libev-libenent-devel

卸载成功后再次安装:

yum install libevent-devel

最后再次执行./configure,啊,成功了!没有error,成功!

然后依次执行后续的

./configure 
make 
sudo make install

折磨部分到此完毕。

2.3、记录内网,外网ip地址。

在命令行输入:ifconfig

ifconfig

这里,我的内网地址是:192.168.0.4

外网地址是:106.13.195.28

这个eth0好像是网卡之类的,反正后面设置有用,需要记下来。

2.4、关闭防火墙

在参考的文章中,原作者是使用的阿里云服务器,阿里云服务器是自带安全策略组的,可以在阿里云的控制台中直接设置端口配置。

而这里我使用的是百度云的服务器,控制台里除了更换系统和续费啥都没有,所以只能自己到系统里手动开放端口。

这里我不会弄,于是后端同鞋直接帮我把防火墙关闭了。

命令是:

systemctl status firewalld

然后还按了个啥按键我忘了,大概就是禁用或者关闭之类的意思。

2.5、修改coturn服务器的配置文件

这一步非常重要。

首先找到这个文件,路径为:/usr/local/etc/turnserver.conf

这个带有default的是系统自动生成的,我们复制一份,然后重命名一下为turnserver.conf即可。

打开该文件,会发现里面有很多内容,但大部分都是处于被注释的状态。

其实这就是文档和示例,我们需要修改的内容有以下部分:

listening-ip与relay-ip采用内网ip,external-ip是外网的ip。

relay-device=eth0 
listening-ip=172.17.232.28 内网ip
listening-port=3478
tls-listening-port=5349
relay-ip=172.17.232.28
external-ip=39.105.105.159 外网ip
relay-threads=50
lt-cred-mech
cert=/etc/turn_server_cert.pem
pkey=/etc/turn_server_pkey.pem
pidfile="/var/run/turnserver.pid"
min-port=49152
max-port=65535
user=username:password 这是你自己输入的用户名和密码。

 举个例子,这里需要修改#relay-device=eth1这一行,

前面我们查询到了使用的网卡是eth0,所以我们需要把这一行注释解开,并且修改eth1为eth0

 2.6、关于openssl证书。

细心的同学可能会发现,我并没有按照原文章那样配置openssl,导致cert和pkey的缺失。

那是因为我根据文章执行命令时,一直提示:

req:Use -help for summary

这导致我无法配置成功openssl,不过后面发现,即使不配置也可以连通成功,只是无法使用https地址访问。

2.7、运行coturn服务器。

最后运行coturn服务器,运行命令为:

turnserver -o -a -f --user=用户名:密码 -r Guangdong

但哪有那么顺利!

 大概意思是我没有设置cli密码什么的,我去哪设置啊。

继续回到turnserver.conf文件,找到这样一行:

#no-cli

解开这一行的注释!

再次运行,成功!

2.8、测试ice服务器连通性。

测试地址:

Trickle ICE

 relay地址回来的是我的ip,说明穿透成功!

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值