树莓派配置AP模式
所需硬件:树莓派、无线网卡
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;
}
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
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模式的更多相关文章
- 关于 RTL8723BS 同时开启 STA/AP 模式
最近接到一个调试 wifi 驱动的任务,使用的是 rtl8723bs 芯片组.要求是让无线设备工作在 station 模式的时候同时开启一个 ap 热点.简单来讲就是连接其他 wifi 的同时发出一个 ...
- 树莓派做AP发射wifi(RTL8188CUS芯片) 分类: shell ubuntu Raspberry Pi 2014-11-29 01:25 822人阅读 评论(0) 收藏
最近在做一个项目,需要用树莓派作为AP发射wifi,对比cubieboard,树莓派的配置容易得多,而且支持也更多. 较为官方的介绍配置为无线热点的文章莫过于这一篇<RPI-Wireless-H ...
- Android KitKat 4.4 Wifi移植AP模式和网络共享的调试日志
Tethering技术在移动平台上已经运用的越来越广泛了.它能够把移动设备当做一个接入点,其它的设备能够通过Wi-Fi.USB或是Bluetooth等方式连接到此移动设备.在Android中能够将Wi ...
- Marvell w8782 sdio wifi AP模式设置
http://blog.csdn.net/junllee/article/details/8895908 w8782工作在station模式一切正常,于是想试试AP模式(master mode): A ...
- 树莓派配置 USB 无线网卡
树莓派配置 USB 无线网卡来上网的过程. 本人使用的USB无线网卡型号:EP-N8508GS(树莓派专用型号) 一.检查 USB 无线网卡是否已经正确识别 将无线 USB 网卡插入树莓派后启动树莓派 ...
- ESP8266-Soft AP模式 —— 谁想连上我
AP是Access Point简称,也就是访问接入点,是网络的中心节点.一般家庭的无线路由器就是一个AP,众多站点(STA)加入到它所组成的无线网络,网络中的所有的通信都通过AP来转发完成. 软AP也 ...
- 华硕RT-AC86U路由器 AP模式实现多路由器组网,扩展主路由器的无线网范围
描述: 宽带拨号上网的路由器为 TP-LINK TL-WAR1200L,由于室内空间大,遂在此路由器下接入一个 华硕RT-AC86U路由器: 配置使该 华硕路由器与 TP-LINK 路由器的网段相同 ...
- Nacos源码结构和AP模式注册中心实现介绍
前言 NacosAP模式源码分析目录 微服务下的注册中心如何选择 Nacos使用和注册部分源码介绍 Nacos服务心跳和健康检查源码介绍 Nacos服务发现 Nacos源码结构介绍 Nacos版本基于 ...
- External Configuration Store Pattern 外部配置存储模式
Move configuration information out of the application deployment package to a centralized location. ...
随机推荐
- Code Understanding Step by Step - We Need a Task
Code understanding is a task we are always doing, though we are not even aware that we're doing it ...
- POJ 3648-Wedding(2-SAT)
题面很邪恶啊... 一对新人请n-1对夫妻吃饭,人们坐在一张桌子的两侧,每一对互为夫妻关系的人必须坐在桌子的两侧.而且有些人两两之间会存在“通奸”关系,通奸关系不仅在男女之间,同性之间也有.新娘对面不 ...
- magento 列表页显示产品属性值的几种调用方式
之前有人提到要在列表显示一些特定的属性,除了自带的名字,价格等.因为列表页和产品页都有一个同名的产品对象:$_product,而在产品页,$_product是直接可以用$_product->ge ...
- Redis集群的使用测试(Jedis客户端的使用)
Redis集群的使用测试(Jedis客户端的使用)1.Jedis客户端建议升级到最新版(当前为2.7.3),这样对3.0.x集群有比较好的支持.https://github.com/xetorthio ...
- angular中的promise
angular中的promise用法 标签(空格分隔): angular 前言 Promise其实是一个规范,用类似then().then()这样的链式调用形式来处理因为异步带来意大利面条式的代码(多 ...
- C#基础知识回顾-- 反射(1)
C#基础知识回顾-- 反射(1) 反射(reflection)是一种允许用户获得类型信息的C#特性.术语“反射”源自于它的工作方式: Type对象映射它所代表的底层对象.对Type对象进行查询可以 ...
- ZZTHX-线程锁
以前一直在做卡乐付,悲剧的是项目中的余额查询,超级转账和刷卡器相关的东西已经开发好了,我对这块还是比较好奇和感兴趣的,在项目空闲的时候我就开始尝试熟悉和了解这块的业务和代码.实践出真理,只有在实践中才 ...
- centos6.2安装jdk7
首先在Vmware下安装好Centos6.2,下载好jdk7文件,tar包安装 1 wget http://download.oracle.com/otn-pub/java/jdk/last-vers ...
- DBHelper数据库操作类(二)
不错文章:http://www.codefans.net/articles/562.shtml http://www.cnblogs.com/gaobing/p/3878342.html using ...
- 一天JavaScript示例-在功能上的标量参数和数组参数的差异
<!DOCTYPE> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta h ...