前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >创建局域网方案!!!!!--交叉编译步骤和使用事项!!

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

作者头像
嘘、小点声
发布2020-02-18 13:50:28
7820
发布2020-02-18 13:50:28
举报
文章被收录于专栏:嘘、小点声嘘、小点声

依赖

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

系统时间编译

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

代码语言:javascript
复制
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

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

代码语言:javascript
复制
ntpdate ntp.api.bz

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

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

openssl编译

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

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

编译形式如下:

代码语言:javascript
复制
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下的路径。

代码语言:javascript
复制
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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-02-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 依赖
  • 系统时间编译
  • openssl编译
  • libpam、lzo编译
  • openV**的编译
  • tun虚拟网卡
相关产品与服务
SSL 证书
腾讯云 SSL 证书(SSL Certificates)为您提供 SSL 证书的申请、管理、部署等服务,为您提供一站式 HTTPS 解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档