• linux(Ubuntu)下的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(Ubuntu)下的wifi热点安装配置------hostapd-2.0
    经个人测试,有两种方案可行:

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

    Ubuntu12.04为例

    1.二进制包安装
    sudo apt-get install hostapd
    再网络不错的条件下可以直接在线安装,ubuntu之所以如此流行,除了易用之外,个人觉得最大的优点就是内核,软件更新积极,如,现在谈到的hostapd软件,源里就是用的最新的2.0版本。


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

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


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

    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,然后只要通过深长bles的nat功能就可以共享了!
    如何配桥接?
    很多朋友可能已经注意到,一般版本默认都没有配桥接,怎么办,手动配一个,
    vim /etc/network/interfaces

    auto lo
    iface lo inet loopback

    iface eth0 inet manual

    auto br0
    iface br0 inet dhcp

    /etc/init.d/networking restart

    如果,启动失败,则需要借助brctl这个命令来配,这个网上有很多教程,这里就不多讲,个人比较懒,所以推荐大家一个懒而快的办法,那就是装个虚拟机,因为装虚拟机后桥接会自动配上,就不需要brctl来配了。玩linux肯定得玩linux底下的虚拟机啦,这里就装个kvm呗,个人比较喜欢!哈,顺便也玩一下虚拟机,确实很不错的噢!
    apt-get install virt-manager kvm

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

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

    apt-get install isc-dhcp-server

    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/default/isc-dhcp-server    #这个目录类似于redhat系列的/etc/sysconfig/

    # 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".
    INTERFACES="wlan0"


    因为是电脑的无线网卡来为客户端分配ip,所以这里填上服务器监听接口,不然可能出问题.
    启服务,直接以管理员身份执行,dhcpd这个命令即可!

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

  • 相关阅读:
    【转】为什么说面向对象编程和函数式编程都有问题
    【转】对博士学位说永别
    【转】写给支持和反对《完全用Linux工作》的人们
    【转】完全用Linux工作
    【转】人体工学
    【转】如何掌握所有的程序语言
    【转】Kotlin 和 Checked Exception
    【转】什么是现实理想主义者
    【转】经验和洞察力
    【转】C 编译器优化过程中的 Bug
  • 原文地址:https://www.cnblogs.com/lixuebin/p/10814622.html
Copyright © 2020-2023  润新知