softethervpn编译与使用

softethervpn编译与使用

下载源码

  • softethervpn可以到www.softether-download.com这里下载,本次使用的源码的版本是v4.37-9758-beta-2021.08.16,主要目的是编译vpnclient,vpncmd等。

  • 可以到https://ftp.gnu.org/pub/gnu/libiconv/这里下载,本次使用的源码时libiconv-1.15,主要目的是编译出preloadable_libiconv.so,如果程序在ubuntu中,在程序中包括 #include <iconv.h>,使用iconv集就能正常实现字符编码的转换,但如果是在arm板中,简单的包含头文件,iconv函数集是不能运行的,需要我们单独的移植 libiconv 库。

编译过程

softethervpn

  1. 首先在ubuntu环境下保持顶层Makefile不变,编译出x86环境下的需要使用的hamcorebuilder,编译后将文件保存到其他地方,执行make clean清除编译文件

    arno@LAPTOP-59LJTRUM:~/work/openvpn$ file ./hamcorebuilder 
    ./hamcorebuilder: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=3d496481604949f7a3af68429082fa388c4c10b7, not stripped
    
  2. 修改Makefile,将CC修改为需要使用的编译器

    CC=aarch64-poky-linux-gcc --sysroot=/opt/fsl-imx-xwayland/5.4-zeus/sysroots/aarch64-poky-linux
    
  3. 将第一步编译生成的hamcorebuilder再次放到tmp目录下,并注释掉src/bin/BuiltHamcoreFiles/unix/hamcore.se2:依赖项

    # hamcore.se2 Archive File
    #src/bin/BuiltHamcoreFiles/unix/hamcore.se2: tmp/hamcorebuilder $(HAMCORE_FILES)
    src/bin/BuiltHamcoreFiles/unix/hamcore.se2:
    	@mkdir -p src/bin/BuiltHamcoreFiles/unix/
    	tmp/hamcorebuilder src/bin/hamcore/ src/bin/BuiltHamcoreFiles/unix/hamcore.se2
    
  4. 执行make,在bin目录下即生成所需文件

preloadable_libiconv

  1. ./configure --prefix=/home/arno/work/libiconv-1.15/out --host=arm-linux cc=/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc --enable-shared --enable-static
  2. make

运行

将生成的vpnclient直接放到目标机器上运行报错如下

root@imx8mqevk:~/vpn_bin/vpnclient# ./vpnclient
-- Alert: SoftEther VPN Kernel --
String Library Init Failed.
Please check your locale settings and iconv() libraries.

这是因为vpnclient运行过程中需要使用到字符集转换,但是libiconv并不满足具体原因见https://blog.csdn.net/love_life2011/article/details/7086910#comments,所以需要preloadable_libiconv.so,使用方法如下

export LD_PRELOAD=/usr/local/lib/preloadable_libiconv.so

之后即可继续执行vpnclient

root@imx8mqevk:~/vpn_bin/vpnclient# ./vpnclient
SoftEther VPN Client service program
Copyright (c) SoftEther VPN Project. All Rights Reserved.

vpnclient command usage:
 vpnclient start  - Start the SoftEther VPN Client service.
 vpnclient stop   - Stop the SoftEther VPN Client service if the service has been already started.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值