树莓派如何与 Wifi 扩展器结合提高 WiFi 访问性能

树莓派 WiFi 扩展器是一种廉价且省电的方法,可以增加 WiFi 网络的总范围。 WiFi 扩展器与 WiFi 接入点有很大的不同。

主要区别在于,它不是从以太网获取网络连接,而是从 WiFi 适配器获取网络连接。

因此,要完成本教程,您将需要两个 WiFi 适配器,其中之一必须具有访问点功能。

连接到 Wifi 中继器时,网络连接速度将面临相当大的下降。造成这种情况的主要原因是,您必须等待流量通过初始 Wi -Fi 连接,然后再从树莓派中重新发送,以便设备可以连接。

本教程可以与我们的 VPN Access Point 教程很好地结合在一起,您可以在本教程后直接找到有关如何进行设置的教程。基本上,它将显示如何设置 OpenVPN 客户端以及如何通过该客户端重定向所有流量。

但是请注意,本教程将需要进行一些细微的更改,我们将在本教程结尾解释这些更改。

设备清单

以下是我在本树莓派 WiFi Extender 教程中使用的所有点点滴滴,您将需要两个 WiFi 加密狗才能完成本教程,至少一个必须能够用作接入点。

推荐的

  • 树莓派 2 或 3

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

  • 电源

  • Wifi 加密狗 \ * 2 (Pi 3 内置 WiFi)

可选的

  • 树莓派外壳

设置 WiFi Extender

要设置我们的树莓派 Wifi 扩展器,我们将需要使用 dnsmasq 软件包,此软件包可以处理本教程的大部分繁琐工作充当我们的 DNS 和 DHCP 服务器的连接。我们还需要利用 hostapd 软件包,该软件包将使我们能够将我们的 Wi -Fi 模块之一设置为接入点。

请记住,在本教程中,您将需要有一个活动的 Wi -Fi 路由器来连接,并且打算将 Wifi 连接桥接到一个以太网设备。

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

sudo apt-get update
sudo apt-get upgrade

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

sudo apt-get install dnsmasq
sudo apt-get install hostapd

3 在取得领先之前,我们应该设置我们计划使用的 wlan0 连接。如果您已经设置了无线连接,则可以跳至步骤 5 。

否则,通过在树莓派上运行以下命令来打开 wpa-supplicant.conf 文件:

sudo vim /etc/wpa_supplicant/wpa_supplicant.conf

4 在此文件中添加以下内容,确保将 ssid 替换为要连接的网络的名称,并将 psk 值替换为该网络的密码。

网络= {
        ssid ="网络名称"
        psk ="networkpassword"
}

输入网络名称和网络密码后,可以依次按 Ctrl + X 和 Y ,然后按 Enter 保存文件。

5 使用现在安装的软件包和我们的 WiFi 设置,我们现在想要设置 dhcpcd 尝试并提供我们的 Raspberry 设置一个静态 IP 地址。

我们可以通过使用以下命令修改 dhcpcd .conf 文件来实现此目的:

sudovim/etc/dhcpcd.conf

6 在此文件中,我们需要在底部添加以下几行,这将根据需要设置 wlan1 连接。

注意:如果您已升级到 Raspbian Stretch,则在本教程中可能需要更改 wlan0 和 wlan1 。使用 ifconfig 命令查看新名称,它们的名称可能很长,并且包含 MAC 地址。

接口 wlan1 
静态 ip _address = 192.168.220.1/24
静态路由器= 192.168.220.0

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

7 现在,我们需要重新启动 dhcpd 服务,这样它将在我们所有的配置更改中加载。

sudo service dhcpcd 重新启动

8 接下来,我们需要调整 hostapd 配置,为此,我们需要通过在树莓派上运行以下命令来开始编辑配置文件。 sudovim/etc/hostapd/hostapd.conf
9 在此文件中,我们需要写出以下几行,这些行基本上设置了我们想要与 wlan 设备进行交互的方式。在此文件中,您唯一需要担心的实际行是 ssid = 行和 wpa \ _passphrase = 行。

注意:您可能必须将 driver = 行更改为适合您设备的最佳驱动程序,因为某些 Wi -Fi 设备对驱动程序的要求非常明确。 Google 将帮助您查找应该使用的驱动程序。

接口= wlan1
驱动程序= nl80211

hw_mode = g
频道= 6
ieee80211n = 1
wmm_enabled = 1
ht_capab = [HT40] [SHORT-GI-20] [DSSS_CCK-40]
macaddr_acl = 0
ignore_broadcast_ssid = 0

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

ssid = Pi3-Extender
wpa_passphrase =树莓

请记住,将 wpa \ _passphrase 更改为您自己的密码,并确保将其设置为安全密码,这样随机的人就不能仅连接到您的 WiFi 扩展器。

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

10 完成后,我们现在应该在 /etc/default/ 和 /etc/init.d/ 中修改 hostapd 文件。 hostapd 将读取这些文件以查找我们先前创建的新配置文件。

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

sudo vim /etc/default/hostapd

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

找:

#DAEMON_CONF =""

用。。。来代替:

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

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

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

sudovim/etc/init.d/hostapd

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

找:

#DAEMON_CONF =

用。。。来代替:

DAEMON_CONF =/etc/hostapd/hostapd.conf

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

14 现在使用 hostapd 进行设置,我们需要继续设置 dnsmasq ,在开始编辑其配置之前,我们将默认设置移动到新位置。我们可以使用以下命令执行此操作:

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

15 现在,原始配置文件已移开,我们可以通过创建自己的新配置文件开始。我们将使用以下命令创建和编辑新文件:

sudovim/etc/dnsmasq.conf

16 向该文件添加以下行,这些行基本上告诉 dnsmasq 服务如何处理所有通过的连接。

interface = wlan1#使用接口 wlan1 
listen-address = 192.168.220.1#指定要监听的地址
bind-interfaces#绑定到接口
server = 8.8.8.8#使用 Google DNS
域所需的#不要转发短名称
bogus-priv#删除未路由的地址空间。
dhcp-range = 192.168.220.50,192.168.220.150,12h#IP范围和租用时间

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

17 接下来,我们需要配置树莓派,以便它将所有流量从 wlan1 连接转发到 wlan0 连接。首先,我们必须通过 sysctl .conf 配置文件启用它,因此让我们开始使用以下命令对其进行编辑:

sudovim/etc/sysctl.conf

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

找:

#net.ipv4.ip_forward = 1

用。。。来代替:

net.ipv4.ip_forward = 1

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

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

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

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

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

sudo iptables -t nat -A写信-o wlan0 -j伪装
sudo iptables -A FORWARD -i wlan0 -o wlan1 -m state --state相关,已确定-j ACCEPT
sudo iptables -A FORWARD -i wlan1 -o wlan0 -j接受

注意:如果在输入上述行时遇到错误,只需使用 sudo reboot 重新启动 Pi 。

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

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

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

sudovim/etc/rc.local

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

找:

出口 0 

添加以上:

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

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

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

sudo service hostapd 启动
sudo service dnsmasq 启动

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

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

sudo reboot

使用 VPN 设置树莓派 WiFi Extender

本教程与我们的 VPN Access Point 教程完全兼容。但是,您必须在步骤 13 中进行一个小更改,而不是使用此处显示的命令,请运行以下命令。

基本上,您将在这里看到的主要变化是,不是将流量从 wlan0 重定向到通过隧道,而是将流量从 wlan1 连接重定向到了隧道。

sudo iptables -t nat-输出-o tun0 -j伪装
sudo iptables -A FORWARD -i tun0 -o wlan1 -m state --state相关,已确定-j ACCEPT
sudo iptables -A转发-i wlan1 -o tun0 -j接受

无需完成任何其他更改即可完成 VPN 接入点教程的其余部分。

希望到目前为止,您应该已经可以全面使用树莓派 WiFi Extender。如果您遇到任何问题或对本教程有任何反馈,请不要在下面发表评论。

分享到