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

安装系统

首先从官网下载 Raspbian 系统,有三个版本可供下载选择:Raspbian Buster with desktop and recommended software(1.9G)

Raspbian Buster with desktop(1.1G)

Raspbian Buster Lite(0.4G)

不同版本的区别在名字上已经写得很清楚了,大家可以自己选择。考虑到只是为了做一个无线热点,我们可以选择第三个版本 Lite 来减少树莓派的散热。

下载镜像之后解压,使用 dd 命令将镜像写入到 tf 卡(Windows 可以用 win32diskimager):sudo dd if=2019-07-10-raspbian-buster.img of=/dev/disk2 bs=1m

然后启动树莓派,因为 ssh 默认是关闭的,第一次使用需要外接显示器和键盘来处理一下。

使用默认账户 pi 和默认密码 raspberry 登陆系统,然后配置树莓派:pi@raspberrypi:~/log $ sudo raspi-config

选择 Interfacing Options -> SSH -> YES,然后看一下树莓派的 ip 地址:pi@raspberrypi:~/log $ ifconfig

eth0: flags=4163 mtu 1500

inet 10.0.0.7 netmask 255.255.255.0 broadcast 10.0.0.255

inet6 fe80::85a6:2e71:a32a:e02b prefixlen 64 scopeid 0x20

ether b8:27:eb:10:96:14 txqueuelen 1000 (Ethernet)

RX packets 52535 bytes 62498965 (59.6 MiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 36637 bytes 4649690 (4.4 MiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73 mtu 65536

inet 127.0.0.1 netmask 255.0.0.0

inet6 ::1 prefixlen 128 scopeid 0x10

loop txqueuelen 1000 (Local Loopback)

RX packets 1708 bytes 234566 (229.0 KiB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 1708 bytes 234566 (229.0 KiB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

然后在我们的电脑上就可以通过 ssh 来登陆啦。

修改 apt 源

考虑到国内特殊的网络环境,我们可以将树莓派的 apt 软件源修改一下,提高以后软件下载速度。

先修改 Raspbian 的源,参考科大源:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

sudo sed -i 's|raspbian.raspberrypi.org|mirrors.ustc.edu.cn/raspbian|g' /etc/apt/sources.list

修改之后大概是这样子:cat /etc/apt/sources.list

deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

deb-src http://mirrors.ustc.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi

再修改 Raspberrypi 的源,参考科大源:sudo cp /etc/apt/sources.list.d/raspi.list /etc/apt/sources.list.d/raspi.list.bak

sudo sed -i 's|//archive.raspberrypi.org|//mirrors.ustc.edu.cn/archive.raspberrypi.org|g' /etc/apt/sources.list.d/raspi.list

修改之后大概是这样子:cat /etc/apt/sources.list.d/raspi.list

deb http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ buster main

deb-src http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian/ buster main

更新:sudo apt update

Get:1 http://mirrors.ustc.edu.cn/raspbian/raspbian buster InRelease [15.0 kB]

Get:2 http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian buster InRelease [25.1 kB]

Get:3 http://mirrors.ustc.edu.cn/raspbian/raspbian buster/non-free Sources [139 kB]

Get:4 http://mirrors.ustc.edu.cn/raspbian/raspbian buster/main Sources [11.3 MB]

Get:5 http://mirrors.ustc.edu.cn/raspbian/raspbian buster/rpi Sources [1,132 B]

Get:6 http://mirrors.ustc.edu.cn/raspbian/raspbian buster/contrib Sources [78.5 kB]

Get:7 http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian buster/main Sources [80.1 kB]

Get:8 http://mirrors.ustc.edu.cn/archive.raspberrypi.org/debian buster/main armhf Packages [234 kB]

配置无线热点

为了设置无线热点,我们的树莓派必须拥有一个无线网卡,如果 3B 以上型号则可以使用板载的 wifi 模块,而我手上的是一个2B+的树莓派,因此需要一个USB无线网卡。刚好也有一个闲置的迷你网卡 RT5370,插到USB口即可被识别:ifconfig

# 可以看到接口是 wlan0

wlan0: flags=4163 mtu 1500

......

设置无线热点,我们可以有两种方案:设置为独立的NAT网络

桥接原来的网络

NAT网络

要配置为独立的NAT网络,我们主要使用 DNSMasq 和 HostAPD 这两个软件,直接安装:sudo apt install dnsmasq hostapd

接着给 wlan0 配置一个静态 IP,假设我们使用 192.168.2.x 的网段,修改 dhcpcd 配置:sudo vim /etc/dhcpcd.conf

# 增加下面的配置

interface wlan0

static ip_address=192.168.2.1/24

nohook wpa_supplicant

然后重启一下 dhcpcd 让 wlan0 的配置生效:sudo service dhcpcd restart

配置 DHCP 服务器(dnsmasq)

dnsmasq默认的配置文件有详细的注释说明,我们这里提供一个最简单的配置:sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak

sudo vim /etc/dnsmasq.cnf

# 配置内容

interface=wlan0

dhcp-range=192.168.2.2,192.168.2.20,255.255.255.0,24h

然后重启一下 dnsmasq:sudo services dnsmasq restart

配置无线热点(hostapd)

首先给 hostapd 创建一个配置文件:sudo vim /etc/hostapd/hostapd.conf

# 配置内容

interface=wlan0

driver=nl80211

ssid=热点名称

hw_mode=g

channel=7

wmm_enabled=0

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa=2

wpa_passphrase=热点密码

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCMP

如果我们使用的是 5G 的无线网卡,可以将 hw_mode 改为 a,它的取值有4种:a = IEEE 802.11a (5 GHz)

b = IEEE 802.11b (2.4 GHz)

g = IEEE 802.11g (2.4 GHz)

ad = IEEE 802.11ad (60 GHz)

然后告诉系统我们使用这个配置文件:sudo vim /etc/default/hostapd

# 修改 DAEMON_CONF,注意去掉前面的注释 #

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

然后开启 hostapd:sudo systemctl unmask hostapd

sudo systemctl enable hostapd

sudo systemctl start shotapd

配置路由转发

修改 /etc/sysctl.conf 文件:sudo vim /etc/sysctl.conf

# 去掉注释

net.ipv4.ip_forward=1

修改 iptables:sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

保存 iptables 规则:sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

在开机的时候加载:sudo vim /etc/rc.local

# 在 exit 0 之前加上这一行

iptables-restore < /etc/iptables.ipv4.nat

至此就大功告成了,重启树莓派,手机上应该可以搜到新建的热点信号并可以上网。

桥接网络

在上面的方式中,手机连上后可以看到分配到的ip地址是 192.168.2.x,它跟我们路由器的ip并不在同一个NAT网络中。如果想要在同一个网络中,可以使用桥接网络的方式。

配置桥接网络的wifi热点,我们需要使用 hostapd 和 bridge-utils:sudo apt install hostapd bridge-utils

因为我们要将 eth0 和 wlan0 进行桥接,所以不需要 dhcpcd 为这两个接口分配 ip 地址:sudo vim /etc/dhcpcd.conf

# 添加到文件末尾,但是在 interface 前

denyinterfaces wlan0

denyinterfaces eth0

配置桥接

然后创建一个 bridge:sudo brctl addbr br0

连接 eth0:sudo brctl addif br0 eth0

配置热点

hostapd 的配置文件和之前的类似,只需要额外指定 bridge=br0 并去掉 driver=xxx:interface=wlan0

bridge=br0

ssid=热点名称

hw_mode=g

channel=7

wmm_enabled=0

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa=2

wpa_passphrase=热点密码

wpa_key_mgmt=WPA-PSK

wpa_pairwise=TKIP

rsn_pairwise=CCMP

然后开启 hostapd 就可以了:sudo systemctl unmask hostapd

sudo systemctl enable hostapd

sudo systemctl start hostapd

参考:

树莓派做无线网络服务器,树莓派做无线热点相关推荐

  1. 校园无线网络服务器,某校园无线网络覆盖设计方案.doc

    PAGE PAGE 43 ***********无线局域网 技术建议书 2009年9月 目 录 TOC \o "1-3" \h \z \u HYPERLINK \l "_ ...

  2. 利用无线网络数据包分析无线网络安全

    转载:http://security.ctocio.com.cn/236/11489236.shtml 导言 无线网络的弊端在于你总是无法看到所面对的问题.在无线网络中,建立连接并不像连接有线网络那样 ...

  3. 无线网络(5) 无线网络安全性

    无线网络的安全性由认证和加密来保证. 认证允许只有被许可的用户才能连接到无线网络: 加密的目的是提供数据的保密性和完整性(数据在传输过程中不会被篡改). 802.11标准最初只定义了两种认证方法: l ...

  4. 无线网络(4) 无线网络基本工作原理

    无线网络与有线网络不同,无线网络并不是始终存在的,对于独立基本服务集(IBSS),当电脑全部关闭时,此无线网络就不存在了:对于基础结构基本服务集(infrastructure),当无线访问点(AP)关 ...

  5. 计算机无线网络怎么连接,电脑无线网络连接不上,小编教你电脑无线网络连接不上怎么办...

    无线网络是帮助我们摆脱网线的束缚,它的出现带来了巨大的方便,笔记本也在用户中越来越普及.然而却时常会遇到笔记本电脑无线网络连接不上的问题,这种问题该怎样解决呢?下面,小编给大家分享电脑无线网络连接不上 ...

  6. win7无法打开无线网络服务器,笔记本win7系统无线网络连接受限制或无连接的解决方法...

    笔记本win7系统无线网络连接受限制或无连接的解决分享给大家,随着网络科技的发展,无线网络已经在广泛的被使用了,而在使用过程中会遇到一些问题,比如遇到无线网络连接受限制,导致无法连接,这是怎么回事呢? ...

  7. xp重启无线网络服务器,XP系统怎样重置网络命令|XP系统快速重置网络命令的方法...

    不少WindowsXP系统用户反馈,自己在使用电脑过程中,经常会因为一些网络问题,而导致无法上网.而网卡.路由等网络设备又都是正常的,可就是上不了网.这该怎么办呢?现在,系统城小编就和大家分享一下Wi ...

  8. 无线覆盖服务器,港口码头无线覆盖系统方案的构成及功能实现

    一.概述 在现代化信息社会,港口码头的建设,离不开信息的建设,保证网络和通讯的正常运行,不过由于港口码头的环境布局复杂,尤其是近海作业区,受海潮的影响,不适合大面积地铺设线缆:在作业区域,如集装箱堆放 ...

  9. 怎样取消无线配置服务器,如何 去掉无线配置服务器

    如何 去掉无线配置服务器 内容精选 换一换 请您在购买前确保已完成注册和充值.详细操作请参见如何注册公有云管理控制台的用户?登录管理控制台.单击管理控制台左上角的,选择区域和项目.选择"计算 ...

最新文章

  1. 求解线性最小二乘问题的奇异值分解及广义逆法的C++实现
  2. C++基础8【难】 回顾:数组指针,函数指针,函数指针做函数参数 C语言多态
  3. ifconfig,netstat 命令找不到解決办法
  4. 我的博客园第一个博客.
  5. (十一)python3 只需3小时带你轻松入门——面向对象
  6. react 子传参父_React 子组件向父组件传值的方法
  7. Intel 4004,世界上首个CPU,进不惑之年
  8. opencv笔记(6):彩色图像直方图
  9. 【自然框架】——重开在线演示
  10. 《html5 从入门到精通》读书笔记(三)
  11. Servlet读取xml文件的配置参数
  12. java环境变量配置验证_怎么验证Java环境变量配置成功
  13. MSET key value [key value ...]
  14. 通过bootstrap4框架制作商城网页
  15. 刷原生android 8.0,怎样刷入安卓原生系统 小米古董机刷完安卓8.0健步如飞!感觉比MIUI9还快...
  16. Forest详细介绍
  17. FPGA学习教程-黑金AX301B
  18. js笔记--BOM编程
  19. 求解TSP问题神器——elkai(简单好用)
  20. CenterFusion代码复现

热门文章

  1. Linux重启网络后浮动ip丢失,Linux系统浮动IP的配置
  2. 谷歌浏览器提示:无法访问此网站网址为 http://localhost:6667/XXX/XXX 的网页可能暂时无法连接,或者它已永久性地移动到了新网址
  3. 跨境电商:如何高效地做海外网红营销?
  4. 《循序渐进LINUX》笔记
  5. markdown tips :发布和保存的区别+避免打字键入文字后替换删除后面的字(更改打字时的光标模式:竖线或黑块)insert键+键盘文字选中方法+csdn 上传图片不加水印
  6. iOS 图片碎片化轮播
  7. 齐岳定制服务-放射性同位素18f、99mtc、125l、68Ga小分子/抗体/纳米粒子/生物蛋白氘标放射性同位素定制外包
  8. 一名程序猿的习惯养成记录手帐(十一)
  9. cad简化螺纹lisp_几个CAD很有用的lisp程序_强劲动力
  10. Intel 82579v Gigabit network Server2008 R2网卡驱动