当前位置:首页
> .html
导读:LINUX下设置SoftAP??1、?安装虚拟机,linux系统,如fedora15系统。2、?在linux系统下,首先wifi模块驱动,wifi灯亮但是一直连接不上网,需要安装A...
LINUX下设置SoftAP??
1、?安装虚拟机,linux系统,如fedora15系统。
2、?在linux系统下,首先wifi模块驱动,wifi灯亮但是一直连接不上网,需要安装AR9271的linux版本驱动
下载网址:?http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2.6.tar.bz2
执行su,在root用户下执行以下安装指令:
# tar -jxvf compat-wireless-2.6.tar.bz2
# cd compat-wireless-2010-10-04
# ./scripts/driver-select ath9k_htc
# make
# make install
# reboot
3、?安装无线配置工具iw
执行yum?install iw
使用以下指令
$lsusb 查看是否插上usb设备
$lwconfig 查看无线网络配置器,看是否存在wlan0
$iwlist 查看是否支持AP功能
。
接下来看看是否能够正常上网,将有线网断开,只使用无线网,找到SSID:admin,输入密码:admin,如下图可以正常上baidu.com,说明可以上网。
Wifi模块可以正常工作,接下来设置为soft-AP模式,软ap就是用无线网卡模拟无线路由器。
4、?设置为soft-AP模式
首先要下载安装一个hostapd,?hostapd的功能就是作为AP的认证服务器,负责控制管理stations(通常可以认为带无线网卡的PC)的接入和认证,简单说,hostapd能够使得无线网卡切换为Master和AP模式,AP模式即模拟AP(通常可以认为是路由器)功能,也就是我们说的软AP(Soft AP)。
具体操作方法:通过Hostapd可以将无线网卡切换为AP/Master模式,通过修改配置文件,可以建立一个开放式的(不加密)的,WEP,WPA或WPA2的无线网络。并且通过修改配置文件可以设置无线网卡的各种参数,包括频率,信号,beacon包时间间隔,是否发送beacon包,如果响应探针请求等等。还可以设置mac地址过滤条件等。具体可以参考它的配置文件说明。
具体操作过程:
1、?在http://w1.fi/hostapd/?download中下载hostapd0.7.3
$tar -zxvf?hostapd?0.7.3
$ cd?/hostap0.7.3/hostapd
$ cp defconfig .config
$ vi .config
按i键,配置#CONFIG_DRIVER_NL80211=y,去掉最前面的#,按Esc退出insert模式,输入:wq,保存退出。
在root用户下,make hostapd
会出现以下错误:
参考网页:http://wireless.kernel.org/en/users/Documentation/hostapd?action=show&redirect=RTFM-AP
得知是没有缺少libnl-1.0pre8或更高级版本的网络连接协议的库文件。
libnl是为了方便应用程序使用netlink接口而开发的一个库,这个库为原始netlink消息传递以及不同的netlink family专用接口提供了一个统一的接口。
下面网址下载安装libnl1.1库
http://www.infradead.org/~tgr/libnl/files/libnl-1.1.tar.gz
执行以下指令:
$tar?–zxvf libnl-1.1.tar.gz
$./configure???安装配置文件
$make编译得到libnl库
#make install??在root用户下安装
在make编译那一步出现以下错误:
在编译的时候,../include/netlink-local.h:218: error: ‘ULONG_MAX’ undeclared (first use in this function)的错误。
解决方法就是在/include/netlink-local.h的28行加一个头文件:
#include <limits.h>,没有错误能够编译出./lib/libnl.so和./lib/libnl.so.1
安装libnl1.1完毕后,重新编译hostapd执行make后,还会出现以下错误,说明没有openssl。
openssl 软件包包含c_rehash,?openssl,?libcrypto和?libssl. 它们为别的软件例如OpenSSH 和 web browsers(用于加密的https网页)提供加密支持。下载网址:http://lfs.linuxsir.org/htdocs/blfs/general/openssl.html
参照以上网址进行安装,过程如下:
$tar?–zxvf openssl.0.9.7a.tar.gz
$cd openssl.0.9.7a
#sed 's/^passwd/openssl-passwd/' doc/apps/passwd.pod??doc/apps/openssl.pod
#rm doc/apps/passwd.pod
#./Configure linux-elf??--openssldir=/etc/ssl?--prefix=/usr shared
#make MANDIR=/usr/share/man
#make MANDIR=/usr/share/man install
#rmdir /etc/ssl/lib
执行这一步$./Configure linux-elf??--openssldir=/etc/ssl?--prefix=/usr shared?会出现以下错误:
这是因为Configure命令用的是 -m486 而不是 -march=i486. 要解决这个问题,就使用 linux-ppro,linux-pentium 或 linux-k6 (根据你的计算机架构来决定), 而不是 linux-elf。使用linux-pentium重新编译即可,没有错误。
指令说明:
rm doc/apps/passwd.pod :我们用这个命令是因为 openssl会安装它的passwd(密码)man手册在我们不希望它安装的地方.
make MANDIR=/usr/share/man
make MANDIR=/usr/share/man install
这两个命令安装openssl 的man文件在 /usr/share/man 而不是原来默认的/etc/ssl/man.
rmdir /etc/ssl/lib :这就是一个简单的整理命令.因为openssl 安装时产生了一个/etc/ssl/lib目录,尽管库文件安装在了/usr/lib.把它删掉是我们的系统更加简洁!
安装libnl1.1完毕后,重新编译hostapd执行make后,还会出现以下错误。
解决方法:
为文件srccrypto ls_openssl.c在第30行添加头文件
#include <openssl/evp.h> //openssl里面的头文件
为文件srcdriversdriver_nl80211.c添加头文件
#include <linux/genetlink.h>
执行make clean重新编译hostapd执行make后,没有错误,在hostapd文件夹中,生成hostapd hostapd和hostapd_cli两个可执行文件。
下面修改
/etc/hostapd/hostapd.conf
,这是一个WPA-PSK的配置,
典型hostapd.conf文件
interface=wlan0
driver=nl80211
ssid=mySoftAp
channel=1
hw_mode=g
ignore_broadcast_ssid=0
auth_algs=1
wpa=3
wpa_passphrase=12345678 (8位到63位)
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
发表评论: