本文目录

  • 1、准备工作
  • 2、安装无线AP和管理软件
  • 3、设置网络路由
    • 3.1、树莓派的无线网络接口IP配置
    • 3.2、启用路由和IP伪装
    • 3.3、为无线网络配置DHCP和DNS服务
  • 4、确认无线配置
  • 5、配置 AP 软件
  • 6、运行wifi无线AP

树莓派可用作网络中的一个wifi无线路由器。让使用无线接入的计算机和设备可以接入网络。
如下图所示,本来的已经就有了一个带路由器能独立上网的网络了,只是这个网络不带无线功能。现在我们可以用一个树莓派设置成一个独立的wifi无线路由器,给这个网络下增加一个独立的无线网络,让笔记本电脑可以通过wifi无线上网。

                                         +- RPi -------++---+ 10.10.0.2   |          +- Laptop ----+|   |     WLAN AP +-)))  (((-+ WLAN Client ||   | 192.168.4.1 |          | 192.168.4.2 ||   +-------------+          +-------------++- Router ----+     || Firewall    |     |   +- PC#2 ------+
(Internet)---WAN-+ DHCP server +-LAN-+---+ 10.10.0.3   ||   10.10.0.1 |     |   +-------------++-------------+     ||   +- PC#1 ------++---+ 10.10.0.4   |+-------------+

树莓派4、树莓派 3 或者 树莓派 Zero W 都内置了无线功能(如果你的树莓派不支持无线功能 ,那么你可以在你的树莓派连接上一个支持接入点模式的USB 无线网卡)都可以用于创建wifi无线AP。

本文档描述的方法在:最新树莓派OS bullseys + 树莓派 zero W上测试通过过,和本文学唯一的区别就是有线以太网络使用的是192.168.3.xxx网段。

1、准备工作

  1. 树莓派的管理员权限
  2. 最好是,通过直接将屏幕和键盘连接到树莓派的本地访问模式(免得设置过程中因为ip的变化导致ssh连接中断)
  3. 树莓派已经连接到以太网并正常启动
  4. 升级到最新的树莓派操作系统,如果在此配置过程中安装了软件包,则记得重启树莓派,确保安装正确完成。
  5. 当前的网络配置为:
  6. 树莓派连接的以太网网络的 IP 配置:
    在以太网 LAN 上配置了 IP 网络10.10.0.0/24,树莓派将为192.168.4.0/24无线客户端管理 IP 网络。
  7. 准备好无线客户端设备,比如笔记本电脑、智能手机等,用于测试wifi无线AP是不是配置成功。

2、安装无线AP和管理软件

  1. 安装hostapd接入点软件包:
sudo apt install hostapd
  1. 启用无线接入点服务并将其设置为在树莓派启动时自动启动:
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
  1. 为了给无线客户端提供网络管理服务(DNS、DHCP),树莓派需要安装软件包dnsmasq:
sudo apt install dnsmasq
  1. 最后,安装netfilter-persistent及其插件iptables-persistent。这二个程序用于保存防火墙规则并在 Raspberry Pi 启动时恢复它们:
sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptables-persistent

软件安装完成。稍后我们将配置软件包。

3、设置网络路由

在这个配置里树莓派将运行和管理一个独立的无线网络。它还在无线网络和以太网网络之间提供路由功能,为无线客户端提供互联网访问。如果你不需要无线终端可以访问互联网,那么你可以跳过下面的“启用路由和 IP 伪装”这个设置,这样树莓派就不会有路由功能,那么树莓派就会带起一个独立的无线网络。

3.1、树莓派的无线网络接口IP配置

树莓派为无线网络运行一个DHCP服务器;树莓派的无线网卡wlan0需要配置成静态IP 。树莓派这时是做为这个无线网络上的路由器,一般都会配置成这个IP子网里的第一个IP地址:192.168.4.1。

我们需要修改配置文件dhcpcd:

sudo vi /etc/dhcpcd.conf

在文件末尾添加以下内容:

interface wlan0static ip_address=192.168.4.1/24nohook wpa_supplicant

3.2、启用路由和IP伪装

配置树莓派让无线客户端可以访问主(以太网)网络上的计算机,访问互联网(如果你不希望无线客户端访问以太网网络和互联网,可以直接跳过这一章)。

启用路由(允许流量在树莓派中从一个网络流向另一个网络),用以下命令创建一个文件:

sudo nano /etc/sysctl.d/routed-ap.conf

文件内容如下(开启IPv4的转发功能)):

# Enable IPv4 routing
net.ipv4.ip_forward=1

开启路由功能后,来自192.168.4.0/24的主机访问10网段的网络和外网。此时,我们不能修改主路由器配置,所以为了情况下让192网段的无线终端可以访问外网,树莓派需要开启IP“伪装”功能,把元线终端的 IP 地址替换为自己在 以太网络上的 IP 地址10.10.0.2。

  • 从上行方向,树莓派会把无线终端来的数据都替换成自己的LAN的IP地址,所以对主路由器来说,他看到的只有树莓派的IP地址的数据。
  • 从下行方向角度,树莓派会把外部来的数据都替换回各个无线终端的IP地址,并把数据发送给无线终端

我们需要在树莓派上开启IP伪装,既NAT功能:

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

保存并通过netfilter-persistent服务在系统启动时自动启用这个IP伪装功能

sudo netfilter-persistent save

注意,这个NAT规则,是保存到目录/etc/iptables/ 中的。

3.3、为无线网络配置DHCP和DNS服务

前面安装的dnsmasq提供了DHCP和DNS服务, 默认的配置文件模板很大,但我们其实只需要其中很小的功能,所以这里我们选择从空文件开始添加配置,这样还更容易一些。

备份原始的配置模板文件,并新建一个空的配置文件:

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo vi /etc/dnsmasq.conf

把以下内容添加到文件中并保存:

interface=wlan0 # Listening interface
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h# Pool of IP addresses served via DHCP
domain=wlan     # Local wireless DNS domain
address=/gw.wlan/192.168.4.1# Alias for this router

树莓派会在192.168.4.2和之间192.168.4.20选择一个IP为无线终端端提供IP地址,租用时间为 24 小时。这个DHCP/DNS服务正常工作后,你也可以在无线终端侧通过gw.wlan这个名称访问树莓派。

4、确认无线配置

To ensure WiFi radio is not blocked on your Raspberry Pi, execute the following command:

世界各国按协议分配了不同的wifi无线电频段,以确保不会相互干扰。Linux 操作系统允许为应用程序配置两个字母的“WiFi 国家代码”(例如 如果是在美国使用的计算机,那么就配置US)来帮助用户遵守这些规则。

在 树莓派操作系统中,如果没有配置wifi国家代码的话,5 GHz频段的无线网络是被禁用的。通常在安装过程中就已经配置好了wifi国家代码,当然也可以通过raspi-config工具配置。

5、配置 AP 软件

创建hostapd的配置文件/etc/hostapd/hostapd.conf,把wifi无线网络相关的各种参数放在这个文件中。

sudo vi /etc/hostapd/hostapd.conf

内容如下:

将以下信息添加到配置文件中。此配置假定我们使用频道 7,网络名称为raspberry_wifi_ap,密码为raspberry_wifi_password。注意,名称和密码不应包含引号,密码长度应介于 8 到 64 个字符之间。

country_code=CN
interface=wlan0
ssid=raspberry_wifi_ap
hw_mode=g
channel=7
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=raspberry_wifi_password
wpa_key_mgmt=WPA-PSK
wpa_pairwise=CCMP
#rsn_pairwise=CCMP

请注意:interface=wlan0和bridge=br0: 当hostapd启动时时,hostapd会根据这个配置将网卡wlan0设置为Linux网桥br0的一个成员,从而完成以太网卡eth0和无线网卡wlan0之间的桥接。

请注意该行country_code=GB:它将计算机配置为在英国使用。在中国,需要配置成CN。
如果你要:使用 5 GHz 频段,您可以将操作模式从hw_mode=g为hw_mode=a。hw_mode可以配置成以下值:

  • a = IEEE 802.11a (5 GHz)(需要硬件支持,注意3B+以上的树莓派才支持)
  • b = IEEE 802.11b (2.4 GHz)
  • g = IEEE 802.11g (2.4 GHz)

注意,更改时hw_mode,可能还需要更改channel成对应的值。

6、运行wifi无线AP

重启树莓派,并测试无线接入点是否已经可用。

sudo systemctl reboot

树莓派重新启动后,使用无线客户端(比如电脑,手机等)搜索无线网络。这时,你应该可以通过在文件/etc/hostapd/hostapd.conf中指定的网络名和密码接入外网。

如果在树莓派上启用了 SSH,你可以从无线终端那里通过ssh pi@192.168.4.1或ssh pi@gw.wlan来登录到树莓派。

如果你的无线终端可以通过上述命令登录到树莓派和连接互联网(如果你也设置了路由功能),那就说明树莓派无线路由器设置成功了。

把树莓派改造成无线软路由器(2)-----无线路由器模式(独立无线路由器)相关推荐

  1. 把树莓派改造成无线软路由器(1)-----桥接模式(无线AP接入点)

    本文目录 1.准备工作 2.安装无线AP 和管理软件 3.创建Linux网桥 3.1.创建网桥设备并填充网桥 3.2.定义网桥设备IP配置 4.确认无线配置 5.配置 AP 软件 6.运行wifi无线 ...

  2. 把树莓派改造成NAT软路由器

    本文目录 1.查看网卡情况 2.配置WAN口静态ip和LAN口上的DHCP server 3.配置IP转发和SNAT功能 3.1.开启Linux的报文转发功能 3.2.开启SNAT功能 3.3.测试网 ...

  3. 树莓派改造成通用计算机,218元!树莓派电脑板成功改造完整便携式电脑(图)...

    1月25日消息,大家对35美金(约合人民币218元)的树莓派电脑板并不陌生,树莓派电脑的相关报道也非常多,它的尺寸只有大约一盒纸牌的样子.它不是大家接触的速度最快的PC机,甚至结构简单的不能说是个事儿 ...

  4. 把树莓派改造成无线网卡(3)-----共享无线网络,无线网络转换成有线网络,让有线网络设备连上无线网络

    本文目录 1.准备工作 2.安装DNS和配置管理软件 3.设置网络路由功能 3.1.树莓派的有线网络接口IP配置 3.2.启用路由和IP伪装 3.3.为有线网络配置DHCP和DNS服务 4.运行 5. ...

  5. 树莓派改造成通用计算机,自制树莓派笔记本电脑,你也可以做到

    一 直以来树莓派都是大家最爱的单板机,它只有信用卡大小,却有着1G内存和900mHz的CPU.在创客的手上,它充分发挥了自己的光和热,将许多不可能变 成了可能.今天我就要用它打造一台超赞的小型笔记本电 ...

  6. 360无线wifi路由器连接到服务器,360PI无线路由器怎么联接无线+有线?

    工具/原料 猫 无线路由 网线 猫和路由器的连接 1.首先我们需要把猫和无线路由连接到一起.网线首先一段连载猫上的lan,另一端连接到无线路由上的wan上面就可以了. 2.我的电脑系统xp,就以xp为 ...

  7. 虚拟服务器路由器当交换机可以吗,怎么把无线路由器设置成无线交换机_路由器当交换机怎么设置方法-192路由网...

    问:怎么把无线路由器设置成无线交换机? 我有好几台无线路由器,主路由器已经设置好了可以正常上网.现在想把另一台无线路由器连接到主路由器下面,将其设置成无线交换机.请问应该怎么设置? 答:把无线路由器设 ...

  8. 旧电脑改路由器加文件服务器,如何将旧电脑改成软路由器 以winxp系统为例

    最近有winxp系统的用户反应,自己家里的有一台旧电脑,能否改成功能强大的软路由器么?一起来看看小编为大家讲解吧. 百度一下 下载 如果旧电脑支持U盘启动,选择 启动-写入硬盘镜像... 如果不支持U ...

  9. [玩转树莓派]树莓派配置成路由器

    现在手头上正好有一个树莓派3b+的板子,想折腾一下,用树莓派搞个简单的路由器玩玩. 树莓派3B+ / 4B板载了无线网络适配器,不需要额外增加无线网卡就可以把它打造成一个无线路由器.有一种方法是给树莓 ...

最新文章

  1. 关于Android加载的优化
  2. Java 回调函数的理解
  3. 在Python列表中删除重复元素的几种方法,用起来真好用
  4. pythonweb扫描器_Python安全工具之web目录扫描
  5. 安装composer以及laravel框架
  6. 【性能测试】性能测试工具选择
  7. 【视频教程】捷微开发视频系统讲课-陆续更新
  8. android intent拍照,Android通过Intent方式调用相机拍照取得图片
  9. jquery实现复选框checkbox全选,取消全选
  10. java多线程通信方法
  11. 容易被忽略的label标签
  12. 计算机二级修改并应用基本简历模板,如何通过Office模板轻松快捷创建简历
  13. 穿越技术火线,聆听内心声音——暨龙泉第三届IT禅修营
  14. android sd卡获取不到,解决Android10读取不到/sdcard/、/storage/emulated/0/文件的问题
  15. SLAM学习——李群与李代数
  16. Unity3D中 使模型变成变透明
  17. 计算最大回撤python_python 计算收益回撤比
  18. jQuery圆点slider轮播插件
  19. EmberZNet EFR32 OTA 注意点
  20. Github域名解析连接慢问题

热门文章

  1. 计算机用户自动退出,电脑中移动热点会自动关闭是怎么回事
  2. oracle实现explode,关于 explode的10篇文章推荐
  3. Hyperledger Fabric区块链浏览器搭建
  4. 自学建模你该怎么学?业内人士分析,给零基础的你一些建议!
  5. SVN服务端的安装配置(ubuntu18.01)
  6. 基于python3 pyppeteer的漫画爬虫及下载项目PiaoManga
  7. 小和尚挑水(信号量和PV操作)
  8. 选型宝访谈:如何借助API生态平台,一站式快速搞定APP开发?
  9. RCU到底是什么?为什么快?为什么可以读写并行?
  10. Leetcode 312. 戳气球