WINDOWS 访问外部局域网设备

 因设备是一个采用4G无线通信方式,4G拨号后是移动分配给设备的一个变动的局域网IP。若想远程连接设备对设备进行配置、升级,则设备作为服务端,远程服务器的配置工具软件作为客户端,则连接不上设备,因为不是固定IP。这里采用的方案是 设备4G拨号成功后,通过openvvpn 拨号连接远程服务器,拨号成功后建立一个p-t-p的通信隧道。服务器就以这个p-t-p的IP连接设备.

一、openVvpn 移植

1.1编译lzo-2.10 用于数据压缩
 

tar zxvf lzo-2.10.tar.gz
# cd /usr/src/lzo-2.10/
# ./configure --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc  --enable-shared --prefix=$PWD/install
# make -j4 && make install


1.2 编译openssl-1.0.2n.tar.gz

#tar -zxvf openssl-1.0.2n.tar.gz
#cd openssl-1.0.2n
#./Configure linux-elf no-asm  shared --prefix=$PWD/install
#vim Makefile
搜索CC AR RANLIB
CC= arm-linux-gnueabihf-gcc
AR= arm-linux-gnueabihf-ar $(ARFLAGS) r
RANLIB= arm-linux-gnueabihf-ranlib

#make -j4
#make install


1.3 编译OpenVVPN
https://openvpn.net/ 下载 github上面也有
#tar xvfz openvpn-2.4.6.tar.gz 
新建一个脚本配置文件 myconfigure.sh 内容如下:

./configure --host=arm-linux-gnueabihf --disable-lz4  --disable-plugins 				\
CC=arm-linux-gnueabihf-gcc 																\
--prefix=$PWD/install 																	\
OPENSSL_CFLAGS="-I/home/jdtf/Xilinx/openvpn/openssl-1.0.2n/install/include" 			\
OPENSSL_LIBS="-L/home/jdtf/Xilinx/openvpn/openssl-1.0.2n/install/lib -lssl -lcrypto" 	\
LZO_CFLAGS="-I/home/jdtf/Xilinx/openvpn/lzo-2.10/install/include" 						\
LZO_LIBS="-L/home/jdtf/Xilinx/openvpn/lzo-2.10/install/lib -llzo2"

#chmod 777 myconfigure.sh
#./myconfigure.sh
#make -j4
#make install

将生成的bin sbin lib 拷贝至 设备的文件系统里面

若设备内核不支持tun模块需要重新编译下内核文件 
tun: Universal TUN/TAP device driver, 1.6
#make menuconfig
Device Drivers --->
    Network device support --->
    <M>    Universal TUN/TAP driver support 

然后 在/dev/net/tun 网络节点出现
 

二、windows 安装 openVVpn
2.1 安装 openVvpn
https://openvpn.net/index.php/open-source/downloads.html 下载 openvpn-install-2.4.6-I602.exe

注意安装时候要选中 EasyRSA 2 Certificate Management Scripts
同意安装 TAP-Windows Provider V9 网络适配器

2.2 生成证书
打开cmd ,进入安装目录 easy-rsa 文件夹

-> init-config
-> vars
-> clean-all

# 生成CA根证书密钥对。
-> build-ca

#创建服务器端证书和私钥
-> build-key-server server

# 创建客户端证书和私钥
-> build-key client

# 为O服务器端创建迪菲·赫尔曼交换密钥 默认2048大小 用以对数据进行加密
-> build-dh

若创建客户端证书出现  failed to update database TXT_DB error number 2 错误 ,原因是创建了两个common name一样的证书,可参考创建CA证书报错-failed to update database TXT_DB error number 2 - 起名字什么的太麻烦了的个人空间 - OSCHINA - 中文开源技术交流社区 

2.3 服务器拷贝证书文件
将 ca.crt ca.key  dh2048.pem server.crt server.key 拷贝至config目录下 ,并且在config目录下创建配置文件server.ovpn, 可以从sample-config 拷贝进行更改

port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
server 192.168.0.0 255.255.0.0
keepalive 10 120
cipher AES-256-CBC
persist-key
persist-tun
status openvpn-status.log
verb 3
explicit-exit-notify 1

2.4 设备拷贝证书文件
建立 /etc/openvpn 文件夹 ,将ca.crt client.crt client.key  拷贝至该目录 并且建立client.ovpn文件,可以从sample-config 拷贝进行更改

client
dev tun
proto udp
remote 192.168.3.122 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
;tls-auth ta.key 1
;comp-lzo
verb 3

2.5 启动VVPN

openvpn --cd /etc/openvpn/ --config /etc/openvpn/client.ovpn

#ifconfig 可以看到新的网卡 tun

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值