如何在 树莓派 以及流量测量 ( NAPT 模式) 上构建 Wi-Fi 接 入点

物联网 ( IoT ) 是一种利用网络上产品的互连性的技术,通过使用传感器和摄像头图像实现数据交换和产品远程控制。随着物联网的采用不断扩大,对网络通信(通常称为流量)有更深入了解的需求日益增长。这些信息对于确定网络的容量和使用情况至关重要,因为一旦知道了流量,以下内容就变得清晰起来:

  • 全面使用所需的通信速度和带宽
  • 商业研究中预估的现收现付网络使用量

流量可以根据传感器和产品规格来计算,但在加密和系统集成期间产生的开销可能会导致这些因素的显著变化。彻底的测量是贴近实际的最佳方式,但如果传感器或摄像头侧没有流量测量机制,甚至可能无法实现。

因此,在本项目中,我们将介绍一个系统,其中 树莓派 用作 Wi-Fi 接入点,在测量流量的同时中继来自传感器和摄像机的流量。

首先,我们必须在树莓上安装’ hostapd '软件,可以使网络接口卡充当接入点和身份验证服务器,并配置其无线 LAN 接口(wlan0) ,使其被接受为Wi-Fi接入点。确保使用有线 LAN ( eth0 ) 与 Internet 端通信。

通过 Wi-Fi 使用 dnsmasq 进行 IP 地址分配 ( DHCP ) 连接到树莓的产品,和使用 nftables 进行地址转换 ( NAPT ) 通过树莓來通信。 然后我们将使用 pmacct 来测量通过无线 LAN 接口的流量。

通过使用 NAPT,即使许多物联网产品连接到无线网络侧,它们也可以使用分配给有线网络侧的单个 IP地址进行通信,其优点是最大限度地减少对现有环境的影响。

除了 NAPT 模式之外,还有用于构建接入点的桥梁模式,架构几乎相同。

使用树莓派( NAPT模式 )构建 Wi-Fi 接入点的步骤

让我们实际构建它。大概需要30分钟。

我们使用的是树莓派 3 model B+。你可以使用同时具有无线局域网和有线网络的任何型号,但我们推荐model 3或4。

  1. 树莓派 Imager 编程时的设置

树莓派 Imager 是一个流行的工具,用于安装树莓派操作系统,包括 Lite 版本(64位)。

编程时的设置如下

项目 配置示例 注意
主机名 hostapd-napt 可选
SSH 使能 认证方式可选。公钥认证需要SSH密钥。如果你对此没有准备,请选择密码身份验证。
用户名和密码 FooBar -User name= hostapdPassword = FooBar 可选项。特别对于密码,请指定不可预知的字符串。使用密码生成工具也是有效的。
Wi-Fi 无设置
语言环境设置 us – Timezone = Asia/Tokyo Keyboard Layout = us 可选项推荐
  1. 从树莓的有线网络检查互联网连接

将电缆插入树莓的有线网络端口( eth0 ),并确保它可以连接到Internet。下面的任务也可以通过 SSH 远程访问来工作。

  1. 第一次启动后更新 OS

启动树莓派 OS 后,请首先更新安装软件和库。重启完成更新。

  1. 通过 dhcpcd 禁用 wpa_supplicant 激活并为 wlan0 分配固定 IP 地址

wpa_supplicant 是连接到 Wi-Fi 接入点时通过身份验证( WPA )的软件。在这种情况下,由于树莓本身将是一个 Wi-Fi 接入点,因此该软件在运行时会引起冲突,因此它将被停止。同时,为无线 LAN 接口( wlan0 )分配固定的IP地址。
我们将地址 10.0.2.254 用于 wlan0。基本上,让它保持原样没有问题,但如果它与 eth0 侧的网络冲突,请更改。

确认
使用以下命令确认上述配置已完成

  1. hostapd 用于 Wi-F i接入点

hostapd 是一个 Wi-F i接入点服务器软件。该软件允许树莓派的无线局域网接口充当 Wi-F 接入点。
这里设置 SSID = TESTWLAN0, password = Aihei2oB。你可以根据自己的需要修改这些设置。

确认
使用以下命令确认上述配置已完成。

  1. dnsmasq DHCP 服务器

dnsmasq是轻量级的 DNS/DHCP 服务器软件。此时通过DHCP功能为连接到 Wi-Fi 接入点的产品分配 IP 地址。
分配的IP地址范围为 10.0.2.100 ~ 10.0.2.109 之间的10个地址。另外,DNS 服务器分别是 Google 和 Cloudflare 运营的公共 DNS 服务器地址,用于分发。地址和 DNS 服务器的数量都应该保持原样,但是如果你需要更多的 IP 地址或你的组织应该使用的 DNS 服务器地址,请更改它们。

确认
使用以下命令确认上述配置已完成。

  1. nftables 用于 NAPT 网关

nftables是一个 IP 包过滤中间件,它集成了 iptables等。在本例中,它用于在 wlan0 和 eth0 之间的通信中应用地址转 换( NAPT )。我们还启用了net.ipv4.Ip_forward 允许 wlan0 和 eth0 之间的通信。

确认
使用以下命令确认上述配置已完成。

  1. 尝试连接到树莓派内置的 Wi-Fi 接入点

现在你已经构建了树莓派作为 Wi-F i接入点,让我们尝试从智能手机或 PC 连接到使用树莓派构建的 Wi-Fi 接入点。

连接后,检查是否可以查看https://ifconfig.io等工具网站。

使用 pmacct 进行流量测量

pmacct 是一款流量测量软件。例如,下面将允许你测量通过配置为 Wi-Fi 接入点的 wlan0 接口的流量(流量)。

每隔10秒,将向屏幕输出以下内容。

从 10.0.2.100 (=检查使用的智能手机)到 1.1.1.1.1 或 8.8.8.8.8 的通信被设置为DNS服务器,此时的通信量以包数和字节数计算。利用这个,就有可能掌握通信量。

这里我们只是在屏幕上显示数据,但pmacct还支持在数据库(如 SQLite )中存储数据。具体操作请参见在SQLite中保存流量测量工具“ pmacct ”的结果

未来操作-以稳定的树莓派操作为目标

虽然我们能够将树莓派变成 Wi-Fi 接入点,但我们希望快速运行这种事情,并且只在验证期间运行。因此,请考虑“一个仅通过打开和关闭电源来运行的系统”作为稳定运行树莓派的一种方式。

用于检查蜂窝通信流量的 Soraom Peek

除了 Wi-Fi, LTE 和 5G 等蜂窝通信也用于物联网。在这种情况下,请使用 Soracom Peek,它可以在Soracom 平台上捕获 IP 数据包。

Soracom Peek 可以以 SIM (=通信线)或 VPG (=网络)为单位进行捕获,格式为 pcap 格式,可以通过 Wireshark 等标准包分析工具进行分析。

结束的话

估计通信量对于全面使用物联网至关重要。尤其是现在,摄像头的使用往往会增加通信量。通过至少进行一次测量并确认所需的通信速度和带宽,将有可能构建稳定的物联网系统。

这是可以实现的,同时保持低成本,所以一定要利用它。