如何将树莓派打造成一台无线路由器?

树莓派无线接入点是扩展 Wi -Fi 覆盖范围并提供对网络的额外访问的绝佳方法。

在本教程中,我们将向您展示如何设置无线访问点,以及如何配置允许用户连接到您的访问点的多个程序包,就像它本身就是路由器一样。

您需要记住,Wi-Fi 加密狗很可能无法像普通路由器那样处理那么多流量。这意味着您应避免允许与设备建立过多的连接,以防止设备负担过重和运行缓慢。

虽然您可以使用支持启用的任何 Wifi 软件狗作为接入点,但我们的教程将直接关注如何为树莓派 3 的 Wi -Fi 模块进行设置。如果您使用的是较早型号的树莓派,则可以购买 * Wi-Fi 适配器,该适配器可从许多网站用作访问点,请确保在购买前先进行研究,以确保它可以在树莓派上使用。

本教程可以与我们的 [VPN 接入点教程] 很好地结合在一起。通过该客户端重定向所有流量。

设备清单

以下是我在本树莓派无线访问点教程中使用的所有点点滴滴,没有什么超级特别的东西可以完成。

推荐的:

  • 树莓派 2 或 3

  • Micro SD 卡或 * SD 卡 Pi 的旧版本。

  • 电源

  • Wifi 加密狗 (The Pi 3 内置 WiFi)

  • 以太网连接

可选的:

  • 树莓派外壳

设置无线访问点

与我进行的大多数教程一样,该教程仅使用 Raspbian 的干净版本,该版本已更新为最新软件包。

为了设置树莓派无线访问点,我们将使用两个软件包。这两个软件包是 hostapd 和 dnsmasq 。 hostapd 是允许我们将 Wi -Fi 设备用作访问点的软件包,在我们的案例中,我们将利用它来打开树莓派 3 的 Wi -Fi 进入我们的接入点。

dnsmasq 既充当 DHCP 服务器,又充当 DNS 服务器,因此我们可以通过树莓派本身分配 IP 地址并处理 DNS 请求。

幸运的是,dnsmasq 易于设置和配置。与 isc -dhcp-server 和 bind9 软件包相比,它还具有重量轻的优点。

请记住,为此,您将需要利用以太网网络连接,而不是 Wi -Fi 连接。

1 在开始安装和设置软件包之前,我们将首先通过运行以下两个命令在树莓派上运行更新。

sudo apt-get update
sudo apt-get upgrade

2 完成后,我们现在可以安装我们的两个软件包,运行以下命令来安装 hostapd 和 dnsmasq 。

sudo apt-get install hostapd dnsmasq

3 现在,我们已经安装了软件包,因为我们没有正确配置它们,所以我们不希望它们运行。

通过在终端中使用以下两个命令来停止运行软件包。这些命令将告诉系统管理员停止 dnsmasq 和 hostapd 服务。

sudo systemctl停止 hostapd 
sudo systemctl停止 dnsmasq 

4 在 hostapd 和 dnsmasq 现在停止的情况下,我们将要修改 dhcpd 配置,以便可以控制 wlan0 接口。

有了这个文件,我们将为自己设置一个静态 IP 地址,并告诉它不要使用 ** wpa \ _supplicant ** 文件,因此我们可以将其纯粹配置为设备的访问点。

在树莓派上运行以下命令以开始修改 dhcpcd .conf 文件。

sudovim/etc/dhcpcd.conf

5 在此文件中,我们需要在底部添加以下行,这将按照我们希望本教程使用的方式设置 wlan0 接口。

如果您已升级到 Raspbian Stretch,则可能需要更改 wlan0 ,如果您正在使用树莓派 3 或 Pi Zero W 的内置 wifi ,则可以继续使用 wlan0 。使用 ifconfig 命令查看新名称,它们可能很长。在本教程中,您将需要更新对新值的任何引用。

接口 wlan0 
    静态 ip _address = 192.168.220.1/24
    nohook wpa_supplicant

现在,我们可以按 Ctrl + X,然后按 Y ,然后按 Enter ,以保存并退出文件。6 现在,我们需要重新启动 dhcpd 服务,以便它将在所有配置更改中加载。为此,请运行以下命令以重新加载 dhcpd 服务。
sudo systemctl restart dhcpcd

7 接下来,我们需要调整 hostapd 配置,为此,我们需要使用以下命令开始编辑配置文件。

sudovim/etc/hostapd/hostapd.conf

8 在此文件中,我们需要写出以下几行,这些行基本上设置了我们想要与 wlan 设备进行交互的方式。在此文件中,您唯一需要担心的实际行是 ** ssid = 行和 wpa \ _passphrase = ** 行。

作为一般经验法则,应尝试使 WPA Passphrase 的长度超过 6 个字符,以确保连接安全。

注意:如果您使用的是不同于内置 Pi 3 的其他 Wi -Fi 设备来完成本教程,则可能还必须将 driver = 行更改为最适合您设备的驱动程序,Google 将是您的朋友找出最适合使用的驱动程序。

接口= wlan0
驱动程序= nl80211

hw_mode = g
频道= 6
ieee80211n = 1
wmm_enabled = 0
macaddr_acl = 0
ignore_broadcast_ssid = 0

auth_algs = 1
wpa = 2
wpa_key_mgmt = WPA-PSK
wpa_pairwise = TKIP
rsn_pairwise = CCMP

#这是网络的名称
ssid = Pi3-AP
#网络密码
wpa_passphrase = pimylifeup

请记住,将 ** wpa \ _passphrase ** 更改为您自己的密码,并确保将其设置为安全的密码,这样随便的人就无法连接到您的 Wi -Fi 接入点。

现在,我们可以按 Ctrl + X,然后按 Y ,然后按 Enter ,以保存并退出文件。

9 完成后,我们现在应该具有 hostapd 配置,但是在使用它之前,我们需要编辑两个文件。 hostapd 将读取这些文件以查找我们的新配置文件。

要开始编辑这两个文件中的第一个,请运行以下命令。

sudo vim /etc/default/hostapd

10 在此文件中,我们需要找到以下行并将其替换。

找:

#DAEMON_CONF =""

用。。。来代替:

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

现在,我们可以保存并退出文件,方法是按 Ctrl + X,然后按 Y ,然后按 Enter 。

11 现在,我们需要编辑第二个配置文件,该文件位于 init .d 文件夹中。我们可以使用以下命令编辑文件:

sudovim/etc/init.d/hostapd

12 在此文件中,我们需要找到以下行并将其替换。

找:

DAEMON_CONF =

用。。。来代替:

DAEMON_CONF =/etc/hostapd/hostapd.conf

现在,我们可以保存并退出文件,方法是按 Ctrl + X,然后按 Y ,然后按 Enter 。

13 现在设置了 hostapd ,我们需要继续设置 dnsmasq 。在开始编辑其配置文件之前,我们将重命名当前文件,因为我们不需要其任何当前配置。

我们可以在树莓派上使用以下命令来执行此操作。

sudo MV /etc/dnsmasq.conf /etc/dnsmasq.conf.orig

14 现在,原始配置文件已被重命名,我们可以从创建自己的新配置文件开始。我们将使用以下命令创建和编辑新文件。

sudovim/etc/dnsmasq.conf

15 在此文件中添加以下行。

这些行告诉 dnsmasq 服务如何处理所有通过的连接以及应该为它们处理的接口。

interface = wlan0#使用接口 wlan0 
server = 1.1.1.1#使用 Cloudflare DNS
dhcp-range = 192.168.220.50,192.168.220.150,12h#IP范围和租用时间

现在,我们可以按 Ctrl + X,然后按 Y ,然后按 Enter ,以保存并退出文件。

16 接下来,我们需要配置您的树莓派,以便它将所有流量从 wlan0 连接转发到以太网连接。

首先,我们必须通过 sysctl .conf 配置文件启用它,因此让我们开始使用以下命令对其进行编辑。

sudovim/etc/sysctl.conf

17 在此文件中,您需要找到以下行并从文件开头删除 **#**。

找:

#net.ipv4.ip_forward = 1

用。。。来代替:

net.ipv4.ip_forward = 1

18 现在,由于我们不耐烦,并且不想等待它在下次启动时启用,因此我们可以运行以下命令立即将其激活。

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

19 现在启用了 IPv4 转发,我们可以在 wlan0 接口和 eth0 接口之间配置 NAT 。基本上,这会将所有流量从接入点转发到以太网连接。

运行以下命令以将我们的新规则添加到 iptable 中。

sudo iptables -t nat-输出-o eth0 -j伪装

20 iptable 在树莓派的每次启动时都会刷新,因此我们需要将新规则保存在某个地方,以便在每次启动时重新加载它们。

要保存我们的新规则集,请运行以下命令。 sudo sh -c”iptables - 保存 > /etc/iptables.ipv4.nat”
21 现在,将我们的新规则安全地保存在某个地方,我们需要使该文件在每次重新启动时重新加载。解决此问题的最简单方法是修改 rc .local 文件。

运行以下命令以开始编辑文件。

sudovim/etc/rc.local

22 现在我们在此文件中,我们需要在下面添加行。确保此行出现在出口 0 上方。此行基本上是从 iptables .ipv4.nat 文件中读取设置并将其加载到 iptables 中的。

找:

出口 0 

在” 出口 0 “上方添加:

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

现在,我们可以保存并退出文件,方法是按 Ctrl + X,然后按 Y ,然后按 Enter 。

23 最后,我们要做的就是启动这两个服务并在 systemctl 中启用它们。运行以下两个命令。

sudo systemctl取消屏蔽 hostapd 
sudo systemctl启用 hostapd 
sudo systemctl 启动 hostapd 
sudo service dnsmasq 启动

24 现在,您终于应该有了一个可以正常运行的树莓派无线访问点,您可以使用任何无线设备并使用之前设置的 SSID 和 WPA 密码连接到新的访问点,以确保它能够正常工作在本教程中。

为确保一切顺利进行,最好立即尝试重新启动。这将确保在启动树莓派时一切都将成功重新启用。运行以下命令以重新启动树莓派。

sudo reboot

这是另一个树莓派的伟大项目,可以对其进行扩展以使其成为非常有用的实用程序。如上所述,您可以将其设置为 WiFi 接入节点,在这里可以通过 VPN 路由所有互联网流量。

我希望这个树莓派无线接入点教程能够帮助您扩展无线网络。如果您遇到任何问题或对本教程有任何反馈,请不要在下面发表评论。

分享到