所需硬件:树莓派、无线网卡

1.查看无线网卡是否被识别

pi@raspberrypi ~ $ sudo lsusb
Bus Device : ID : Standard Microsystems Corp.
Bus Device : ID 1d6b: Linux Foundation 2.0 root hub
Bus Device : ID :ec00 Standard Microsystems Corp.
Bus Device : ID 0bda: Realtek Semiconductor Corp. RTL8188CUS .11n WLAN Adapter
pi@raspberrypi ~ $

WLAN Adapter代表的就是无线网卡被系统识别,芯片是RTL8188CUS

2.无线网卡配置静态IP地址

sudo vim /etc/network/interfaces  #配置静态地址

pi@raspberrypi ~ $ sudo vim /etc/network/interfaces
auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.8.1
netmask 255.255.255.0
保存后重启wlan0网卡

sudo ifdown wlan0
sudo ifup wlan0

3.安装DHCP服务软件

sudo apt-get install isc-dhcp-server

配置DHCP服务

sudo vim /etc/dhcp/dhcpd.conf  #编辑配置文件
#option domain-name "example.org"; #注释
#option domain-name-servers ns1.example.org, ns2.example.org; #注释
authoritative; #去除注释
#在配置文件底部添加发下配置
subnet 192.168.8.0 netmask 255.255.255.0 {
range 192.168.8.100 192.168.8.200;
option broadcast-address 192.168.8.255;
option routers 192.168.8.1;
default-lease-time ;
max-lease-time ;
option domain-name "local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
}
#注解
option broadcast-address#广播地址
option routers           #网关地址
default-lease-time       #默认租约时间
max-lease-tim            #最大租约时间
option domain-name       #网络域名
option domain-name-servers#DNS地址
使wlan0提供dhcp服务
sudo vim /etc/default/isc-dhcp-server #编辑配置文件
INTERFACES="wlan0"

4.安装AP软件与配置

sudo apt-get install hostapd
配置Access Point
sudo vim /etc/hostapd/hostapd.conf
interface=wlan0
driver=rtl871xdrv#这个是树莓派无线网卡驱动,不要改
ssid=pi#无线信号名字,随意设
hw_mode=g
channel=
macaddr_acl=
auth_algs=
ignore_broadcast_ssid=
wpa=
wpa_passphrase=raspberry#密码,随意设
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

设置读取加载配置文件

sudo vim /etc/default/hostapd   #找到#DAEMON_CONF=""修改成
DAEMON_CONF="/etc/hostapd/hostapd.conf"

默认安装的版本比较新,该驱动需要用V0.8的版本,否则运行hostapd会报错

wget http://www.adafruit.com/downloads/adafruit_hostapd.zip
unzip adafruit_hostapd.zip
sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.ORIG
sudo mv hostapd /usr/sbin
sudo chmod /usr/sbin/hostapd
测试一下
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
手机wifi扫描搜索下,是否有pi的无线SSID。

5.启动dhcp、hostapd服务

sudo service isc-dhcp-server start  #启用DHPCServere服务
sudo service hostapd start #启用AP服务

设置开启自启动

sudo update-rc.d hostapd enable
sudo update-rc.d isc-dhcp-server enable

6.开启转发

sudo vim /etc/sysctl.conf  #开机启动设置ip转发
#底部加上一行
net.ipv4.ip_forward=
或者直接:
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

7.添加防火墙规则

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

8.保存规则并开机自动生效

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
sudo vim /etc/network/interfaces #开机生效
up iptables-restore < /etc/iptables.ipv4.nat #底部增加一行

---------------------------------------------------------------------------------------------------

后记:如果有两个无线网卡,又想设置两个AP,那么可以修改/etc/network/interfaces和/etc/dhcp/dhcpd.conf以及添加一个/etc/hostapd/hostapd2.conf

如下:

pi@raspberrypi ~ $ sudo vim /etc/network/interfaces
auto lo

iface lo inet loopback
iface eth0 inet dhcp

allow-hotplug wlan0
iface wlan0 inet static
address 192.168.8.1
netmask 255.255.255.0

#继续添加

auto wlan1
iface wlan0 inet static
address 192.168.9.1
netmask 255.255.255.0
network 192.168.9.0
broadcast 192.168.9.255

接着,修改/etc/default/isc-dhcp-server文件,添加wlan1

sudo vim /etc/default/isc-dhcp-server #编辑配置文件
INTERFACES="wlan0"

接着,修改/etc/dhcp/dhcpd.conf

sudo vim /etc/dhcp/dhcpd.conf  #编辑配置文件
#option domain-name "example.org"; #注释
#option domain-name-servers ns1.example.org, ns2.example.org; #注释
authoritative; #去除注释
#在配置文件底部添加发下配置
subnet 192.168.8.0 netmask 255.255.255.0 {
range 192.168.8.100 192.168.8.200;
option broadcast-address 192.168.8.255;
option routers 192.168.8.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name "local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
}
#继续添加
subnet 192.168.9.0 netmask 255.255.255.0 {
range 192.168.9.100 192.168.9.200;
option broadcast-address 192.168.9.255;
option routers 192.168.9.1;
default-lease-time 600;
max-lease-time 7200;
option domain-name "local";
option domain-name-servers 8.8.8.8, 8.8.4.4;
} 最后,添加一个/etc/hostapd/hostapd2.conf,内容类似hostapd.conf,但是channel要不一样,否则出现干扰
interface=wlan1
driver=rtl871xdrv#这个是树莓派无线网卡驱动,不要改
ssid=pi2#无线信号名字,随意设
hw_mode=g
channel=2
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=raspberry#密码,随意设
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP 如此,启动
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf /etc/hostapd/hostapd2.conf
即可启动两个AP,如果加上-B,可运行于后台。 ------------------------------------------------------------------------------------------
此外,如果想配置成wlan0 ap模式,wlan1 连接路由器模式,可以修改/etc/network/interfaces文件,添加wlan1的设置即可。
auto wlan1
allow-hotplug wlan1
iface wlan1 inet dhcp
wpa-ssid "SDN2.4"
wpa-psk ""

重启wlan1(sudo ifdown wlan1  sudo ifup wlan1)即可。

树莓派配置AP模式的更多相关文章

  1. 关于 RTL8723BS 同时开启 STA/AP 模式

    最近接到一个调试 wifi 驱动的任务,使用的是 rtl8723bs 芯片组.要求是让无线设备工作在 station 模式的时候同时开启一个 ap 热点.简单来讲就是连接其他 wifi 的同时发出一个 ...

  2. 树莓派做AP发射wifi(RTL8188CUS芯片) 分类: shell ubuntu Raspberry Pi 2014-11-29 01:25 822人阅读 评论(0) 收藏

    最近在做一个项目,需要用树莓派作为AP发射wifi,对比cubieboard,树莓派的配置容易得多,而且支持也更多. 较为官方的介绍配置为无线热点的文章莫过于这一篇<RPI-Wireless-H ...

  3. Android KitKat 4.4 Wifi移植AP模式和网络共享的调试日志

    Tethering技术在移动平台上已经运用的越来越广泛了.它能够把移动设备当做一个接入点,其它的设备能够通过Wi-Fi.USB或是Bluetooth等方式连接到此移动设备.在Android中能够将Wi ...

  4. Marvell w8782 sdio wifi AP模式设置

    http://blog.csdn.net/junllee/article/details/8895908 w8782工作在station模式一切正常,于是想试试AP模式(master mode): A ...

  5. 树莓派配置 USB 无线网卡

    树莓派配置 USB 无线网卡来上网的过程. 本人使用的USB无线网卡型号:EP-N8508GS(树莓派专用型号) 一.检查 USB 无线网卡是否已经正确识别 将无线 USB 网卡插入树莓派后启动树莓派 ...

  6. ESP8266-Soft AP模式 —— 谁想连上我

    AP是Access Point简称,也就是访问接入点,是网络的中心节点.一般家庭的无线路由器就是一个AP,众多站点(STA)加入到它所组成的无线网络,网络中的所有的通信都通过AP来转发完成. 软AP也 ...

  7. 华硕RT-AC86U路由器 AP模式实现多路由器组网,扩展主路由器的无线网范围

    描述: 宽带拨号上网的路由器为 TP-LINK  TL-WAR1200L,由于室内空间大,遂在此路由器下接入一个 华硕RT-AC86U路由器: 配置使该 华硕路由器与 TP-LINK 路由器的网段相同 ...

  8. Nacos源码结构和AP模式注册中心实现介绍

    前言 NacosAP模式源码分析目录 微服务下的注册中心如何选择 Nacos使用和注册部分源码介绍 Nacos服务心跳和健康检查源码介绍 Nacos服务发现 Nacos源码结构介绍 Nacos版本基于 ...

  9. External Configuration Store Pattern 外部配置存储模式

    Move configuration information out of the application deployment package to a centralized location. ...

随机推荐

  1. 【转】hive简介安装 配置常见问题和例子

    原文来自:  http://blog.csdn.net/zhumin726/article/details/8027802 1 HIVE概述 Hive是基于Hadoop的一个数据仓库工具,可以将结构化 ...

  2. 利用putty软件连接虚拟机中linux操作系统

    http://jingyan.baidu.com/article/9c69d48fbefe6613c8024e6a.html 大家在使用虚拟的过程中有时候会感觉切换操作系统很不方便,那么有什么方法可以 ...

  3. 如何使用validate.js进行动态添加和移除表单验证信息

    表单是我们在开当中的常客,那么对表单的验证也是必须的,那么如何实现动态给表单添加验证规则呢? 方法: 1,动态添加验证规则 // 添加$("#addConnectUser").ru ...

  4. cas 3.5.2 登录成功后,如何返回用户更多信息?

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  5. 最近看了点C++,分享一下我的进度吧!

    #include <iostream> #include <cmath> #include <iomanip> using namespace std; //Stu ...

  6. WINHTTP的API接口说明。

    BOOL WINAPI WinHttpAddRequestHeaders(   _In_  HINTERNET hRequest,   _In_  LPCWSTR pwszHeaders,   _In ...

  7. iOS开发——开发技巧&Mac常用命令

    现实和隐藏文件拓展名 显示:defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder 隐藏:def ...

  8. android学习日记16--GridView(网格视图)

    一.GridView 1.简述 GridView按照行列来显示图片或文本的一种视图,排列其实有点类似TableLayout布局, 不过和TableLayout还是差别很大的,倒比较像二维的ListVi ...

  9. WebGL on iOS8 最终等到了这一天

    WWDC2014刚结束,这次的大会是名符事实上的开发人员大会.更贴切的应该说的确是一次软件开发人员的大会.对于OSX和iOS的很多其它功能特性让人兴奋.Swift新语言促成了如上图片 但我更感兴趣的是 ...

  10. 深刻理解Python中的元类(metaclass)

    译注:这是一篇在Stack overflow上很热的帖子.提问者自称已经掌握了有关Python OOP编程中的各种概念,但始终觉得元类(metaclass)难以理解.他知道这肯定和自省有关,但仍然觉得 ...