openvpn交叉编译流程

我使用的是最新的openvpn-2.3.11
首先下载lzo-2.09,解压后进入目录
./configure CC=$(CC) --host=$(PLATFORM)-linux --enable-shared --disable-static --prefix=$(INSTALLDIR)/lzo/usr
make
make install
openvpn还依赖openssl,需要下载编译,此处省略
然后下载openvpn-2.3.11,解压后进入目录
./configure CC=$(CC) \
--host=$(PLATFORM)-linux \
--disable-plugin-auth-pam \
--enable-lzo \
--enable-ssl \
--disable-ofb-cfb \
--disable-socks \
LZO_CFLAGS="-I$(TOP)/lzo-2.09/include -L$(TOP)/lzo-2.09/src/.libs" \
LZO_LIBS="-llzo2" \
OPENSSL_CRYPTO_CFLAGS="-L$(TOP)/openssl/openssl-1.0.1c" \
OPENSSL_SSL_CFLAGS="-L$(TOP)/openssl/openssl-1.0.1c" \
--prefix=$(INSTALLDIR)/openvpn/usr
make
make install
注意事项:
1. 编译openvpn时候注意要指定lzo和openssl库和头文件的路径
2. openvpn需要使用openssl里面的一些算法,所以编译openssl时要把这些算法模块编译进去
3. openvpn需要使用linux kernel的tun/tap驱动,因此kernel要打开Device Drivers/Network device support/Universal TUN/TAP device driver support
4. 上板测试时,如果client和server连接不上,查看是否是两边的防火墙把报文丢掉,或者是系统时间不在证书的有效期之内

猜你喜欢

转载自openwrt.iteye.com/blog/2306621