Raspberry pi作为卡片式微型电脑,本身没有自带显示器、鼠标、键盘等外设,如果想对Raspberry PI进行设定需要连接显示器,或者通过路由器ssh登陆才可以。心想Raspberry pi是可以运行Linux系统的卡片型电脑,为何不尝试把Raspberry Pi做成一个无线AP,想登陆Raspbery pi的时候就比较方便了。后续也可以加上USB存储外设之类的做个多媒体网关等等。

主要的实现思路是wlan0设定成固定IP,eth0动态获取IP。Raspberry Pi运行hostapd和udhcpd分别作为无线AP热点和DHCP服务器给终端分配IP地址。

目前我手上的wifi网卡是Realtek的8818芯片。如果直接按照网上的教程安装hostapd的话会出现错误。经过一番查找,Realtek公司专门有针对8818芯片的hostapd版本,网上牛人已经把相关代码放到github上,我们直接安装就可以了。

为了能正常为8818芯片的wifi网卡安装上hostapd,首先要卸载掉原先的hostapd

sudo apt-get autoremove hostapd

然后安装8818芯片版本的hostapd

wget https://github.com/jenssegers/RTL8188-hostapd/archive/v2.0.tar.gztar -zxvf v2.0.tar.gz

然后编译安装

cd RTL8188-hostapd-2.0/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安装完毕。

接下来安装udhcpd

sudo apt-get install udhcpd

安装完成后配置/etc/udhcpd.conf

start 192.168.20.20 # This is the range of IPs that the hostspot will give to client devices.
end 192.168.20.200
interface wlan0 # The device uDHCP listens on.
remaining yes
opt dns 8.8.8.8 4.2.2.2 # The DNS servers client devices will use.
opt subnet 255.255.255.0
opt router 192.168.20.1 # The Pi's IP address on wlan0 which we will set up shortly.
opt lease 864000 # 10 day DHCP lease time in seconds

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

#DHCPD_ENABLED="no"

为了下次启动仍然有效,我们需要配置/etc/network/interfaces文件:

sudo nano /etc/network/interfaces

注释掉所有的关于无线网卡的部分,最后应该变成下面所示:

#wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
#iface default inet dhcp

注意保留allow-hotplug wlan0,英文原文是不保留的,但是我操作下来发现如果不保留这段的话,无线网卡有时无法正常配置IP,最后无线网卡IP的配置信息如下:

allow-hotplug wlan0
iface wlan0 inet staticaddress 192.168.20.1netmask 255.255.255.0

编辑hostapd配置

sudo nano /etc/hostapd/hostapd.conf

启动IP转向功能以便于开通NAT

sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

net.ipv4.ip_forward=1

配置iptables防火墙

我们可以做个脚本名为nat.sh,以便启动的时候自动运行nat相关配置

#!/bin/sh
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 chmod +x nat.sh

编辑/etc/rc.local文件,使之开机时运行nat相关iptabls配置和启动hostapd

sudo nano /etc/rc.local

在exit 0上面加上以下两行后保存退出

sudo service hostapd start

sh /home/pi/nat.sh

再让udhcpd也启动时一起运行。

sudo update-rc.d udhcpd enable

所有的步骤结束后重启Raspberry pi.

大功告成!

PS:这里碰到了几个小问题。

  1. 不知是问么原因,原本打算用sudo update-rc.d hostapd enable使hostapd开机启动的。但是会报错无法开机启动,后来决定在/etc/rc.local上加上sudo service hostapd start的方式解决。

  2. 关于iptables,原本打算用sudo sh -c "iptables-save > /etc/network/iptables",然后在/etc/network/interface上加上 up iptables-restore < /etc/network/iptables方式使nat相关配置生效的。但是不知什么原因重启Raspberry pi后一直不生效。也只能通过万能的rc.local上加上sh /home/pi/nat.sh的方式解决。

后期打算加上自动加载USB存储设备,通过媒体共享的方式给我的IPAD,iphone等共享文件,播放视频等等。

转载于:https://blog.51cto.com/raspjason/1690614

Raspberry pi做成无线热点相关推荐

  1. 解决Raspberry Pi不识别RTL8188eu无线网卡芯片的问题

    2019独角兽企业重金招聘Python工程师标准>>> 最近在折腾Raspberry Pi,当时也没留意,看在价格的份上,买了Mercury的水星网络 MW150US 超小型150M ...

  2. Raspberry Pi 3b+制作24小时热点

    Raspberry Pi(中文名"树莓派"),是只有信用卡大小的微型电脑,其系统基于Linux.为了改善学校宿舍的上网环境(校园网登陆系统导致不能用路由器多设备通用网络),通过树莓 ...

  3. 基于Raspberry PI和LMS构建的家庭无线背景音乐系统

    1.        简介 背景音乐系统的最大特点就是实现各个房间能够同步的播放相同音乐内容,使得用户在家庭的各个角落都能收听到自己喜爱的音乐.其系统已经发展的比较成熟了,大部分都是通过中央功放加上布置 ...

  4. 制作Python,Raspberry Pi,电机和传感器版无线控制漫游车

    构建功能强大且可升级的个人机器人. 您将学习如何控制伺服系统.响应传感器输入以及了解您的机器人在何处使用 GPS. 您还将学习多种连接机器人并向其发送指令的方法,从 SSH 连接到从手机发送短信. 内 ...

  5. 用树莓派Raspberry Pi 4B制作一个无线投屏器(20200803)

    目录 无线投屏说明 投屏协议及支持软件 Miracast协议(Windows & Android设备) AirPlay协议(macOS & iOS设备) 无线投屏控制 无线投屏说明 请 ...

  6. Facebook 发币 Libra;谷歌十亿美金为穷人造房;第四代树莓派 Raspberry Pi 4 发布 | 开发者周刊...

    [CSDN编者按]六月最后一周的科技圈,就像北京的桑拿天一样热闹.Facebook发币.Google 10 亿美金给穷人造房子,京微力小程序大赛如火如荼地举行......最近一周就有哪些开发者新闻呢? ...

  7. 共享网络获取树莓派ip_从零开始:树莓派共享 WiFi 秒变无线热点(树莓派路由器...

    概述 树莓派是一款来源于英国慈善组织"Raspberry Pi 基金会"的基于微处理器的硬件平台.核心是 Broadcom ARM 架构 CPU,可以完整运行 Ubuntu.Win ...

  8. Raspberry Pi 3 Model B入手安装小记

    1.买了最新出来的raspberry Pi 3,集成了wifi和蓝牙模块,省去了额外购买wifi模块和蓝牙模块的麻烦.为了保护脆弱的原件,特地买了一个专用的raspberry Pi盒子用来存放,考虑到 ...

  9. CSDN周刊:Facebook 发币 Libra;谷歌十亿美金为穷人造房;第四代树莓派 Raspberry Pi 4 发布

    [CSDN编者按]六月最后一周的科技圈,就像北京的桑拿天一样热闹.Facebook发币.Google 10 亿美金给穷人造房子,京微力小程序大赛如火如荼地举行-最近一周就有哪些开发者新闻呢?就在本期开 ...

最新文章

  1. python代码案例详解-新手必学Python爬虫之Scrapy框架案例详解
  2. 罗伯特·帕丁森Robert Pattinson(2)
  3. leetcode 1011. 在 D 天内送达包裹的能力(二分法)
  4. matlab与STK互联(不使用connect软件的互联)
  5. TOP 1%的软件工程师和其他 99%有什么不同?
  6. python3.7版本简介_python3.7.2各平台安装简介
  7. win7 64位系统没有语音识别,该如何解决?
  8. vue 第七天(循环遍历)
  9. 图:Flash渲染控件安装失败原因所在.
  10. FPGA定点数字信号处理技巧(一)
  11. 在谷歌浏览器中安装IE Tab插件
  12. openbsd运行Linux应用程序,OpenBSD上的服务管理程序rcctl
  13. 后端使用SpringBoot和Jwt工具与Redis数据库+前端Vue Element Admin实现用户携带token的登录功能案例
  14. 朋友圈利诱裂变遭封杀,私域流量成裂变新关键
  15. python爬虫--小说爬取
  16. rust 局域网联机_Steam上有哪些值得推荐的可以多人局域网联机的游戏?
  17. 英语日常口语对话(7)
  18. 【运维项目】零基础小白也能学会的运维项目
  19. 网易云音乐(netease-cloud-music)无法通过图标打开,只能用命令行开启
  20. 全宇宙最全的bash 脚本常见用法总结!

热门文章

  1. Java中Long和long的区别
  2. 手机直接安装linux系统6,手机直接安装linux系统
  3. 拼多多app是原生还是html,拼多多上中下截图示例
  4. 视频教程-MVC5+EF6之巧租房系统-.NET
  5. protobuff的erlang nif封装
  6. python编程第一程序_第一个Python程序_Python编程开发教程
  7. PS磨皮插件Ultimate Retouch Panel
  8. 【给出 n,输出杨辉三角的前 n行】
  9. Kotlin入门笔记(八)集合 与 遍历
  10. 编译与Rviz可视化