zoukankan      html  css  js  c++  java
  • linux(CentOS6)下的wifi热点安装配置------hostapd-2.0

    linux下wifi软热点---hostapd-2.0


    有兴趣的朋友可以参看下面网站:
    http://w1.fi/hostapd/
    http://www.ibm.com/developerworks/cn/linux/l-wifiencrypthostapd/
    http://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf

    linux(CentOS6)下的wifi热点安装配置------hostapd-2.0


    经个人测试,有两种方案可行:

    A.桥接模式:
    手头上有个路由器时,如果是校园网,接口直接接平行接口,如果是电信,长城宽带等则需要先设置路由器,主要是把服务商提供的用户名和密码设到路由器中,再将网线头接到蓝色的WAN接口上即可,接下来就是软件安装及配置了。

    CentOS6.2为例

    往往开源软件的最新版本都首先会以源码包的形式发布,之后才有一些第三方或厂家来编译相对应版本的二进制包,目前的最新版本是2.0版本,详见官方网站:

    wget http://hostap.epitest.fi/releases/hostapd-2.0.tar.gz
    或http://w1.fi/releases/hostapd-2.0.tar.gz


    首先还是安装源码包编译所依赖的库,
    yum install libnl-devel

    tar -zxvf hostapd-2.0.tar.gz -C /usr/local/src
    cd /usr/local/src/hostapd-2.0/hostapd
    cp defconfig .config
    make
    make install

    好的,到此以经安装完成。接下来就是配置了,
    桥接模式的好外是直接利用路由器的dhcp功能,当手机,笔记本等客户端连热点时直接获取路由器分配的ip,然后只要通过iptables的nat功能就可以共享了!
    如何配桥接?
    很多朋友可能已经注意到,一般版本默认都没有配桥接,怎么办,手动配一个,
    vim /etc/sysconfig/network-scripts/ifcfg-br0

    DEVICE="br0"
    BOOTPROTO="dhcp"
    #BOOTPROTO="static"
    NM_CONTROLLED="no"
    ONBOOT="yes"

    TYPE=Bridge
    DELAY=0

    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    DEVICE="eth0"
    BOOTPROTO="none"
    NM_CONTROLLED="no"
    ONBOOT="yes"

    BRIDGE=br0


    /etc/init.d/network restart


    桥接配好后再来看hostapd的配置文件,留心的朋友可能注意到,在源码安装目录中有一个叫hostapd.conf的文件,对,这个就是原始模板,只需修改其中几项即可,但该文件注释太多,上下翻很麻烦,可以将其过滤出来,如:
    grep -v ^# hostapd.conf|grep -v ^$ >test.conf

    这样看就清晰多了,当然还可以进一步精简,以下是我个人的简单配置,采用的是最简单的密码加密,没有涉及到ssl等高级选项,有兴趣的朋友可以尝试尝试。
    ###################################################################
    interface=wlan0
    bridge=br0        #桥接模式一定要添加这一项
    driver=nl80211        #无线网卡的驱动
    ssid=CentOS6        #热点名称
    hw_mode=g
    channel=1
    ###################################################################

    macaddr_acl=0
    auth_algs=1
    ignore_broadcast_ssid=0
    wpa=3
    wpa_passphrase=11112222        #密码
    wpa_key_mgmt=WPA-PSK         #加密方式,不易被破解,比wep更安全,个人以前就用spoonwep,minidwep-gtk等bt4上的破解软件配合加强型无线网卡成功破解过很多以wep加密的热点噢,所以,这一点一定要用WPA-PSK方式加密。
    wpa_pairwise=TKIP
    rsn_pairwise=CCMP

    ###################################################################


    logger_syslog=-1
    logger_syslog_level=2
    logger_stdout=-1
    logger_stdout_level=2
    dump_file=/tmp/hostapd.dump
    ctrl_interface=/var/run/hostapd
    ctrl_interface_group=0
    beacon_int=100
    dtim_period=2
    max_num_sta=255
    rts_threshold=2347
    fragm_threshold=2346
    wmm_enabled=1
    wmm_ac_bk_cwmin=4
    wmm_ac_bk_cwmax=10
    wmm_ac_bk_aifs=7
    wmm_ac_bk_txop_limit=0
    wmm_ac_bk_acm=0
    wmm_ac_be_aifs=3
    wmm_ac_be_cwmin=4
    wmm_ac_be_cwmax=10
    wmm_ac_be_txop_limit=0
    wmm_ac_be_acm=0
    wmm_ac_vi_aifs=2
    wmm_ac_vi_cwmin=3
    wmm_ac_vi_cwmax=4
    wmm_ac_vi_txop_limit=94
    wmm_ac_vi_acm=0
    wmm_ac_vo_aifs=2
    wmm_ac_vo_cwmin=2
    wmm_ac_vo_cwmax=3
    wmm_ac_vo_txop_limit=47
    wmm_ac_vo_acm=0
    eapol_key_index_workaround=0
    eap_server=0
    own_ip_addr=127.0.0.1

    不慌,在启动之前还要做一个nat转换:
    #################################################
    #!/bin/bash
    #To share a wifi
    #Made by liujun,2012-01-21
    #################################################
    #临时开启IP转发,即路由功能
    echo 1 >/proc/sys/net/ipv4/ip_forward
    echo "己开启路由转发功能"
    echo ""
    sleep 0.3

    #清除防火墙规则
    iptables -F
    iptables -X
    iptables -Z
    iptables -t nat -F
    iptables -t nat -X
    iptables -t nat -Z


    #允许网络包进入
    iptables -A INPUT -i lo -j ACCEPT
    iptables -A INPUT -i br0 -j ACCEPT
    iptables -A INPUT -i wlan0 -j ACCEPT

    #允许网络包出去
    iptables -A OUTPUT -j ACCEPT
    iptables -A FORWARD -j ACCEPT

    #路由功能
    iptables -t nat -I POSTROUTING -o br0 -j MASQUERADE


    echo "Done"
    echo ""
    echo "Having a good time!"

    ps:要永久开启路由功能就得调整内核参数了,也挺简单,
    vim /etc/sysctl.conf
    找到如下这一行,将前面的#号删除即可,有的是把‘=0’改成‘=1’
    net.ipv4.ip_forward=1

    再执行,sysctl -p来使内核参数即时生效。

    OK,准备工作做完了,接下来就是启服务了。

    hostapd  /home/foo/test.conf &

    这样就后台运行了,敢紧拿上小i连上去冲浪吧!

    #########################################################
    B.直接模式。
    上面是借助了路由器的dhcp功能,这里所谓的直接,就不需要配桥接等。而是要安装isc-dhcp-server来为客户端分配ip,

    yum install  dhcpd

    vim /etc/dhcp/dhcpd.conf

    subnet 192.168.0.0 netmask 255.255.255.0 {
         range 192.168.0.100 192.168.0.200;
         option domain-name-servers ns1.internal.example.org;
         option domain-name "internal.example.org";
         option routers 192.168.0.1;
         option broadcast-address 192.168.0.255;
         default-lease-time 600;
         max-lease-time 7200;
         }
    修改dhcp服务器的配置文件,这里也是做最简单的功能,因为不是专谈dhcp服务器。找到相应的位置随便选个ip段配上,我这里就用192.168.0.0/24这个常用网段来做。

    注意:

    vim /etc/sysconfig/dhcpd

    # Defaults for dhcp initscript
    # sourced by /etc/init.d/dhcp
    # installed at /etc/default/isc-dhcp-server by the maintainer scripts

    #
    # This is a POSIX shell fragment
    #

    # On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
    DHCPDARGS="wlan0"


    因为是电脑的无线网卡来为客户端分配ip,所以这里填上服务器监听接口。

    还可以修改/etc/sysconfig/network-scripts/ifcfg-wlan0这个文件,如何修改,只需将wlan0也桥接到br0即可。加上BRIDGE=br0


    启服务,直接以管理员身份执行
    /etc/init.d/dhcpd start

    之后的nat以及hostapd软件的安装都同上。




  • 相关阅读:
    session
    CSS3盒子模型
    由“从按下回车到网页显示”粗谈网页优化
    springMVC之拦截器
    设置Webdriver启动chrome为默认用户的配置信息
    [Swift]LeetCode498. 对角线遍历 | Diagonal Traverse
    [Swift]LeetCode497. 非重叠矩形中的随机点 | Random Point in Non-overlapping Rectangles
    [Swift]通天遁地Swift
    [Swift]LeetCode996. 正方形数组的数目 | Number of Squareful Arrays
    [Swift]LeetCode995. K 连续位的最小翻转次数 | Minimum Number of K Consecutive Bit Flips
  • 原文地址:https://www.cnblogs.com/lixuebin/p/10814619.html
Copyright © 2011-2022 走看看