• 销售138-1082-4283 / 138-1062-7682
  • 投诉电话:139-1165-8145
  • ztic@ztic.cn (销售)
  • 北京市北京经济技术开发区科创十三街29号院一区2号楼13层1301-17
手机版
扫码访问手机版
关注微信
扫码关注官方微信
  • 客服电话
    点击联系客服

    周一至周五 9:00-12:00 13:00-17:00

    客服电话

    销售138-1082-4283

    138-1062-7682

    电子邮件

    ztic@ztic.cn
  • 手机版

    扫描进手机版

    随时随地掌握行业动态

  • 官方微信

    扫描二维码

    关注中泰联创微信公众号

虚拟私网在物联网中数据采集的应用

时间:2021-10-09 作者:中泰联创

通过使用虚拟私网技术使我们的产品EM9118在公网远程采集数据实现高速化!

虚拟私网介绍

虚拟私网使用公用网络架设局域网,它可以使分布于各地的设备通过internet网络连接起来,就像是在一个局域网内一样彼此访问。

企业使用虚拟私网的好处是可以让分散在各地的员工直接通过虚拟私网来访问公司内部局域网,从而实现移动办公,而且由于数据传输都是经过加密的,因此也大大提高了企业信息安全。

个人使用虚拟私网的好处是可以隐藏自己的IP信息,防止泄漏个人隐私。

在物联网应用中,虚拟私网的主要好处是配置好虚拟私网服务器后,可以让局域网内的设备连接虚拟私网虚拟私网服务器,和其他设备以及主控端共同组成一个虚拟局域网,从而方便快捷的实现不同地域之间设备的通讯。目前成熟的物联网云平台基本都无法提供高速采集,因此我们使用了虚拟私网技术,以后云平台可以解决高速数据传输问题了,还是要尽量使用通用物联网技术的。

虚拟私网实现技术主要有L2TP,PPTP,IPSec,SSL/TLS协议四种,其安全级别也顺次增加。

虚拟私网

它使用了OpenSSL加密库中的SSLv3/TLSv1协议函数库,它不基于web,也不与IPSec及其它虚拟私网软件包兼容。它算是一种基于SSL/TLS协议的虚拟私网应用,在主流操作系统中均可以使用。

它支持三种验证方式:预享私匙,第三方证书以及用户名/密码。

预享私匙最简单,但是只能应用于点对点连接。

第三方证书功能最完善,需要维护PKI证书体系。比较复杂。

用户名/密码是虚拟私网2.0后引入的

下面的链接有一些配置介绍:

https://boke.wsfnk.com/archives/698.html

http://www.cnblogs.com/lidabo/p/7027463.html

查看版本:

虚拟私网 --version

日志文件路径可以通过配置文件下面的条目中看到:

log-append /var/log/虚拟私网.log

客户端和服务器端都是一样的方法,如果是相对路径,则可以在/etc/虚拟私网目录下找到

实际配置一个虚拟私网服务器:

本文参考下面两个链接写成

https://yq.aliyun.com/articles/434416

https://www.jianshu.com/p/4bbf946222d5

安装虚拟私网

EPEL 包含一个叫做 ‘epel-release’ 的包,其中包含了用于软件包签名的 gpg 密钥和软件源的信息。安装这个包到您的企业版 Linux 上之后,您将可以通过使用类似于 yum 的工具来安装软件包和它们的依赖。在默认情况下,EPEL 仓库的稳定版本是开启的。除了 epel-release 源,还有一个叫做 ‘epel-testing’ 仓库 包含尚未被视作稳定的软件,请自行斟酌开启的风险:

yum install epel-release -y

yum install open虚拟私网 easy-rsa -y

安装完毕后,使用这个命令可以看到都在哪里安装了什么:

rpm -ql 虚拟私网

fuzhi服务器端配置文件:

cp /usr/share/doc/虚拟私网-2.4.6/sample/sample-config-files/server.conf /etc/虚拟私网/

生成证书:

使用rpm -ql easy-rsa看其安装路径,类似下面:

/usr/share/doc/easy-rsa-3.0.3
/usr/share/doc/easy-rsa-3.0.3/COPYING.md
/usr/share/doc/easy-rsa-3.0.3/ChangeLog
/usr/share/doc/easy-rsa-3.0.3/README.quickstart.md
/usr/share/doc/easy-rsa-3.0.3/vars.example
/usr/share/easy-rsa
/usr/share/easy-rsa/3
/usr/share/easy-rsa/3.0
/usr/share/easy-rsa/3.0.3
/usr/share/easy-rsa/3.0.3/easyrsa
/usr/share/easy-rsa/3.0.3/openssl-1.0.cnf
/usr/share/easy-rsa/3.0.3/x509-types
/usr/share/easy-rsa/3.0.3/x509-types/COMMON
/usr/share/easy-rsa/3.0.3/x509-types/ca
/usr/share/easy-rsa/3.0.3/x509-types/client
/usr/share/easy-rsa/3.0.3/x509-types/san
/usr/share/easy-rsa/3.0.3/x509-types/server
/usr/share/licenses/easy-rsa-3.0.3
/usr/share/licenses/easy-rsa-3.0.3/gpl-2.0.txt

 

3.0.3目录下内容fuzhi到/etc/虚拟私网目录下,该目录名为easy-rsa

接下来的操作均在/etc/虚拟私网/easy-rsa目录下进行

初始化pki目录:

./easyrsa init-pki

建立根证书,不设置密码:

./easyrsa build-ca nopass

出现下面提示的时候写上你自己的名字,我写的是ztic

Common Name (eg: your user, host, or server name) [Easy-RSA CA]:ztic

创建服务器端证书并签名:

./easyrsa gen-req server nopass
./easyrsa sign server server

其中会有个需要输入yes的地方

创建Diffie-Hellman,确保key穿越不安全网络的命令,只有服务器端需要:

./easyrsa gen-dh

可以使用下面的命令查看证书

openssl x509 -in server.crt -text | more

创建客户端证书并签名:

easyrsa3:

./easyrsa gen-req client1 nopass
./easyrsa sign client client1

easyrsa2:

./build-key clientname

一路回车,然后y/n的时候y,就能完成了

将所有证书文件fuzhi到虚拟私网根目录下

至此生成的证书文件下面的文件:

/etc/虚拟私网/easy-rsa/pki/ca.crt
/etc/虚拟私网/easy-rsa/pki/dh.pem
/etc/虚拟私网/easy-rsa/pki/reqs/client1.req
/etc/虚拟私网/easy-rsa/pki/reqs/server.req
/etc/虚拟私网/easy-rsa/pki/issued/client1.crt
/etc/虚拟私网/easy-rsa/pki/issued/server.crt
/etc/虚拟私网/easy-rsa/pki/private/ca.key
/etc/虚拟私网/easy-rsa/pki/private/client1.key
/etc/虚拟私网/easy-rsa/pki/private/server.key

fuzhi文件到虚拟私网相关目录:

cp /etc/虚拟私网/easy-rsa/pki/ca.crt /etc/虚拟私网
cp /etc/虚拟私网/easy-rsa/pki/private/server.key /etc/虚拟私网
cp /etc/虚拟私网/easy-rsa/pki/issued/server.crt /etc/虚拟私网
cp /etc/虚拟私网/easy-rsa/pki/dh.pem /etc/虚拟私网

这样就将上述四个文件放入到了/etc/open虚拟私网目录下

cp /etc/虚拟私网/easy-rsa/pki/ca.crt /etc/虚拟私网/client
cp /etc/虚拟私网/easy-rsa/pki/issued/client1.crt /etc/虚拟私网/client
cp /etc/虚拟私网/easy-rsa/pki/private/client1.key /etc/虚拟私网/client
这样就将上述三个文件fuzhi到了/etc/虚拟私网/client目录,包括:ca.crtqingliu.crtqingliu.key

配置server.conf

vi server.conf

;local a.b.c.d
port 24461
proto tcp
;proto udp
;dev tap
dev tun
;dev-node MyTap
ca ca.crt
cert server.crt
key server.key
dh dh.pem
topology subnet
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
;server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
;server-bridge
;push "route 10.0.0.0 255.255.255.0"
;push "route 192.168.20.0 255.255.255.0"
client-config-dir ccd
;route 192.168.40.128 255.255.255.248
;client-config-dir ccd
;route 10.9.0.0 255.255.255.252
;learn-address ./script
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 114.114.114.114"
;push "dhcp-option DNS 208.67.220.220"
client-to-client
;duplicate-cn

#####

开机启动虚拟私网服务

systemctl -f enable 虚拟私网@server.service

systemctl start 虚拟私网@server

验证服务器端服务是否开启成功

netstat -tlnp

有类似下面内容则成功:

tcp 0 0 0.0.0.0:24461 0.0.0.0:* LISTEN 20121/虚拟私网

此时可以和一个客户端连接。

分配固定IP

ccd目录下添加和客户端名称一致的文件

ifconfig-push 10.8.0.34 10.8.0.33

注意由于子网掩码使用252,因此必须二进制最后两位01和10,在本例中,34给本机,33给服务器

如果修改了conf文件,则需要重启服务:

systemctl restart 虚拟私网@server

也可以修改ipp.txt来分配地址,ccd目录比ipp.txt优先级高

ipp.txt是使用网段来标识设备,因此对应上面的地址是:

client13,10.8.0.32

连接Windows操作系统客户端

1. 安装虚拟私网, 运行虚拟私网-2.2.0-install.exe,默认安装即可。

2. 拷贝配置文件和证书文件到虚拟私网安装目录下,覆盖原有config目录,默认安装目录为:C:Program Files虚拟私网 。主要是ca.crt, *.crt, *.key, *.虚拟私网

3. 以管理员身份运行桌面快捷方式: 虚拟私网 GUI,运行之后桌面右下角的工具栏会出现虚拟私网的小图标(小电脑)

4. 双击图标,虚拟私网将会启动连接服务器,也可右击图标选择[connect]

5. 连接成功后会提示服务器分配给本机的IP 10.8.0.X,图标变为绿色。

6. OK,虚拟私网配置完成。

windows下连接虚拟私网 GUI 连接后就无法访问公网了,使用route print看路由,会发现连接后多出来了一个和虚拟私网 ip相关的0.0.0.0路由,删掉它就可以上网了,但是重新连接虚拟私网后就又会出来那个路由了,这个还没有研究出来如何解决

有的时候连接后没有正确设置路由,导致无法ping通服务器,此时需要手动添加路由:

route add 10.8.0.22 mask 255.255.255.0 10.8.0.21

EM9118下位机配置客户端

北京中泰联创科技有限公司的数据采集卡已经配置好虚拟私网客户端环境。

将服务器端生成的证书xiazaifuzhiEM9118的/etc/虚拟私网目录中,三个文件ca.crt,clientx.crt, clientx.key

windows下使用secureCRT不能使用scp命令,可以用alt-p组合键进入sftp界面,然后可以使用get命令xiazai文件,put命令上传文件。

然后使用web管理界面-》系统设置-》虚拟私网设置,选中启用,保存后重启即可

注意下位机必须得是当前时间才可以

新增加客户端

1.创建名称为client的客户端证书并且签名,主要是crt文件中的“CN=”后面内容

2.将客户端签名后的证书,client.crt, client.key, ca.crtfuzhi到客户端的/etc/虚拟私网文件夹中

3.添加配置文件client.conf(windows尾坠是虚拟私网):

client
dev tun
proto tcp
remote 服务器IP 24460
resolv-retry infinite
nobind
persist-key
persist-tun
ca /etc/虚拟私网/ca.crt
cert /etc/虚拟私网/client.crt
key /etc/虚拟私网/client.key
comp-lzo
script-security 2
log-append /var/log/虚拟私网.log
verb 3

 
虚拟私网|物联网|数据采集|数据采集卡|采集模块
 

微信二维码

扫一扫Get更多资讯

Copyright © 北京中泰联创科技有限公司 版权所有 ICP备案号:京ICP备18049974号-1 京公网安备:11010802021254号