树莓派设置无线热点(RTL8188CUS芯片)
1. 安装hotspot(hostapd)
sudo apt-get install bridge-utils hostapd
hostapd实现的是无线共享,但需要注意的是官方提供的程序不兼容RTL8188CUS芯片的无线网卡,不过Edimax团队为我们专门编译了兼容的版本,下面的操作需要替换hostapd为兼容版本。
替换的命令如下:
wget http://www.daveconroy.com/wp3/wp-content/uploads/2013/07/hostapd.zip
unzip hostapd.zip
sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.bak
sudo mv hostapd /usr/sbin/hostapd.edimax
sudo ln -sf /usr/sbin/hostapd.edimax /usr/sbin/hostapd
sudo chown root.root /usr/sbin/hostapd
sudo chmod 755 /usr/sbin/hostapd
建立AP有两种方案,一种是桥接方式设置热点,有点类似交换机工作原理,将网线口的信号转换为无线,另外一种则是路由方式实现无线上网,和大部分路由器工作方式一样。
注:由于我的树莓派网口是直接连接笔记本网口,树莓派通过我的有线网卡上网,我直接ssh控制树莓派,在使用桥接方式后,我发现putty连接不上树莓派,远程桌面也一样,检查树莓派ip是对的就是连接不上
由于项目要求,故我使用第二种方式:路由的方式设置WiFi热点
2. 路由的方式设置WiFi热点
2.1安装udhcpd
sudo apt-get install udhcpd
udhcpd主要为连接到WiFi的设备自动分配IP地址的
2.2配置udhcpd,编辑/etc/udhcpd.conf,主要内容如下
# Sample udhcpd configuration file (/etc/udhcpd.conf)# The start and end of the IP lease blockstart 192.168.0.20 #default: 192.168.0.20
end 192.168.0.254 #default: 192.168.0.254# The interface that udhcpd will useinterface wlan0 #default: eth0remaining yes #default: yesopt dns 114.114.114.114 180.76.76.76
option subnet 255.255.255.0
opt router 192.168.0.1
opt wins 192.168.0.10
option dns 129.219.13.81 # appened to above DNS servers for a total of 3
option domain local
option lease 864000 # 10 days of seconds
配置完成之后树莓派AP模式的IP地址为192.168.0.1
3.使能DHCP
配置 /etc/default/udhcpd
sudo nano /etc/default/udhcpd
使用#符号注释DHCPD_ENABLED=”no”
DHCPD_ENABLED="no"
改为
#DHCPD_ENABLED="no"
4.把wlan0配置为静态IP地址
通过下面的命令给无线网卡设置一个IP地址
sudo ifconfig wlan0 192.168.0.1
当然为了下次启动仍然有效,我们需要配置/etc/network/interfaces文件:
sudo nano /etc/network/interfaces
注释原来一些设置,改为:
auto lo
iface lo inet loopback
iface eth0 inet dhcpallow-hotplug wlan0 #有些教程把他也注释掉了,经测试注释后其他设备连接ap后是无法获取到ip的!!
#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcpiface wlan0 inet static
address 192.168.0.1
netmask 255.255.255.0
5.配置AP参数
5.1 创建配置文件
创建文件 /etc/hostapd/hostapd.conf,配置树莓派AP热点名称和热点密码。
interface=wlan0
driver=rtl871xdrv
ssid=xs
hw_mode=g
channel=10
macaddr_acl=0
auth_algs=3
ignore_broadcast_ssid=0
wpa=1
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
rsn_pairwise=CCMP
注:网上很多教程写的是wpa_pairwise=TKIP,经测试,也会出现无线网卡无法设置静态IP问题,我改为CCMP就可以,不知是不是我的问题
配置说明:
interface: 那个接口作为接入点
driver: 使用无线驱动,树莓派是rtl871xdrv,注意是187L(小写的L)
ssid: 共享网络的SSID
hwmode: 指定802.11协议,包括 a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g
channel: 指定无线信道
macaddracl: 指定MAC地址过滤规则,0表示除非在禁止列表否则允许,1表示除非在允许列表否则禁止,2表示使用外部RADIUS服务器;
acceptmacfile:指定允许MAC列表文件所在;
denymacfile:指定禁止MAC列表文件所在;
authalgs: 指定采用哪种认证算法 1表示开放系统认证(Open System Authentication, OSA),2表示共享密钥认证(Shared Key Authentication, SKA,3则两种认证方式都支持
ignorebroadcastssid: 是否禁止广播SSID
wpa=2: 使用WPA2加密方式,WEP非常容易被破解不推介使用
wpapassphrase:WPA/WPA2加密需要指定密钥,这个选项就是配置WPA/WPA2的密钥。注意wpapassphrase要求8~63个字符。另外还可以通过配置wpapsk来制定密钥,不过要设置一个256位的16进制密钥
wpakeymgmt: 设置客户端密钥算法验证方式。认证方式为WPA-PSK 加密方式为CCMP
wpapairwise/rsnpairwise: 如果启用了WPA,需要指定wpapairwise;如果启用了WPA2,需要指定rsnpairwise,或者采用wpa_pairwise的设定
5.2 指定配置文件位置
修改配置文件/etc/default/hostapd
sudo nano /etc/default/hostapd
改
#DAEMON_CONF=""
为
DAEMON_CONF="/etc/hostapd/hostapd.conf"
这时,执行
sudo /usr/sbin/hostapd /etc/hostapd/hostapd.conf
你就可以搜到你创建的ap热点啦,各个设备连接这个热点就可以组成一个小型局域网了,不过这是这个局域网是不能访问外网的,还要设置ip转发才可以
6配置NAT(IP转发)
sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
nano /etc/sysctl.conf
修改参数为
net.ipv4.ip_forward=1
在以太网端与无线网端建立转发
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
查看iptables是否已经成功设置
sudo iptables -t nat -S
sudo iptables -S
成功的话会看到上面设置的内容。
确保开机自动生效 保存iptables规则
sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
sudo nano /etc/network/interfaces
在底部新增一行
up iptables-restore < /etc/iptables.ipv4.nat
保存即可
这时执行
iptables-restore < /etc/iptables.ipv4.nat
你会发现连接直接建立的ap的设备已经能访问外网了
7 启动相应软件,并加入启动项
sudo service hostapd start
sudo service udhcpd start
sudo update-rc.d hostapd enable
sudo update-rc.d udhcpd enable
这时重启树莓派就行了,不过我遇到一个问题,就是重启后虽然能连上刚建立的ap,但是访问不了外网,执行
sudo iptables -t nat -S
sudo iptables -S
发现原来建立的ip转发规则没了,证明,之前在/etc/network/interfaces添加的
up iptables-restore < /etc/iptables.ipv4.nat
没有执行!!!!up意思是在接口启用时执行后面的代码,查了网上资料也没有找到其不能运行的具体原因,看来只能自己另想办法调用。Linux下有自启动配置文件,树莓派也不例外,所以只需要将
iptables-restore < /etc/iptables.ipv4.nat
这个命令放入自启动配置文件就行
sudo nano /etc/rc.local
在exit 0的上一行
加入
iptables-restore < /etc/iptables.ipv4.nat
保存即可。重启树莓派后完美解决问题
树莓派设置无线热点(RTL8188CUS芯片)相关推荐
- 树莓派做无线网络服务器,树莓派做无线热点
虽然之前我们使用树莓派成功刷入 OpenWrt 来做路由器使用,不过娱乐性却显得比较单一,无法方便地安装其他各种软件,从源码编译也会更加麻烦(经常是缺少各种头文件).因此,今天我们决定使用官方的 Ra ...
- Ubuntu16.04安装无线网卡驱动+设置无线热点(AP)
目录 选购USB无线网卡--rtl8821CU 下载相关驱动--[https://github.com/qslia/rtl8821CU](https://github.com/qslia/rtl882 ...
- win7无线热点_Windos7系统笔记本设置无线热点教程,应急时候可以用
有的时候,有的地方,我们只有一根网线,一台笔记本,没有无线路由器,但是需要无线信号,这时候完全可以将笔记本设置成热点,供其他设备上网用. 一.准备工作: 1.一台笔记本都必须带有无线功能(没无线功能的 ...
- W7设置无线热点详细方法 [复制链接]
转至:http://bbs.xiaomi.cn/thread-2559513-1-1.html 看了很多篇Win7系统设置无线热点的贴,还有的贴说W7系统设置无线热点后,手机根本搜索不到.自己尝试了有 ...
- Kali Linux 建立无线热点 · RTL8188CUS
0x00 环境 Kali Linux (可以是树莓派) 网卡芯片 RTL8188CUS 0x01 确保托管打开 root@zrools:~# apt-get -y install rfkill roo ...
- 计算机配置中无可移动设备访问,由于您的计算机尚未建立以太网,wifi或移动数据连接,因此我们无法设置移动热点-...
在热点界面上,选择"设置移动热点" 进入设置界面,输入"密码",然后单击"保存"以修改移动热点的密码. 如果您无法通过简单的设置解决问题,则 ...
- 共享网络获取树莓派ip_从零开始:树莓派共享 WiFi 秒变无线热点(树莓派路由器...
概述 树莓派是一款来源于英国慈善组织"Raspberry Pi 基金会"的基于微处理器的硬件平台.核心是 Broadcom ARM 架构 CPU,可以完整运行 Ubuntu.Win ...
- 从零开始:树莓派共享 WiFi 秒变无线热点(树莓派路由器
树莓派共享 WiFi 在线配置工具已上线,一键共享 WiFi,再也不用手打指令啦. 戳:树莓派共享 WiFi 在线配置工具 概述 树莓派是一款来源于英国慈善组织"Raspberry Pi 基 ...
- win7如何设置wifi热点_xp系统怎么设置无线网络热点(电脑设置wifi热点步骤)
现在手机基本都是可以开启wifi热点功能,但有时候因为各种原因,比如没有无线或者路由器有问题等情况,手机又需要使用网络,这个时候需要用电脑设置wifi热点.那么,怎么用电脑设置wifi热点呢?下面分别 ...
最新文章
- #100天计划# 2013年10月14日
- 人类信息接收过去、现在与未来 ——我对于内容产业的判断
- 中控指纹采集器开发指纹识别项目(说明)
- 华为云发布 GaussDB(DWS) 实时数仓,技术创新释放行业数据价值
- mysql备份psb文件怎么打开,当迁移 Navicat 到新电脑时,如何保留数据库连接信息?...
- SSM框架及例子(转)
- centos7上安装nodejs
- 安装CentOS7虚拟机
- AttributeError: ‘torch.return_types.max‘ object has no attribute ‘dim‘
- 通过tomcat配置solr 4.10.3
- cn域名注册国外_国内注册域名有什么规则?有什么要求?
- python解决控制问题系例之一:解决微分方程-状态方程求解作图问题
- MFC中得到2个SYSTEMTIME时间差的函数
- ABR与ASBR区别
- UG/NX 二次开发(C#)自动出2D零件图思路
- CharacterUtils 判断中英文,英文大小写
- 全网17个在线平面设计网站评测(基础体验)
- python byte类型_Python3的字节类型(bytes)
- 新人想要做好视频号;一下几点一定要明白。
- 典当行抵押需要什么资料