zoukankan      html  css  js  c++  java
  • 树莓派.设置无线网卡为AP工作模式(pi2和pi3)

    树莓派2的设置办法:

    1. 安装NetworkManager管理工具(可选),以支持nmcli命令

    sudo apt-get install -y network-manager

    2. 安装hostapd和dhcpd

    sudo apt-get install -y hostapd isc-dhcp-server

    开机不需要启动这两个服务,建议把它们关掉:

    sudo update-rc.d -f hostapd remove

    3. 配置hostapd和dhcpd

    sudo vi /etc/hostapd/hostapd.conf 

    注意自己设置其中的无线热点名称ssid和认证密码wpa_passphrase.

    interface=wlan0
    ssid=lysmartscreen
    hw_mode=g
    channel=10
    macaddr_acl=0
    auth_algs=3
    wpa=2
    wpa_passphrase=YOUR_AP_PASSWORD
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP CCMP
    rsn_pairwise=TKIP CCMP

    设置dhcpd.conf 

    sudo vi /etc/dhcp/dhcpd.conf
    subnet 192.168.0.0 netmask 255.255.255.0{
      range 192.168.0.2 192.168.0.10;
      option routers 192.168.0.1;
      option domain-name-servers 192.168.0.1,180.76.76.76,8.8.8.8;
    }

    其中180.76.76.76是百度公共DNS服务器,8.8.8.8则是Google的DNS服务器.
    在自己的家目录下创建一个放日志的logs目录,里面新建启动和关闭脚本:

    mkdir /home/pi/logs

    启动AP的脚本:

    vi /home/pi/logs/ap-start.sh
    #!/bin/bash
    # 开启内核IP转发
    bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
    # 开启防火墙NAT转发(如果本机使用eth0上网,则把ppp0改为eth0)
    iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
    # 关闭NetworkManager对无线网卡的控制(这句实测中nm参数无效, 但似乎不影响使用)
    nmcli nm wifi off
    # 设置并启动无线网卡
    ifconfig wlan0 192.168.0.1 netmask 255.255.255.0
    # 解锁无线设备,可以用rfkill list查看解锁结果.
    rfkill unblock wlan
    # 睡眠6秒,待rfkill解锁生效
    sleep 6s
    # 启动dhcpd和hostapd,如果hostapd无法启动请查看日志hostapd.log,查看这两个进程ps -ef|egrep "dhcpd|hostapd"
    nohup hostapd /etc/hostapd/hostapd.conf >/home/pi/logs/hostapd.log 2>&1 &
    dhcpd wlan0 -pf /var/run/dhcpd.pid
    ps -ef|head -n1 && ps -ef|egrep "dhcpd|hostapd"

    停止AP的脚本:

    vi /home/pi/logs/ap-stop.sh
    #!/bin/bash
    killall hostapd dhcpd
    bash -c "echo 0 > /proc/sys/net/ipv4/ip_forward"
    ifconfig wlan0 down

    4. 启动hostapd和dhcpd

    给2个脚本增加执行的权限

    chmod +x /home/pi/logs/ap-*.sh

    启动AP:

    sudo /home/pi/logs/ap-start.sh

    看到上图的内容表示AP创建成功 (注:脚本位置与上文所讲略有不同, 灵活处理即可)

    停止AP:

    sudo /home/pi/logs/ap-stop.sh

    附一张手机连上AP的图片

    树莓派3的设置办法:

    git clone https://github.com/oblique/create_ap.git

    如果未装git, 就先装上它

    sudo apt-get install git

    git下来后安装

    cd create_ap/
    sudo make install

    安装依赖包

    sudo apt-get install util-linux procps hostapd iproute2 iw haveged dnsmasq -y

    试试创建热点

    sudo ifdown wlan0
    sudo create_ap wlan0 eth0

    如果不成功

    试加一个参数

    sudo create_ap --no-virt wlan0 eth0

    按提示输入SSID名字和密码,看到下图的内容表示成功, 可以在Wifi中搜索到这个热点了

    如果想一句命令包含你创建的SSID和密码, 可以这样

    sudo create_ap --no-virt wlan0 eth0 ssidname password

    done.

  • 相关阅读:
    按升序合并如下两个list, 并去除重复的元素
    python数据结构
    驼峰式命名改下划线命名
    求某个数出现的次数超过了总数的一半
    翻转字符串
    复习
    RESTful
    Flask wtforms
    数据库连接池(DBUtils)
    iOS
  • 原文地址:https://www.cnblogs.com/visionsl/p/8042315.html
Copyright © 2011-2022 走看看