交叉编译mentohust实现锐捷认证共享上网

原创 2012年09月18日 09:05:53

RT, 首先感谢https://code.google.com/p/mentohust/大牛们提供的mentohust  我只是编译下......囧

还是那句话,管它协议是GPL 还是 BSD,但是请尊重开源精神,否则 请绕道

------github 镜像https://github.com/liuqun/mentohust  给打不开Google的人,不是我的clone的,也不是我的github账号

----------------------------------------------------------正文开始---------------------------------------------------------------------

先决条件:你有or准备入手一台能够正常运行ddwrt/openwrt/tomato等第三方rom的路由器,如果没,请直接跳到文章结尾处。


如果你有路由器,但是懒的自己编译,那就用我编译好的文件吧

适用于BCM47XX  BCM53XX RT305X等处理器

http://download.csdn.net/download/warriorpaw/4734127


如果遇到锁文件问题

ddwrt、tomato 固件请确定/JFFS目录可写

openwrt固件请

mkdir -p /jffs/tmp

mkdir -p /jffs/etc/mentohust

创建需要的目录

我几个路由器都主要使用ddwrt,就没再单独编一份适用于openwrt的,但已测试创建目录后可用

若不喜欢,请自行编译



1、准备

ubuntu12.04(我喜欢ubuntu,其他的也可以吧)

安装编译需要用到的包

sudo apt-get install build-essential bison flex zlib1g-dev libncurses5-dev subversion quilt intltool ruby fastjar unzip gawk


下载对应你路由器cpu的交叉编译链 下载地址:http://downloads.openwrt.org/backfire/10.03.1/ 

比如HG320路由  BCM5358的CPU MIPSEL构架 2.6内核的  就用brcm47xx/ 里面的Toolchain

如果是BCM5354系的CPU 用的是2.4内核固件,那么需要注意下,因为需要使用brcm-2.4/ 里面的Toolchain

但是这个Toolchain有bug不能用的,官方在SVN里修正源代码了,没编译,想用最新就自己参照文章末尾的链接去编译

不过不想自己编译的话OpenWrt-SDK-brcm-2.4-for-Linux-i686.tar.bz2 直接用这个老的也行


下载libpcap源码 http://www.tcpdump.org/


下载mentohust源码 svn checkout http://mentohust.googlecode.com/svn/trunk/ mentohust


2、配置交叉编译环境

解压下载的Toolchain

然后配置环境变量

export PATH=$PATH:/home/paw/mipsel-gcc-4.3.3/usr/bin/
export CC=mipsel-openwrt-linux-gcc
export CPP=mipsel-openwrt-linux-cpp
export GCC=mipsel-openwrt-linux-gcc
export CXX=mipsel-openwrt-linux-g++
export RANLIB=mipsel-openwrt-linux-uclibc-ranlib
export ac_cv_linux_vers=2.6.24
export LDFLAGS="-static"
export CFLAGS="-Os -s"
这个 别照抄,按照自己解压的位置使用的版本自己改下参数

(2012/10/19补充:GCC 4.6 需要STAGING_DIR环境变量,就是指向toolchain所在目录,按照上面的例子就是export STAGING_DIR=/home/paw/mipsel-gcc-4.3.3/)


3、编译libpcap动态连接库

解压libpcap-1.3.0.tar.gz

cd进去

生成Makefile

./configure --host=mipsel-linux --prefix=/home/paw/work/ --with-pcap=linux

如果这里出错,返回2请检查环境变量

make

这里会编译失败,具体出的什么错,没弄明白,但是我们需要的libpcap.a已经生成

cp走  不管它了




4、编译mentohust

cd进刚SVN生成的目录

这里需要修改一下源代码,因为源代码是为桌面版PC写的,它的配置文件、数据文件等路径都是指向/etc/,但是在ddwrt路由器上这个路径是只读的

修改下面2个文件的4个变量  如下

myconfig.c

static const char *CFG_FILE = "/jffs/etc/mentohust.conf";	/* 配置文件 */
static const char *LOG_FILE = "/jffs/tmp/mentohust.log";	/* 日志文件 */
static const char *LOCK_FILE = "/jffs/tmp/mentohust.pid";	/* 锁文件 */

myfunc.c

static const char *DATAFILE = "/jffs/etc/mentohust/";	/* 默认数据文件(目录) */

保存

自动生成configure

sh autogen.sh 

生成Makefile

./configure --host=mipsel-linux   --disable-encodepass --disable-notify --prefix=/jffs --with-pcap=~/libpcap.a

 --with-pcap=后面就是3生成的libpcap.a 拷贝到的路径

如果这里出错,返回2请检查环境变量 

make

如果顺利,用在你路由器上的二进制文件已经生成

上传到路由器

使用方法参照  http://wiki.ubuntu.org.cn/%E9%94%90%E6%8D%B7%E3%80%81%E8%B5%9B%E5%B0%94%E8%AE%A4%E8%AF%81MentoHUST



如果如上图所示已成功认证

把命令放在路由器开机脚本里面   以后只要打开路由器   想给多少人共用都可以

至于速度,看下图,学校没限速,100M跑满


OVER  enjoy it !


PS:没路由器啊,  那就在电脑上装个UBUNTU吧  用Google code上编译好的大便包吧  然后共享上网  电脑要一直开着哦。。。。



参考链接 : http://bbs.xmlad.com/viewthread.php?tid=521

相关文章推荐

交叉编译mentohust给Openwrt/LEDE

条件:你有or准备入手一台能够正常运行openwrt/LEDE等第三方rom的路由器,以及mentohust源码。 1.准备 类Unix环境必须要有的啦,这里有对大部分类Unix搭建环境的说明。 ...

tp-wr720n刷openwrt+mentohust锐捷上网

现在各大高校基本用的都是锐捷拨号上网,然而有时候我们想多个设备(手机+电脑+平板)同时在线,但锐捷只能同时在一个设备上登陆。这时,我们就想到了路由器,但是普通的路由器又不能直接登陆锐捷,于是就有了这篇...
  • stc_XC
  • stc_XC
  • 2015年12月20日 14:33
  • 2392

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

TCUDUMP 交叉编译及使用

一:下载源码:libpcap-1.1.1.tar.gz  tcpdump-4.1.1.tar.gz 二:编译libpcap 首先生成makefile,按照标准的交叉编译方法进行。 1. roo...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

为树莓派2的openwrt编译mentohust

接上篇 1.首先需要一个虚拟机 我用的是vmware+debian,virtual box当然也行,其他的系统也行 比如ubuntu之类的。2.下载树莓派2的openwrt的sdk http:/...

linux下ntfs硬盘的加载

问题:       # mount –t ntfs /dev/sdb1 /mnt/       mount: unknown filesystem type ‘ntfs’     ...

openwrt新手编译教程

第一部分:搭建编译环境 1、安装Ubuntu(编译需要Linux环境),到其官网下载,版本根据自己所需选择即可。 2、同时按住Ctrl + Alt + T,调出终端,逐条输入下列命令(及时验证是否...

Ubuntu下使用MentoHUST代替锐捷认证上网

前阵子复习OS的时候,摆着课本不看,跑去玩Ubuntu,也算是正式开始接触这款Linux发行版吧。由于学校提供的Linux版的锐捷总是安装失败,于是转向第三方客户端,便无意间发现了MentoHUST。...

vw虚拟机下CentOS6.2用锐捷xrgsu或mentohust 认证上网

今天本来想用锐捷链接连校园网后面在网上看了很多教程好像也没成功,之后就下了个mentohust,终于搞定。 之后想了想发现主要问题是mac地址的修改。然后在修改mac地址后,用锐捷试了,发现也能成功...
  • EPhuizi
  • EPhuizi
  • 2012年06月15日 17:04
  • 3277
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:交叉编译mentohust实现锐捷认证共享上网
举报原因:
原因补充:

(最多只允许输入30个字)