专栏首页嘘、小点声创建局域网方案!!!!!--交叉编译步骤和使用事项!!

创建局域网方案!!!!!--交叉编译步骤和使用事项!!

依赖

openV**在使用过程中,依赖于系统时间ntpdate,openssl,libpam,lzo,tun。因此要成功安装并能够使用openV**,需要满足这些条件

系统时间编译

下载ntpdate.tar.gz。放入交叉编译环境。在编译目录,根据以往的通用编译过程如下:

mkdir __install
./configure CC=arm-linux-gnueabihf-gcc \
    --prefix=$(pwd)/__install \
    --host=arm-linux-gnueabihf \
    CFLAGS=-I/usr/local/include \
    LDFLAGS=-L/usr/local/lib
make
make install

将编译的文件移动到嵌入式系统中,加入环境变量。执行以下更新时间:

ntpdate ntp.api.bz

输入date命令查看时间。当时区不同时,需要修正时区显示:

从宿主机中找到一个时区文件:/usr/share/zoneinfo/Asia/Shanghai,将该文件复制,放入命名为/etc/localtime,再次更新时间,再次观察date确认。

openssl编译

openssl编译需要特殊的注意。没有使用setarch虽然能够正常得到目标文件,但是在移植完毕后,输入openssl genrsa却会卡住,由此产生对openV**的验证秘钥失败等奇怪问题。

(虽然输入openssl -version是可以得到正确结果的)

编译形式如下:

sudo setarch i386 ./config no-asm shared --prefix= /home/ty/arm/openssl --cross-compile- prefix= arm-linux-

在以上类型的命令得出到Makefile后,删除其中所有的-m32,然后make和make install,然后导入嵌入式系统,测试。

libpam、lzo编译

linux-pam文件的编译,注意解压过程在Linux系统下进行。因为原始的Windows系统区分不区分大小写,所以在解压过程中会认为是相同的文件,进行覆盖或重命名。

而Linux系统是区分大小写形式的。如PAM文件和pam文件,是两个不同的文件,需要注意。

其它交叉编译步骤相同。

lzo编译是容易的,编译即可。

openV**的编译

将编译的软件放入到交叉编译环境下的查找目录,便于openV**能够找到依赖文件的路径,然后按照通用的编译步骤进行编译。

移植过程有一些注意事项。首先是openV**的使用需要openssl,因此openssl也需要安装到嵌入式系统中。但是查找路径的问题,需要注意。

因此需要类似于以下的命令。(注意具体问题的具体修改),作出软链接,测试。 第一个路径为实际的文件路径,第二个是建立的软链接路径。

有时候使用的可能是/lib32下的路径。

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

另外,在使用ifconfig和route的时候,也可能会出现相同的问题。

观察具体的openV**的查找路径,建立软链接,使得openV**能够找到。(不要移动ifconfig软件,可能会死)

tun虚拟网卡

在以上的步骤中,可能出现找不到网卡的问题,所以说需要编译得到tun.ko的网卡驱动模块,然后使用insmod tun.ko命令,加载驱动,

具体怎样编译该驱动,查找内核相关,然后也许make menuconfig之类的吧。。。centos可能跑menuconfig有错,也许yum install -y ncurses-devel可以解决呢

使用lsmod查看加载的驱动,才能够正常使用openV**。

使用openV** --config sss.oV**之类的命令,然后随意测试。

另外要注意openV**的版本。最新版即可。不要用有些老掉牙的2.3.2版本,服务器端用2.4.8,那就编译一个2.4.8的客户端连接,否则旧的软件不支持有些加密方案,也缺失一些功能,

反而会导致一些查不到,解决不了的问题!

最后附上一些交叉编译的参考:

https://www.cnblogs.com/live-program/p/11065004.html 一个编译例子

https://dev.archive.openwrt.org/ticket/9184 openV**找不到ifconfig

还有一个很有价值的新浪博客找不到了,,

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • openV**交叉编译步骤

    openvpn在使用过程中,依赖于系统时间ntpdate,openssl,libpam,lzo,tun。因此要成功安装并能够使用openvpn,需要满足这些条件

    嘘、小点声
  • 创建局域网方案!!!!!--安全的物联网技术方案使用说明与管理

    有时候有需要使用专用网络的需求,让一些资源只能在该专用网络下访问,所以需要使用vpn服务。

    嘘、小点声
  • python3解析库lxml

    lxml是python的一个解析库,支持HTML和XML的解析,支持XPath解析方式,而且解析效率非常高

    嘘、小点声
  • openV**交叉编译步骤

    openvpn在使用过程中,依赖于系统时间ntpdate,openssl,libpam,lzo,tun。因此要成功安装并能够使用openvpn,需要满足这些条件

    嘘、小点声
  • C++ gcc编译过程

    第一步:预处理 将源代码的.c 、.cpp 、.h 等文件包含到一个文件中。在这个过程中会使用一些预处理指令要求编译器使用什么样的方式包含这些文件。预处理结束之...

    老九学堂-小师弟
  • AndroidStudio自带模拟器不能上网问题解决 Mac

    最近因为疫情在家办公,而且Android手机并不在身边,用模拟器比较多,但是最近模拟器一直连不上网很是蛋疼。

    Jingbin
  • Appium + Python App自动化(2)第一个脚本

    用户2149234
  • Android开发-模拟器的使用-02

    我们开发的Android程序是放在移动设备(如:手机,平板电脑等)上面运行的,我们不可能每次编写一个程序都要放到移动设备上面去测试运行。这样是很不方便的。另外,...

    Hongten
  • Python: kafka-python版本差异导致的问题

    我们有个数据处理平台,有两个用 docker 运行的数据处理模块,分别是:data_api, 和 processor_api,故名思义:

    Lin_R
  • 钱塘弄潮 | 苹果和Facebook都在用这种风格设计界面,它叫什么?

    Facebook、Apple、Instagram、Airbnb……这些走在 APP 设计最前面的公司,似乎在最近几个月都选择了同一种方法来改进 UI(用户界面)...

    钱塘数据

扫码关注云+社区

领取腾讯云代金券