嵌入式(arm linux)搭建openvpn客戶端
搭建openvpn客戶端需要 openvpn openssl lzo
一、lzo-2.10
2、配置
./configure --host=arm-hisiv100nptl-linux CC=arm-hisiv100nptl-linux-gcc --prefix=/work/my/code/vpn/openvpn/lzo/install
3、編譯
make
4、安裝
make install
安裝在這個目錄下/work/my/code/vpn/openvpn/lzo/install,後面配置openvpn需要。
二、openssl-1.0.2n
2、配置
./Configure linux-elf no-asm shared --prefix=/work/my/code/vpn/openvpn/openssl/install 修改:Makfile 1、 CC=gcc CC= arm-hisiv100nptl-linux-gcc 2、 AR=arm-hisiv100nptl-linux-ar $(ARFLAGS) r RANLIB= arm-hisiv100nptl-linux-ranlib
這裡要使用動態庫,所以要有shared選項。使用靜態庫,配置openvpn會檢測不過。
3、編譯
make
4、安裝
make install
安裝在/work/my/code/vpn/openvpn/openssl/install目錄,配置openvpn時用
把生成的 libcrypto.so.1.0.0 libssl.so.1.0.0 拷貝到裝置/lib目錄裡。openvpn執行需要這兩個庫。
三、openvpn-2.4.6
2、配置
./configure --host=arm-hisiv100nptl-linux --disable-lz4 --disable-plugins \ CC=arm-hisiv100nptl-linux-gcc \ --prefix=/work/my/code/vpn/openvpn/openvpn_src/install \ OPENSSL_CFLAGS="-I/work/my/code/vpn/openvpn/openssl/install/include" \ OPENSSL_LIBS="-L/work/my/code/vpn/openvpn/openssl/install/lib -lssl -lcrypto" \ LZO_CFLAGS="-I/work/my/code/vpn/openvpn/lzo/install/include" \ LZO_LIBS="-L/work/my/code/vpn/openvpn/lzo/install/lib -llzo2"
3、編譯
make
4、安裝
make install
5、把生成的opevpn執行檔案下載到開發板
建立一個openvpnclient 目錄,裡面新增檔案如下:
[email protected]:/work/nfs/bin/vpn/openvpnclient# ls -l 總用量 2412 -rw-r--r-- 1 hjx hjx 1781 6月 8 13:57 ca.crt -rwxrwxrwx 1 root root 3479 6月 12 13:54 client.ovpn -rw-r--r-- 1 hjx hjx 5591 6月 8 13:57 FFOpenvpnClient.crt -rw------- 1 hjx hjx 1704 6月 8 13:57 FFOpenvpnClient.key -rwxr--r-- 1 hjx hjx 2414251 6月 12 10:15 openvpn
其他的幾個檔案都是上篇文章生成的。
6、配置核心kernel
make menuconfig
選擇生成模組驅動的方式,這樣就不需要重新下載核心映象。
7、載入tun驅動模組
# ./tun.ko
9、啟動openvpn
openvpn --config client.ovpn
# ./openvpn --config client.ovpn
Tue Jun 12 20:32:06 2018 OpenVPN 2.4.6 arm-hisiv100nptl-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [MH/PKTINFO] [AEAD] built on Jun 12 2018
Tue Jun 12 20:32:06 2018 library versions: OpenSSL 1.0.2n 7 Dec 2017, LZO 2.10
Tue Jun 12 20:32:06 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]192.168.9.161:1194
Tue Jun 12 20:32:06 2018 Socket Buffers: R=[87380->87380] S=[16384->16384]
Tue Jun 12 20:32:06 2018 Attempting to establish TCP connection with [AF_INET]192.168.9.161:1194 [nonblock]
Tue Jun 12 20:32:07 2018 TCP connection established with [AF_INET]192.168.9.161:1194
Tue Jun 12 20:32:07 2018 TCP_CLIENT link local: (not bound)
Tue Jun 12 20:32:07 2018 TCP_CLIENT link remote: [AF_INET]192.168.9.161:1194
Tue Jun 12 20:32:07 2018 TLS: Initial packet from [AF_INET]192.168.9.161:1194, sid=1d8d70aa a5ebeee6
Tue Jun 12 20:32:07 2018 VERIFY OK: depth=1, C=CH, ST=FJ, L=XiaMen, O=Four-Faith, OU=Four-Faith-Dvr, CN=Four-Faith CA, name=FFOpenvpnServer, [email protected]
Tue Jun 12 20:32:07 2018 VERIFY KU OK
Tue Jun 12 20:32:07 2018 Validating certificate extended key usage
Tue Jun 12 20:32:07 2018 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
Tue Jun 12 20:32:07 2018 VERIFY EKU OK
Tue Jun 12 20:32:07 2018 VERIFY OK: depth=0, C=CH, ST=FJ, L=XiaMen, O=Four-Faith, OU=Four-Faith-Dvr, CN=FFOpenvpnServer, name=FFOpenvpnServer, emailAddress=1[email protected]
Tue Jun 12 20:32:07 2018 Control Channel: TLSv1.2, cipher TLSv1/SSLv3 DHE-RSA-AES256-GCM-SHA384, 2048 bit RSA
Tue Jun 12 20:32:07 2018 [FFOpenvpnServer] Peer Connection Initiated with [AF_INET]192.168.9.161:1194
Tue Jun 12 20:32:08 2018 SENT CONTROL [FFOpenvpnServer]: 'PUSH_REQUEST' (status=1)
Tue Jun 12 20:32:08 2018 PUSH: Received control message: 'PUSH_REPLY,route 10.8.0.0 255.255.255.0,topology net30,ping 10,ping-restart 120,ifconfig 10.8.0.6 10.8.0.5'
Tue Jun 12 20:32:08 2018 OPTIONS IMPORT: timers and/or timeouts modified
Tue Jun 12 20:32:08 2018 OPTIONS IMPORT: --ifconfig/up options modified
Tue Jun 12 20:32:08 2018 OPTIONS IMPORT: route options modified
Tue Jun 12 20:32:08 2018 Outgoing Data Channel: Cipher 'BF-CBC' initialized with 128 bit key
Tue Jun 12 20:32:08 2018 WARNING: INSECURE cipher with block size less than 128 bit (64 bit). This allows attacks like SWEET32. Mitigate by using a --cipher with a larger block size (e.g. AES-256-CBC).
Tue Jun 12 20:32:08 2018 Outgoing Data Channel: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Jun 12 20:32:08 2018 Incoming Data Channel: Cipher 'BF-CBC' initialized with 128 bit key
Tue Jun 12 20:32:08 2018 WARNING: INSECURE cipher with block size less than 128 bit (64 bit). This allows attacks like SWEET32. Mitigate by using a --cipher with a larger block size (e.g. AES-256-CBC).
Tue Jun 12 20:32:08 2018 Incoming Data Channel: Using 160 bit message hash 'SHA1' for HMAC authentication
Tue Jun 12 20:32:08 2018 WARNING: cipher with small block size in use, reducing reneg-bytes to 64MB to mitigate SWEET32 attacks.
Tue Jun 12 20:32:08 2018 ROUTE_GATEWAY 192.168.9.1/255.255.255.0 IFACE=eth0 HWADDR=c2:4f:b4:b3:97:d7
Tue Jun 12 20:32:08 2018 TUN/TAP device tun0 opened
Tue Jun 12 20:32:08 2018 TUN/TAP TX queue length set to 100
Tue Jun 12 20:32:08 2018 do_ifconfig, tt->did_ifconfig_ipv6_setup=0
Tue Jun 12 20:32:08 2018 /sbin/ifconfig tun0 10.8.0.6 pointopoint 10.8.0.5 mtu 1500
Tue Jun 12 20:32:08 2018 /sbin/route add -net 10.8.0.0 netmask 255.255.255.0 gw 10.8.0.5
Tue Jun 12 20:32:08 2018 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Tue Jun 12 20:32:08 2018 Initialization Sequence Completed
看到tun0 10.8.0.6,說明連線成功,伺服器分配給我們ip地址了。
10、檢視tuno
# ifconfig
eth0 Link encap:Ethernet HWaddr C2:4F:B4:B3:97:D7
inet addr:192.168.9.166 Bcast:192.168.9.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:26035021 errors:0 dropped:4868 overruns:0 frame:0
TX packets:6958380 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:578648897 (551.8 MiB) TX bytes:989138257 (943.3 MiB)
Interrupt:119
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:7162 errors:0 dropped:0 overruns:0 frame:0
TX packets:7162 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:15002931 (14.3 MiB) TX bytes:15002931 (14.3 MiB)
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.6 P-t-P:10.8.0.5 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
#
11、ping 10.8.0.1 伺服器
# ping 10.8.0.1
PING 10.8.0.1 (10.8.0.1): 56 data bytes
64 bytes from 10.8.0.1: seq=0 ttl=64 time=2.750 ms
64 bytes from 10.8.0.1: seq=1 ttl=64 time=2.190 ms
能正常通訊
12、ping 10.8.0.10 window客戶端
# ping 10.8.0.10
PING 10.8.0.10 (10.8.0.10): 56 data bytes
64 bytes from 10.8.0.10: seq=0 ttl=128 time=4.554 ms
64 bytes from 10.8.0.10: seq=1 ttl=128 time=2.231 ms
64 bytes from 10.8.0.10: seq=2 ttl=128 time=3.651 ms
能通訊,說明兩個客戶端之間可以相互通訊了。
到此arm linux客戶端搭建完成。
相關推薦
嵌入式(arm linux)搭建openvpn客戶端
搭建openvpn客戶端需要 openvpn openssl lzo一、lzo-2.102、配置./configure --host=arm-hisiv100nptl-linux CC=arm-hisiv100nptl-linux-gcc --prefix=/work/my/
UDP Linux編程(客戶端&服務器端)
res pes recvfrom types 轉換 reply include 統一 break 服務器端 服務器不用綁定地址,他只需要進行綁定相應的監聽端口即可。 #include <sys/types.h> #include <sys/socke
CAS(四)基於Springboot搭建CAS-client,Springboot搭建CAS客戶端
環境要求 JDK 8+ CAS 5.2 tomcat 8+ 步驟 一、搭建CAS伺服器 --> CAS(一)搭建CAS - server伺服器 二、配置hosts,加入如下配置 127.0.0.1
CAS(三)基於SpringMVC搭建CAS-client,SpringMVC搭建CAS客戶端
環境要求 JDK 8+ CAS 5.2 tomcat 8+ 步驟 一、搭建CAS伺服器 --> CAS(一)搭建CAS - server伺服器 二、配置hosts,加入如下配置 127.0.0.1
PostgreSQL應用(一,環境搭建和客戶端工具安裝)
一,PostgreSQL下載 官方下載地址: https://www.postgresql.org/download/ pgAdmin4客戶端工具下載地址:https://www.pgadmin.org/download/pgadmin-4-windows/ 二,安裝 本次PostgreSQ
Eclipse初次搭建SpringCloud客戶端(二)
一:建立SpringBoot專案 選擇屬性時選擇client 修改DiscSystem4Application類 新增@EnableEurekaClient和@RestController import org.springframework.beans.facto
Linux搭建openvpn服務端
廢話少說,這是我自己編寫的一個搭建openvpn的指令碼,增強了金鑰,遇到啥問題了歡迎留言哈;執行指令碼如下: wget https://raw.githubusercontent.com/PMJ52
linux openvpn 客戶端連線配置
1.yum install openvpn 2.vi /etc/openvpn/a.openvpn client dev tun proto tcp remote 123.84.202
Unity3d搭建HTTP弱聯網的伺服器搭建及客戶端編寫(一)之java伺服器
HTTP弱聯網java伺服器 通過tomcat搭建java伺服器(linux 1、java環境搭建 java環境較容易搭建,在網上很容易找到相關的教程。 2、tomcat環境搭建 開始配置tomcat: 複製解壓後的檔案到 /opt
搭建Git伺服器(Ubuntu虛擬機器)和windows客戶端
一直以來用Git都是用的別人的伺服器, 比如oschina 和github, 今天因為工作需要在自己的ubuntu上搭建了自己Git 伺服器, 以下記錄一些步驟和碰到的問題
Ubuntu 12.04嵌入式交叉編譯環境arm-linux-gcc搭建過程圖解
安裝前的絮叨 首先簡單介紹一下,所謂的搭建交叉編譯環境,即安裝、配置交叉編譯工具鏈。在該環境下編譯出嵌入式Linux系統所需的作業系統、應用程式等,然後再上傳到目標機上。 交叉編譯工具鏈是為了編譯、連結、處理和除錯跨平臺體系結構的程式程式碼。對於交叉開發的工具鏈來說,在檔名稱上加了一個字首,用來區別本地的
CentOS下Git伺服器搭建與客戶端(windows和centos)搭建
一.伺服器端 1.yum安裝Git伺服器 yum install -y git 2.建立一個git使用者,用來執行git服務 useradd git 3.建立客戶端登入證書 注,收集所有需要登入的使用者的公鑰,就是他們自己生成的id_rsa.pub檔案,把所有公鑰複製到/
【Linux學習】Ubuntu下嵌入式交叉編譯環境arm-linux-gcc搭建
(1)首先選擇一個路徑用來存放arm-linux-gcc。我選用的是/home/book,並在下面建立一個資料夾arm-linux-gcc。 (2)利用cp EABI-4.3.3_Emdedsky_20100610.tar.bz2 arm-linux-gcc,將壓縮包EA
騰訊雲Linux伺服器搭建(九) Linux上DB2的客戶端實現資料的備份和恢復
問題:DB2伺服器裝在AIX上,不允許直接利用伺服器做資料的匯出匯入。但是由於專案需要,需要頻繁的對一些表進行資料的備份和恢復。所以只能在一個其他伺服器上安裝DB2客戶端,通過客戶端來實現資料的備份和恢復。 思路:先從IBM官網下載客戶端;然後安裝到一個應用伺服器上(Cen
利用橋接實現OpenVPN客戶端訪問與伺服器(windows)同一網段的其它電腦
背景: openvpn的伺服器和客戶端不在同一網路,均連線各自的路由器接入internet。 openvpn版本:2.1.4(OpenVPN 2.1.4 i686-pc-mingw32 [SSL] [LZO2] [PKCS11] built on Nov 8 2010
Ubuntu 14.04 LTS嵌入式交叉編譯環境arm-linux-gcc搭建過程圖解
1、將壓縮包arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2存放在一個目錄下,這個目錄就是你等會解壓縮的目錄,以後這個目錄就不能隨便刪掉了,我的存放路徑是/home/g
Elasticsearch全文檢索企業開發記錄總結(二):ES客戶端搭建
專案依賴 <dependency> <groupId>org.elasticsearch.client</groupId> <artifactId>transport<
C++傳智筆記(6):socket客戶端發送報文接受報文的api接口
內存泄露 rcp 分配內存 strcpy light cpp tac 第三方 _file__ #define _CRT_SECURE_NO_WARNINGS #include "stdio.h" #include "stdlib.h" #include "string.
Linux下L2TP VPN客戶端的配置
linux下xl2tpd客戶端配置系統環境centos6.81,安裝xl2tpd和pppyum -y install xl2tpd ppp2,配置xl2tpd編輯配置文件xl2tpd.confvim /etc/xl2tpd/xl2tpd.conf[lac testvpn] ;testvpn為lac的名稱n
linux編譯安裝mssql客戶端和配置php連接mssql
linux 客戶端 凡是連接數據庫,必須安裝客戶端,我一般寫博客都不寫原理,但是後來發現回頭看自己寫的自己都看不懂,所以這章博客會多一點原理性的東西。數據庫的連接一般都是在客戶端上完成的,MySQL也不例外,安裝mysql時一般都會這麽安裝:#yum install mysql mysql-serve