编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

NAT穿透服务安装记录(内网nat穿透)

wxchong 2024-10-17 17:06:14 开源技术 17 ℃ 0 评论

最近用到了视频监控功能,需要用到Webrtc的东西,需要一个穿透服务,采用的是开源的coturn,这里记录下安装过程。

官方网站:https://github.com/coturn/coturn

一、源代码编译安装

1、安装依赖

yum install -y openssl-devel libevent-devel git gcc

2、编译安装

git clone https://gitee.com/psvmc/coturn.git
cd coturn/
./configure
make
make install

3、生成安全证书

openssl req -x509 -newkey rsa:2048 -keyout /usr/local/etc/turn_server_pkey.pem -out /usr/local/etc/turn_server_cert.pem -days 99999 -nodes

4、修改配置文件

cp /usr/local/etc/turnserver.conf.default /usr/local/etc/turnserver.conf
vim /usr/local/etc/turnserver.conf
#这里填入的是服务器所在的实际外网地址
external-ip=60.70.80.91
#这里是UDP广播的端口范围
min-port=40000
max-port=60000
#打开这个选项,以支持webrtc的验证功能
fingerprint
#打开这个选项,以支持webrtc的长连接
lt-cred-mech
#对外监听地址,一般设为全0
listening-ip=0.0.0.0
#对外提供服务的端口,可以根据需要修改
listening-port=3478
#stun的登陆账号
user=noka:noka
#用户资源域名,注意:必须设置,官方解释,如果未指定默认域,则域返回到主机域名
#如果不设置该选项会导致访问和服务端在同一网络下出现问题
realm=noka.org
#设置证书
cert=/usr/local/etc/turn_server_cert.pem
pkey=/usr/local/etc/turn_server_pkey.pem
#打开这个选项,以支持ICE
mobility

4、启动服务

turnserver -c /usr/local/etc/turnserver.conf &

5、开放对应端口

这里根据配置,需要开放的端口有3478,40000-60000。

至此这个服务就可以正常使用了,可以通过以下网站进行验证

https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/

在里面的ice servers中填入刚刚建立的服务外网地址,就可以验证了,这个网站在国外,验证不一定会成功,只能做参考,这里不详细说明。

二、Docker方式安装

1、生成安全证书

openssl req -x509 -newkey rsa:2048 -keyout /usr/local/etc/turn_server_pkey.pem -out /usr/local/etc/turn_server_cert.pem -days 99999 -nodes

2、修改配置文件

这里采用的是宿主机加载的配置文件的方法,所以先在宿主机上把配置文件编写好,具体配置与《一》的第4部相同,这里的配置文件可以从官网上下载,在coturn-master/examples/etc/turnserver.conf中,下载以后就可以在这个文件基础进行编辑。

docker pull coturn/coturn
docker run -d --network=host --name=coturn  -v /usr/local/etc:/usr/local/etc coturn/coturn  -c /usr/local/etc/trunserver.conf

这样Docker就安装成功了,其中 -v表示加载宿主机的配置目录,该目包含了“turn_server_cert.pem turnserver.conf turnserver.conf.default turn_server_pkey.pem”文件,-c表示指定配置文件,--network=host表示映射所有端口。

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表