Linux下用hostapd架无线AP

Published by 荒野无灯 on 2011-10-08 00:56:02 under 服务器/MySQL Tags: 路由,无线AP,hostapd 34452 views

本文将介绍在linux下面用笔记本无线网卡架设无线AP。

在win7下面用“承载网络”让爪机上wifi真是爽YY啊。
其实linux下面也是可以的,不过得看运气了。正如windows7下面要求你的无线网卡驱动必须支持“承载网“一样。

首先,查看网卡芯片信息:
对于pci网卡:


1

lspci

我的是:


1

03:00.0 Network controller: Intel Corporation PRO/Wireless 5100 AGN [Shiloh] Network Connection

对于USB网卡:


1

lsusb

然后用ifconfig -a 看下你有哪几块网卡。

ethtool这个工具可用来查看网卡的详细信息:


1
2
3
4
5
6
7
8
9

[admin@huangye ~]$ ethtool -i wlan0
driver: iwlagn
version: 3.0-ARCH
firmware-version: 8.83.5.1 build 33692
bus-info: 0000:03:00.0
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no

可以看到我的网卡目前用的驱动是iwlagn,此驱动是由intel开发的。
debian wiki 有关于此驱动的描述:http://wiki.debian.org/iwlagn
下面一步才是关键:
这一步用于确定你的无线网卡是否支持”master mode”,也就是AP模式,如果不支持的话,下面的你不用看了,基本没戏了。。。

我们先用这个来测试:


1
2
3
4

[admin@huangye ~]$ sudo iwconfig wlan0 mode master
Password:
Error for wireless request "Set Mode" (8B06) :
    SET failed on device wlan0 ; Invalid argument.

可以看到这里操作失败了。
还有机会。。。有些新的网卡用的是mac80211 framework,对于这些网卡的话,用iwconfig来测试它是否支持master模式是行不通的。
因为他们是使用新的 nl80211接口在用户空间通信的.
如果你没有iw这个新的无线网卡配置工具的话,你得先安装一个。
运行


1

$ iw list

如果”Supported interface modes”中有AP的话,那么恭喜,你的网卡支持用hostapd来架设软AP.


1
2
3
4

    Supported interface modes:
         * IBSS
         * managed
         * monitor

可以看到我的杯具了,不支持。。。
还不死心的话,这里有一个列表,列出各种网卡的信息,可以看到 iwlagn的驱动不支持master模式的。。。杯具啊
Comparison of open-source wireless drivers
Intel 无线网卡驱动官方网站:http://intellinuxwireless.org/


Driver capabilities

Also see linuxwireless.org

Driver 802.11 Bus interface WEP WPA WPA2 Monitor mode Master mode Ad-Hoc mode
acx1xx 802.11b, 802.11g PCI, Mini PCI, PC card, USB Yes No No Yes Yes ?
adm8211 ? PCI ? ? ? ? No ?
ath5k 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card, AHB Yes Yes Yes Yes Yes (since 2.6.31) Yes
ath9k 802.11a, 802.11b, 802.11g, 802.11n PCI, Mini PCI, AHB, PCI Express Mini Card Yes Yes Yes Yes Yes Yes
b43 802.11b, 802.11g PCI, Mini PCI, SDIO ? Yes Yes Yes Yes Yes Yes
bcm43xx 802.11b, 802.11g PCI, Mini PCI, PC card, Cardbus Yes Yes Yes Yes No ?
brcmsmac 802.11b, 802.11g ? Yes ? Yes Yes No No
hostap 802.11b PCI, Mini PCI, PC card Yes Yes[17] Yes[17] Yes Yes Yes
ipw2100 802.11b Mini PCI Yes Yes ? Yes ? ?
ipw2200 802.11a, 802.11b, 802.11g Mini PCI Yes Yes Yes Yes No Yes
ipw2200-ap 802.11b, 802.11g Mini PCI ? ? ? Yes Yes ?
ipw3945 802.11a, 802.11b, 802.11g Mini PCI, PCI Express Mini Card Yes Yes Yes Yes No Yes
islsm ? PCI, USB No No No ? No ?
iwlwifi 802.11a, 802.11b, 802.11g Mini PCI, PCI Express Mini Card Yes Yes Yes Yes No Yes
iwlagn 802.11a, 802.11g, 802.11n Mini PCI, PCI Express Mini Card Yes Yes Yes Yes No Yes
libertas 802.11b, 802.11g USB, CF, SDIO ? ? ? ? No ?
MadWifi 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card Yes Yes Yes Yes Yes Yes some issues in HAL, outdoor sensitivity?[citation needed]
orinoco 802.11b Mini PCI, PC card Yes Yes[18] No Yes No Yes
p54 802.11b, 802.11g Mini PCI, Cardbus, USB Yes Yes Yes Yes Yes Yes
prism54 802.11b, 802.11g PCI Yes No ? Yes Yes ?
rndis_wlan 802.11b, 802.11g USB Yes Yes Yes No No Yes
rt2x00 802.11b, 802.11g PCI, Mini PCI, USB Yes Yes[19] Yes[20] Yes Yes[21] Yes
rtl8180 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card ? ? ? ? Yes ?
rtl-wifi 802.11a, 802.11b, 802.11g PCI, Mini PCI, PC card Yes Yes ? ? Yes ?
zd1201 802.11b USB Yes No[22] No[22] Yes Yes ?
zd1211 802.11a, 802.11b, 802.11g USB Yes Yes Yes Yes Yes ?
zd1211rw 802.11b, 802.11g USB Yes Yes Yes Yes Yes[23] Yes




我的网卡是没戏了,下面的部分给需要的人看吧。。。
看了roylez的文章,他推荐一款支持master模式的网卡Mercury MW150u(MERCURY MW150U 150M无线USB网卡).
看看吧,可能我得买一块这个来喽。。。
下面是roylez对此网卡的描述,个人认为很有必要把它摘抄下来供各位参考:

这款网卡采用AR9271芯片,Linux下用ath9k_htc驱动(内核自带)。支持AP模式,支持monitor模式。有monitor模式,就可以和aircrack-ng搭配了破解无线网路密码,有AP模式,就可以用来自架AP。ath9k_htc驱动目前不支持150M模式,不过这已经很次要了。卓越27包邮,杀人放火居家旅行必备。另外值得一提的是, 这款网卡还有个马甲是Fast FW150u。

如果你用的是Atheros系列的网卡的话,得装Madwifi.
以ubuntu系统为例:
wget http://downloads.sourceforge.net/madwifi/madwifi-0.9.4.tar.gz
tar -xvzf madwifi-0.9.4.tar.gz
cd madwifi-0.9.4
sudo apt-get install build-essential linux-headers-server
sudo make
sudo make install
sudo vim /etc/modprobe.d/madwifi
然后添加下面这行让你的网卡工作在master模式:


1

options ath_pci autocreate=ap

热加载此module :


1

sudo modprobe ath_pci

基于mac80211的驱动:
其它几个这里不说了,自己去WifiDocsMasterMode 看。
Intel PRO/Wireless (ipwXXXX) series

For ipw2100/ipw2200, unfortunately there is no way to use
them as AP, but this can be done for ipw3945 and ipw4965, maybe ipw2915
too, which are pretty good cards anyway, using fully open-source
iwlwifi drivers, but it can’t be done with old Intel drivers with closed
microcode.

下面是安装hostapd了,以archlinux为例:


1

sudo pacman -S --needed hostapd

然后就是配置了,我偷懒直接用roylez的:
安装hostapd,修改/etc/hostapd/hostapd.conf。这是一个WPA-PSK的配置,用hostapd -d /etc/hostapd/hostapd.conf来测试配置是否可用。


1
2
3
4
5
6
7
8
9
10
11
12

 interface=wlan1
 driver=nl80211
 ssid=vlad_is_here
 channel=6
 hw_mode=g
 ignore_broadcast_ssid=0
 auth_algs=1
 wpa=3
 wpa_passphrase=xxxxxxxx
 wpa_key_mgmt=WPA-PSK
 wpa_pairwise=TKIP
 rsn_pairwise=CCMP

为无线网卡指定IP


1

 sudo ifconfig wlan0 192.168.100.1 netmask 255.255.255.0

启动hostapd服务


1

 sudo /etc/rc.d/hostapd start

安装配置dhcp,这里,如果你装了pdnspd 或者 dnsmasq 的话就不用再安装dhcp了。

iptalbes设置nat


1

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

启用内核转发功能:


1
2

sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1

要想即时生效的话,直接用下面这句吧(以root身份执行):


1

echo 1 >/proc/sys/net/ipv4/ip_forward

hostapd docs: http://hostap.epitest.fi/hostapd/

部分回复:

    1. 我的笔记本是使用的 Intel Pro/Wireless 4965AGN 无线网卡,Linux 里使用的 iwlegacy::iwl4965 驱动程序,默认使用 iw list 查询接口也是不支持 AP 模式的,我修改了一下内核驱动程序后,可以支持了,hostapd 服务也可以正常启用,在IP地址分配后从笔记本可以 ping 通手机客户端,但问题是手机客户端持续的断开、重连、断开、重连。。。
    2. openSUSE利用hostapd共享wifi建立软AP | FQ BLOG 2012-04-09 16:08:34 | edit | 回复

      [...] http://ihacklog.com/linux/archlinux/use-hostapd-to-setup-wireless-access-point-under-linux.html [...]

    3. 荒野无灯 2012-03-22 10:21:38 | edit | 回复

      是的,出口应该用eth0.多谢提醒,已修改。

    4. whenov 2012-03-22 08:50:28 | edit | 回复

      iptables规则一条就够了,不过文章中写错了,应当是:
      iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
      eth0应为你能连外网的网卡。

    5. coldfire
      2011-12-25 04:18:38 | edit |
      回复

      我找到原因了,你是对的哈

    6. coldfire
      2011-12-25 03:49:47 | edit |
      回复

      万分感谢,很有用。
      不过
      “iptalbes设置nat”
      似乎还得加点才能成功上网,我是这样弄的,完美表现

      ifconfig wlan0 10.0.0.1 netmask 255.0.0.0
      /etc/rc.d/hostapd start
      iptables -A FORWARD -i wlan0 -o eth0 -s 10.0.0.0/24 -m state --state NEW -j ACCEPT
      iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
      iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
      echo 1 >/proc/sys/net/ipv4/ip_forward

时间: 2024-10-12 13:06:38

Linux下用hostapd架无线AP的相关文章

用hostapd自己架无线AP

最近买了一只kindle,颇为不错的东西.住的地方的路由器却跟kindle兼容性不太好,kindle怎么也连不上wifi. 怎么办?Kindle3是不支持ad-hoc无线网络的,所以这条路就绝了.我先是想到去买一只无线路由器,蹭网中继邻 居家的信号给kindle用.于是去买了一只 Fast FW300R V2 . 东西还没寄到,cfy在聊天室里提醒了我:其实,普通的无线网卡是可以拿来做AP用的,master mode,跟路由一样,不是ad-hoc. 这样的话,用无线网卡模拟出来一个路由信号不就可

Debian/Ubuntu Linux:使用Hostapd搭建无线访问点(WAP)

NIXCRAFT发表于2012年8月25日,在2014年7月9日更新,适用DEBIAN / UBUNTU, 网络, UBUNTU LINUX, 无线网络. 我们有个闲置的USB无线适配器(WIFI适配器),而我们的ISP路由器却是有线的.怎样把我们的家庭NAS服务器变成无线访问点(WAP),在不用买额外的WPA盒子的情况下,在Debian或Ubuntu系统下使用无线设备访问到它? 你需要使用hostapd作为访问点和认证服务器.它实现了IEEE 802.11访问点管理,IEEE802.1X/WP

在Ubuntu14.04下使用ap-hotspot建立无线热点(AP mode)

从https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8/+packages 下载最新版ap-hotspot并安装,我使用的是ap-hotspot - 0.3.1-1~webupd8~0.终端下执行sudo ap-hotspot configure 这一步会检查ubuntu的网络和WIFI接口,确定后会提示你配置热点,输入ssid和密码之类的就行了 接着执行sudo ap-hotspot start即可. ×××××××××××××

Linux下无线配置工具

1.介绍 Linux下无线客户端配置工具有Wireless tools for Linux和WPA Supplicant两者的区别在于前者支持网络是没有加密的或者WEP加密,后者则支持WPA加密类型 Linux下无线服务端配置工具有hostapd 2. Wireless tools for Linux Wireless tools for Linux是一个Linux命令行工具包,用来设置支持Linux Wireless Extension(LWE)的无线设备Wireless Extension

小心公共wifi 之小白客带你走进黑客世界:kali linux下的无线攻击技术

本文标签: 黑客世界 wifi安全 无线攻击技术 公共wifi不安全 kali+linux 原文地址:http://whosmall.com/?post=460 我们常说公共wifi不安全,那么到底不安全在哪些地方呢?当不怀好意者和你同在一个wifi下,你的手机或者笔记本会被监听吗?除了上网被监视以外,还会产生什么不好的后果?介于小伙伴们对于wifi这一块比较感兴趣,在这篇文章里,就先为大家普及一下在公共wifi下究竟有多危险. 实验环境 一台装有kali linux的笔记本(模拟攻击者)ip地

【L】小米随身WiFi,Linux下AP热点驱动(开源)

前言 这是作者修改后的Linux下的小米随身WiFi驱动,支持Ap模式,开源,同时支持360随身WiFi二代 注意: 1.这个是Linux下的小米随身WiFi驱动,不是Window和MAC下 2.这个不是STA模式下的可当作无线网卡的驱动,是可当Ap热点模式的驱动 3.这个理论上也是支持360随身WiFi二代..(rtusb_dev_id.c 里面同样有360的id) 原由: 小米随身WiFi很好用,有Widnow和Mac的系统的驱动, 但是可怜不少Linux下的苦逼开发者,没有驱动就是没有..

腾达Tenda W311MA无线网卡Linux下驱动安装

菜鸟看这里https://help.ubuntu.com/community/WifiD ... enda_W311M 最近也买了颗Tenda W311M网卡,简单说一下驱动的安装和hostapd做Soft AP的配置系统是Ubuntu 11.10,内核是Linux ubuntu 3.0.0-12-server 感谢[email protected]文章的思路两种驱动方式第一种,Ralink官方驱动编译,这个驱动似乎只支持infrastructure和adhoc功能1. 从Ralink下载驱动R

Ubuntu下使用无线网卡共享WiFi(AP)

方法一: 以前一直没有成功在ubuntu下开启过android可用的wifi热点. 但是最近使用ubuntu14.04 一次偶然的机会我安装了kubuntu-desktop,使用kubuntu-desktop时发现,使用其自带的网络管理器,比ubuntu默认的多了一种模式:ubuntu自带的网络管理器只有架构和Ad-hoc模式,而Kubuntu-desktop版的网络管理器多了一个Access Poin模式,而且可以选择创建wireless(shared),而ubuntu只能选择新建wifi.

如何排查无线AP在使用过程中的故障?

无线网络技术的飞速发展致使无线AP已渐渐融入我们的生活并与之密不可分.无线AP主要运用于企业.商场超市.酒店餐厅.学校工厂.展览展会等场所,为其构建WLAN并提供WiFi覆盖.很多终端用户觉得使用无线AP构建的商用WiFi的用户体验并不好,实际上快速好用的商用WiFi不仅要有好的无线AP设备做硬件支持,商户也应该对环境特点.最大用户数.产品特性.安装布局等多方位因素有个整体的了解,否则很可能选不到合适的WiFi覆盖方案或者即使有了可行度比较高的WiFi覆盖方案,在使用过程中出现一点小问题就手足无