• 隐藏侧边栏
  • 展开分类目录
  • 关注微信公众号
  • 我的GitHub
  • QQ:1753970025
Chen Jiehua

树莓派做无线热点 

虽然之前我们使用树莓派成功刷入 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):

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

使用默认账户 pi 和默认密码 raspberry 登陆系统,然后配置树莓派:

选择 Interfacing Options -> SSH -> YES,然后看一下树莓派的 ip 地址:

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

修改 apt 源

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

先修改 Raspbian 的源,参考科大源

修改之后大概是这样子:

 再修改 Raspberrypi 的源,参考科大源

修改之后大概是这样子:

更新:

配置无线热点

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

设置无线热点,我们可以有两种方案:

  • 设置为独立的NAT网络
  • 桥接原来的网络

NAT网络

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

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

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

配置 DHCP 服务器(dnsmasq)

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

然后重启一下 dnsmasq:

配置无线热点(hostapd)

首先给 hostapd 创建一个配置文件:

如果我们使用的是 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)

然后告诉系统我们使用这个配置文件:

然后开启 hostapd:

配置路由转发

修改 /etc/sysctl.conf 文件:

修改 iptables:

保存 iptables 规则:

在开机的时候加载:

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

桥接网络

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

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

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

配置桥接

然后创建一个 bridge:

连接 eth0:

配置热点

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

然后开启 hostapd 就可以了:

参考:

码字很辛苦,转载请注明来自ChenJiehua《树莓派做无线热点》

评论