文档章节

树莓派创建wifi热点

夜丶魂
 夜丶魂
发布于 2017/05/05 13:46
字数 834
阅读 21
收藏 0

1、USB无线网卡驱动

如果接上USB无线网卡,使用ifconfig命令,能直接看到wlan0,那么恭喜你,可以直接跳过这一步。
如果没有请查询一下树莓派支持的USB无线网卡型号,可参考以下网址:
http://elinux.org/RPi_VerifiedPeripherals#USB_Wi-Fi_Adapters

2、修改wlan0为静态IP

sudo vim /etc/network/interfaces

添加下面的:

allow-hotplug wlan0
iface wlan0 inet static
address 10.10.10.1
netmask 255.255.255.0
gateway 10.10.10.1

完成之后需要重启

3、安装hostapd

官方的hostapd不支持8188CUS,后面需要重新卸载安装新的
笔者测试貌似这里必须先装旧的,然后后面卸了装新的,否则也不能用

sudo apt-get install hostapd

1)编辑hostapd 默认配置文件:

sudo vim /etc/default/hostapd

找到#DAEMON_CONF= "",修改为:
DAEMON_CONF="/etc/hostapd/hostapd.conf"
2)然后编辑:

sudo vim /etc/hostapd/hostapd.conf

增加以下代码:

# Basic configuration    
interface=wlan0  
ssid=RaspberryPi_Wifi
channel=1  
#bridge=br0  
  
# WPA and WPA2 configuration  
macaddr_acl=0  
auth_algs=1  
ignore_broadcast_ssid=0  
wpa=3  
wpa_passphrase=12345678  
wpa_key_mgmt=WPA-PSK  
wpa_pairwise=TKIP  
rsn_pairwise=CCMP  
  
# Hardware configuration  
driver=rtl871xdrv  
ieee80211n=1  
hw_mode=g  
device_name=RTL8192CU  
manufacturer=Realtek

3)保存退出,然后重启服务:

sudo service hostapd restart
# 或者
sudo hostapd -dd /etc/hostapd/hostapd.conf

4)如果你使用的网卡提示一下信息
Configuration file: /etc/hostapd/hostapd.conf
nl80211: 'nl80211' generic netlink not found
Failed to initialize driver 'nl80211'
rmdir[ctrl_interface]: No such file or directory
那么,还是要使用第三方的hostapd。

4、安装新的hostapd

1)删除原来的hostapd

sudo apt-get autoremove hostapd

2)下载第三方驱动并安装

链接:http://share.weiyun.com/783e42c87ca22c458cebd2456b067de6 (密码:kZHA)注:如已失效,请在下面评论通知

tar -zxvf v1.1.tar.gz

3)编译:

cd RTL8188-hostapd-1.1/hostapd
sudo make
sudo make install

4)然后再重启服务,应该提示成功:

$ sudo service hostapd restart
[ ok ] Stopping advanced IEEE 802.11 management: hostapd.
[ ok ] Starting advanced IEEE 802.11 management: hostapd.

5)将hostapd加入开机自启动

sudo service hostapd start
sudo update-rc.d hostapd enable

5、安装DHCP服务

以上步骤建立起了wifi热点,但是无法自动获取ip,需要以下步骤

sudo apt-get install udhcpd

1)编辑配置文件:

sudo vim /etc/udhcpd.conf
#修改以下信息,start和end是允许自动获取的起始和结束,注意跟第一步的静态ip在一个网段
start 10.10.10.10
end 10.10.10.100
interface wlan0

2)接下来编辑/etc/default/udhcpd并且将下面这行注释掉,以使DHCP Server正常工作:

#DHCPD_ENABLED="no"

3)启动dhcp服务器

sudo service udhcpd start
sudo update-rc.d udhcpd enable

经过此步手机已经可以接入wifi网络,并且自动获取ip

6、配置路由转发

理论上是经过这一步,手机可以通过共享树莓派的无线网络上网了,但是笔者一直没有成功
1)设置路由映射规则

sudo iptables -F
sudo iptables -X
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
sudo bash -c iptables-save > /etc/iptables.up.rules

2)编辑:

sudo vim /etc/network/if-pre-up.d/iptables

添加下面两行代码:

#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules

保存退出,然后修改iptables权限:

sudo chmod 755 /etc/network/if-pre-up.d/iptables

4)开起内核转发:

sudo vim /etc/sysctl.conf

找到下面两行:

#Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

把net.ipv4.ip_forward 前面的#去掉,保存退出。
然后:

sudo sysctl -p

7、其它问题

如果wlan0无法设置ip, 将/etc/default/ifplugd的内容修改配置如下:

INTERFACES="eth0"
HOTPLUG_INTERFACES="eth0"
ARGS="-q -f -u0 -d10 -w -I"
SUSPEND_ACTION="stop"

 

 

 

© 著作权归作者所有

共有 人打赏支持
夜丶魂
粉丝 6
博文 202
码字总数 131999
作品 0
长宁
高级程序员
树莓派配置无线网卡连接WIFI

在前面的文章中介绍了使用串口与树莓派连接的方法,但是串口连接不太便捷,因此本篇文章介绍wifi连接树莓派的方法。 无线网卡 树莓派2没有自带wifi模块,需要另外购买一个usb wifi模块。我使...

刘语彤
2015/08/04
0
0
树莓派随身工具箱:中间人劫持获取控制权

  *本文原创作者:Rc4x,本文属FreeBuf原创奖励计划,未经许可禁止转载   导读   上文讲解了树莓派随身工具箱的环境搭建,这段时间又对其进行了一些优化,主要是从便携美观上面改进。同...

FreeBuf
04/26
0
0
树莓派+一根网线直连笔记本电脑

用网线直连电脑,不经过路由器。这个方法最大的特点用最少的工具玩树莓派。 一、材料:树莓派一部、网线一根,笔记本电脑一台。 1、树莓派:带供电系统和烧好Raspbian系统的SD卡; 2、网线:...

maweitao
2014/07/31
0
1
用树莓派和DS18B20做个汽车温度记录仪[原创]

用树莓派和DS18B20做个汽车温度记录仪[原创] 很想知道夏日阳光暴晒下,汽车内的最高温度以及温度的变化情况。觉得用树莓派和DS18B20来实现应该很简单,于是就尝试捣鼓了一下,半天时间就搞定...

helesheng
08/01
0
0
远距离赏秋香,DIY树莓派望远镜

编者注:本项目来自Instructables,原作者为joshdont,转载请注明。 就像很多人说的,创客做的东西很多时候并没有什么用处,你甚至已经可以在市面上买到更便宜、更轻巧、功能更强大的成品,还...

吴攀
2015/12/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

sklearn中predict_proba用法(注意和predict的区别)

参考网址:https://blog.csdn.net/m0_37870649/article/details/79549142 # 返回预测标签 print(clf.predict(x_test)) # 返回预测属于某标签的概率 print(clf.predict_proba(x_test))...

小叮当_加V
7分钟前
0
0
docker swarm创建consul集群

version: '3.6'x-consul: &consul image: consul:latest volumes: - consul:/consulvolumes: consul:services: client: <<: *consul ports: - "8500:......

weidedong
9分钟前
0
0
Git客户端(TortoiseGit)基本使用详解

1、 环境安装 Git最新版下载地址:https://gitforwindows.org/ TortoiseGit,Git客户端,32/64位最新版及对应的语言包下载地址:https://tortoisegit.org/download/ 安装的方法,一直下一步就...

hblt-j
15分钟前
0
0
服务发现比较:Consul vs Zookeeper vs Etcd vs Eureka

这里就平时经常用到的服务发现的产品进行下特性的对比,首先看下结论: Feature Consul zookeeper etcd euerka 服务健康检查 服务状态,内存,硬盘等 (弱)长连接,keepalive 连接心跳 可配支持...

lemonLove
15分钟前
0
0
1、ElasticSearch的安装配置和使用

一、安装 按照个人习惯我习惯把自己的软件都安装到opt下 解压 tar -zxvf elasticsearch-6.3.2.tar.gz 重命名 mv elasticsearch-6.3.2.tar.gz esearch 移动 mv elasticsearch-6.3.2.tar.gz /o...

丑陋的皮囊
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部