原理:Pi 使用有线连入网络,然后接 USB 无线网卡作为热点,提供 Wifi 接入。

USB 无线网卡驱动

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

修改 wlan0 为静态 IP

相当于设置路由器 wlan 口 IP,即我们访问路由器通常使用的:192.168.1.1

sudo vim /etc/network/interfaces

把原来关于 wlan0 的注释掉:(可能跟这个不一样,跟 wlan0 有关的注释掉即可)。

#auto wlan0
#iface wlan0 inet dhcp
#wpa-ssid "360WiFi-li"
#wpa-psk "xiaolizi"

添加下面的

iface wlan0 inet static
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.1

完成之后需要重启

安装 hostapd

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

sudo apt-get install hostapd

编辑 hostapd 默认配置文件

sudo vim /etc/default/hostapd

找到 #DAEMON_CONF= "",修改为:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

然后编辑sudo vim /etc/hostapd/hostapd.conf

增加以下代码:

[ruby] view plaincopy
# Basic configuration  interface=wlan0
ssid=raspberrywifi
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 

修改WiFi 名和密码

ssid=raspberrywifi
wpa_passphrase=12345678

保存退出,然后重启服务

sudo service hostapd restart

或者执行以下命令生效

sudo hostapd -dd /etc/hostapd/hostapd.conf

如果你使用的网卡提示一下信息

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。

安装新的 hostapd

删除原来的 hostapd

sudo apt-get autoremove hostapd

下载第三方驱动并安装

wget https://github.com/jenssegers/RTL8188-hostapd/archive/v1.1.tar.gz
tar -zxvf v1.1.tar.gz

编译

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

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

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

将 hostapd 加入开机自启动

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

如果这里提示的是失败,重启后网络建立成功,用手机可以搜到这个网络

安装 DHCP 服务

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

sudo apt-get install udhcpd

编辑配置文件

sudo vim /etc/udhcpd.conf //修改以下信息,start和end是重点,注意跟第一步的静态ip在一个网段
start 192.168.0.20
end 192.168.0.200
interface wlan0

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

#DHCPD_ENABLED="no"

启动 dhcp 服务器

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

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

配置路由转发

理论上是经过这一步,手机可以通过共享树莓派的无线网络上网了,但是可能还存在一些路由转发问题。

设置路由映射规则

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

编辑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

开起内核转发

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

其它问题

最近经常发现无线网卡配置的 DHCP 不能发挥作用,经过排查发现给无线网卡指定的静态 IP 失败了,也就是说无线网卡没有 IP 导致 DHCP 无法工作,将/etc/default/ifplugd的内容修改配置如下:

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

树莓派做 wifi 热点相关推荐

  1. linux树莓派连接wifi热点,如何将树莓派设置为WiFi热点

    折腾让树莓派作为 WiFi 热点,搞了几套不同的方案.最后结论是方案三直接安装 Mate 固件更简单些.但我偏要先说折腾人的方案四: 方案四中树莓派操作系统为Raspbian, 版本: 2017-09 ...

  2. 笔记本怎么做wifi热点(xp版)

    笔记本怎么做wifi热点(xp版) 出处:tu.6.cn  时间:2012-02-07  人气:7087我要提问我来说两句 随拍照也有LOMO风 美图秀秀让风景更出   win7笔记本上如何设置wif ...

  3. 用Linux做wifi热点/无线路由

    用Linux做wifi热点/无线路由 全文阅读 分步阅读 以fedora14为例安装hostapd,将Linux笔记本部署为一台高性能无限路由器,顺便说一句,我的fedora14安装在一台10英寸的上 ...

  4. html调用wifi热点,笔记本如何做wifi热点

    随着无线网络的流行,平板电脑.智能手机以及笔记本等产品也越来越对无线网络有依赖,其实我们可以将 Win7笔记本当无线路由器来使用,这样不仅笔记本可以上网,我们的其它无线设备,如其它笔记本或者智能手机等 ...

  5. 怎样用笔记本的无线网卡做一个AP 实现笔记本做wifi热点供手机、平板电脑wifi上网而不用无线路由器

    怎样用笔记本的无线网卡做一个AP  实现笔记本做wifi热点供手机.平板电脑wifi上网而不用无线路由器 首先前提是:笔记本要带无线网卡的! 利用WIndows 7的hostednetwork创建无线 ...

  6. 【树莓派】树莓派开放WiFi热点

    树莓派4B上创建WiFi热点(真实可用) 第一步: 给树梅派4B刷写系统,我用的是目前最新的官方系统,镜像名称为2021-01-11-raspios-buster-armhf.img.第一次进系统时请 ...

  7. 树莓派做无线网络服务器,树莓派做无线热点

    虽然之前我们使用树莓派成功刷入 OpenWrt 来做路由器使用,不过娱乐性却显得比较单一,无法方便地安装其他各种软件,从源码编译也会更加麻烦(经常是缺少各种头文件).因此,今天我们决定使用官方的 Ra ...

  8. 树莓派3 有线静态路由设置_配置树莓派为wifi热点(AP模式)

    该功能主要用于搭建一个小型的的网络,使得连接至热点的各个设备可以进行通信,用于构建物联网系统(如智能家居)或是无线控制指定设备.另外这一网络也是独立的,并未启用NAT连接至互联网,具有一定的安全性也为 ...

  9. 笔记本做wifi热点

    那天无意中听到一个同学提到用笔记本做手机的热点,我这个人是对什么新奇的东西都会感兴趣的,立马就去查了一下相关的操作方法,光说不练假把式. 首先开启无线,在开始菜单中运行cmd,右键"以管理员 ...

最新文章

  1. 根据status信息对MySQL服务器进行优化-2
  2. python定义一个dog类 类属性有名字毛色体重_面向对象实践,练习,Python
  3. 【NOIP2002】【codevs1098】均分纸牌
  4. python flask源码解析_浅谈flask源码之请求过程
  5. 分布式理论-BASE理论
  6. 常用-开发框架【转】
  7. python字符串二(find();index();count();rfind();rindex();replace();替换;.split();分割;join();合并)
  8. 硬件开源为什么如此之难?
  9. 深入理解JVM虚拟机读书笔记——运行时数据区
  10. excel字符串截取处理方法
  11. windows清理C盘
  12. 当当卓越京东商城货物配送流程揭秘
  13. hⅰgh怎么读音发音英语_gh和ph的发音
  14. 程序员常用刷题网站分享
  15. 宣武医院:让物联网为智慧医疗添翼
  16. Delphi隐藏/显示Windows桌面上的图标
  17. FICO 发票校验时修改统驭科目
  18. java设置httpheaders_HttpClient 请求添加Header头部信息
  19. Java程序设计实验(二):类的创建和封装实验
  20. [MATLAB]b样条方程基函数方程的表达式, 及n阶基函数作图

热门文章

  1. python爬虫教程:基于python框架Scrapy爬取自己的博客内容过程详解
  2. 科研人都在用的论文润色神器,速速收藏!
  3. 编程题—随机发放奖品
  4. drawio配置详解 打造自己的在线画图工具
  5. webgl_materials_variations_physical
  6. 企业元数据管理与架构设计
  7. 探索样机在创新中的关键角色,文章深入解析!
  8. 黄金价格走势之二:舍子线的运用
  9. python程序设计基础 实验五
  10. local-dirs usable space is below configured utilization percentage/no more