Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1495741
  • 博文数量: 267
  • 博客积分: 3010
  • 博客等级: 少校
  • 技术积分: 3089
  • 用 户 组: 普通用户
  • 注册时间: 2011-06-05 17:09
个人简介

尊天命,尽人事

文章分类

全部博文(267)

文章存档

2017年(6)

2015年(4)

2014年(27)

2013年(52)

2012年(59)

2011年(120)

分类: Android平台

2013-04-09 11:30:12

      Linux上无线配置接口分为两种标准,一种旧的接口wext接口,新的nl80211接口。旧的接口使用ioctl标准接口,新的使用netlink方式通信。
      接下来看你的无线网卡驱动支持那种AP配置接口。首先确定是否支持wext接口,使用命令iwconfig.可以看到这里操作失败了。

点击(此处)折叠或打开

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

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

  1. iw list

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

点击(此处)折叠或打开

  1. Supported interface modes:
  2.           * IBSS
  3.           * managed
  4.           * AP
  5.           * AP/VLAN
  6.           * WDS
  7.           * monitor
  8.           * mesh point
  9.      software interface modes (can always be added):
  10.           * AP/VLAN
  11.           * monitor

       如果支持旧的wext接口标准,即master模式,那么可以这样配置无线AP:
一、wext接口标准配置无线AP
      (1)、配置无线网络
                 iwconfig wlan0 essid "XMU"      设置无线网卡的ssid为XMU
                 iwconfig wlan0 mode Master     设置无线网卡为AP模式
                 这时iwlist wlan0 scan应该可以看到自己的AP。
                 iwconfig wlan0 key off                关闭密码
      (2)、配置网卡信息
                 设IP,设掩码,以及Maximum Transmission Unit.
                 ifconfig wlan0 192.168.0.1   netmask 255.255.255.0  mtu 400 
                 设置无线网卡为默认路由,网关地址即网卡的IP,192.168.0.1。
                 route add default gw 192.168.0.1 wlan0 
                 这时用其他具备无线网卡的笔记本电脑,设置一下ip如:192.168.0.2,网关192.168.0.1,子网掩码255.255.255.0后,就可以搜索到AP为XMU的,并可以连接到台主机了。

二、nl80211接口配置AP    
      1、安装hostapd
      通过 yum install hostapd -y 安装,如果是其它红帽系列的可以安装epel的源,或者找一下hostapd的rpm,下载对应自己发行版的进行安装。其它Linux可以通过源码安装。
      2、修改配置文件
      # vim /etc/hostapd/hostapd.conf
      修改成如下状态
        ctrl_interface=/var/run/hostapd
        ctrl_interface_group=wheel
        macaddr_acl=0
        auth_algs=1
        ignore_broadcast_ssid=0
        wpa=3
        wpa_key_mgmt=WPA-PSK
        wpa_pairwise=TKIP
        rsn_pairwise=CCMP
        wpa_passphrase=ap_password
       driver=nl80211
       interface=wlan0
       hw_mode=g
       channel=9
       ssid=ap_name
       注意修改涉及到的ssid和密码

  3、安装和配置dhcp
# yum install dhcpd -y
# vim /etc/dhcp/dhcpd.conf
将此文件改成如下:
option domain-name-servers 211.161.45.222,10.141.146.10;
default-lease-time 3600;
max-lease-time 7200;
log-facility local7;
subnet 192.168.7.0 netmask 255.255.255.0 {
 range  192.168.7.77 192.168.7.99;
 option broadcast-address 192.168.7.255;
 option routers 192.168.7.7;
}
注意将第一行的nameserver添加成你isp提供的dns,这样解析的速度会快一些,不知道的话就改成谷歌的8.8.8.8好了。subnet 里面设置的是分配给连接无线路由的设备的ip段,可以根据自己需求进行调整,这里给了192.168.7.77-99
需要注意的是,option routers要写成这台机器的wlan0的ip,这个是手动设置的
# ifconfig wlan0 192.168.7.7

4、配置SNAT
Linux可以很方便的通过iptables配置SNAT服务器,命令如下:
iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -s 192.168.4.0/24 -j ACCEPT
iptables -A FORWARD -d 192.168.4.0/24 -j ACCEPT
其中第一条表示将通过本机的转发数据包从eth0(外网)这个网卡发出去,另外两条表示只转发192.168.4.0/24这个网段过来的数据包,这个网段正好是wlan0其它设备连上本机以后分配的网段。
还需要在打开内核的ip转发功能:
# vim /etc/sysctl.conf
添加或修改这样一段:
net.ipv4.conf.default.rp_filter = 1
然后执行命令
# sysctl -p

5、启动相关服务
/etc/init.d/dhcpd start
/etc/init.d/hostapd start
将有线网卡的网口插上网线调通就可以用其它无线设备连接此wifi ap上网了。

阅读(1996) | 评论(0) | 转发(1) |
0

上一篇:Linux USB驱动框架分析

下一篇:Linux IW 移植

给主人留下些什么吧!~~