对于嵌入式设备采用2G/GPRS/3G/4G流量上网已经是较为成熟的技术了,但一般来讲,这种设备多数是与带固定IP或域名的服务器进行通讯,然,很多场合,现场提供不了固定IP或域名,将如何实现两设备之间的数据通讯?本文记录如何采用公有云+Open×××的方式进行部署:
1, ×××服务端部署
在公有云(阿里云登)上购置云主机与固定IP,通过ssh登陆设置open***服务器,命令如下:
O×××_DATA="o***-data-aliyun"
docker volume create --name $O×××_DATA
docker run -v $O×××_DATA:/etc/open*** --rm kylemanna/open*** o***_genconfig -u
udp://IP(阿里云IP)
docker run -v $O×××_DATA:/etc/open*** --rm -it kylemanna/open*** o***_initpki
docker run -v $O×××_DATA:/etc/open*** -d -p 1194(端口号):1194/udp --cap-add=NET_ADMIN
kylemanna/open***

注: 过程中需要输 Enter pass phrase, 可自定义,生成 client 认证文件时需要

在 open*** server 端(aliyun)创建用户生成认证文件,不同的 client 使用不同的认证用户,命令如下:
docker run -v $O×××_DATA:/etc/open*** --rm -it kylemanna/open*** easyrsa build-clientfull user1 nopass # 生成 client 认证文件 user1,过程中需要输入 Enter pass phrase

docker run -v $O×××_DATA:/etc/open*** --rm kylemanna/open*** o***_getclient user1 >
user1.o*** #生成 client 对应用户user1 认证文件并下载

至此,×××服务端准备就绪。

2, ×××客户端验证 (Arm)
A. 下载并交叉编译open***客户端
下载路径:
https://swupdate.open***.org/community/releases/open***-2.4.4.tar.gz
B. 将编译好的open***拷贝至arm平台下,添加执行权限,连接至/usr/sbin下
C. 将支持库libcrypto.so.1.0.0/ libssl.so.1.0.0连接到/lib下
采用open***对两台流量卡arm设备进行通讯(公有云)_第1张图片
D. 启动TUN模块,命令如下、
mkdir -p /dev/net
mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun
E. 将open***服务生成的客户端配置user1.o***放入arm平台
F. 启动open***进程,命令如下:
open*** --config user1.o***
G. 查看IP,自动分配IP
采用open***对两台流量卡arm设备进行通讯(公有云)_第2张图片
H. 查看路由信息
采用open***对两台流量卡arm设备进行通讯(公有云)_第3张图片
I. 删除路由信息
采用open***对两台流量卡arm设备进行通讯(公有云)_第4张图片
J. 添加路由信息

K. 同样配置另外一台,测试链路,链路测试成功
采用open***对两台流量卡arm设备进行通讯(公有云)_第5张图片