树莓派 WiFi 桥接器是向仅支持以太网连接的设备提供 Internet 访问的最佳方法之一。
在本教程中,我们将向您展示如何设置 WiFi 桥接器以及如何正确设置 dnsmasq ,以允许任何设备通过 Pi 进行连接而不会出现问题。
您将需要记住的是,速度不会像直接连接到路由器那样快。由于必须通过树莓派运行连接,因此存在一些开销。
请记住,要完成本教程,您将需要一个 WiFi 加密狗或一个带有内置 WiFi 模块的树莓派 3。
本教程可以与我们的基本 VPN 访问点结合使用,您可以在本教程后直接找到有关如何进行设置的教程。基本上,它将显示如何设置 OpenVPN 客户端以及如何通过该客户端重定向所有流量。
请注意:如果您决定沿 VPN 路线进行操作,则本教程将需要进行一些细微的更改,我们将在本教程的最后解释必要的更改。
设备清单
以下是本树莓派 WiFI 桥接教程所使用的所有点点滴滴,您将需要无线互联网连接才能完成本教程。
推荐的
树莓派 2 或 3
Micro SD 卡
Wifi 加密狗 (The Pi 3 内置 WiFi)
以太网连接
可选的
- 树莓派外壳
设置 WiFi 桥
要设置树莓派 Wifi 桥接器,我们将使用 dnsmasq 软件包,此软件包可处理本教程的大部分繁琐工作。
Dnsmasq 是既充当本地 DHCP 服务器又充当本地 DNS 服务器的程序包。我们利用此软件包,以便我们可以通过树莓派本身分配 IP 地址和处理 DNS 请求,并像路由器一样工作。
利用 dnsmasq 的好处之一是,与 isc -dhcp-server 和 bind9 软件包相比,它非常易于配置,同时重量轻。
请记住,在本教程中,您将需要有一个活动的 WiFi 路由器进行连接,并打算将 Wi -Fi 连接桥接到一个以太网设备。
1 在开始安装和设置软件包之前,我们将首先在终端中输入以下两个命令在树莓派上运行更新。
sudo apt-get update
sudo apt-get upgrade
2 完成后,我们现在可以安装一个将要使用的唯一软件包,运行以下命令以安装 dnsmasq 。
sudo apt-get install dnsmasq
3 在我们超越自己之前,我们应该设置我们计划使用的 wlan0 连接。如果您已经设置无线连接,则可以跳至步骤 5 。
否则,通过运行以下命令打开 wpa \ _supplicant 文件:
sudo vim /etc/wpa_supplicant/wpa_supplicant.conf
4 在此文件中添加以下内容,确保将 ssid 替换为要连接的网络的名称,并将 psk 值替换为该网络的密码。
网络= {
ssid ="网络名称"
psk ="networkpassword"
}
5 现在可以正确设置无线网络以正确连接,我们可以继续设置_eth0 接口_。基本上,这将强制其使用静态 IP 地址,如果不进行设置,则可能导致多个问题。
为此,我们需要通过运行以下命令来修改 dhcpcd .conf 文件:
sudovim/etc/dhcpcd.conf
重要提示:如果您使用的是 Raspbian ,则如果启用了可预测的网络名称,则可能需要更改 wlan0 和 eth0 。使用 ifconfig
命令查看新名称,它们的名称可能很长,并且包含 MAC 地址。
确保为本教程中的所有命令更新了这些命令。
6 在此文件中,我们需要添加以下几行,请确保使用正确的以太网接口替换 ** eth0 **。
eth0接口
静态 ip _address = 192.168.220.1/24
静态路由器= 192.168.220.0
现在,我们可以通过按 ** Ctrl + X 然后按 Y 然后按 Enter ** 保存并退出文件。
7 对 dhcpcd 配置进行更改之后,我们现在应该通过运行以下命令来重新启动服务:
sudo service dhcpcd restart
8 在开始修改 dnsmasq 的配置之前,我们将首先通过运行以下命令来备份原始配置。
sudo MV /etc/dnsmasq.conf /etc/dnsmasq.conf.orig**9** 现在备份了原始配置并移开了,现在我们可以通过在终端中键入以下命令继续创建新的配置文件。
sudovim/etc/dnsmasq.conf
10 现在,我们已经创建了新文件,我们想要添加以下行,这些行基本上告诉 dnsmasq 软件包如何处理 DNS 和 DHCP 流量。
interface = eth0#使用接口 eth0
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 ** 保存并退出文件。
11 现在,我们需要配置树莓派的防火墙,以便它将所有流量从 eth0 连接转发到 wlan0 连接。在执行此操作之前,我们必须首先通过 sysctl .conf 配置文件启用 ipv4p IP 转发,因此让我们开始使用以下命令进行编辑:
sudovim/etc/sysctl.conf
12 在此文件中,您需要找到以下行,并从文件开头删除 #。
找:
#net.ipv4.ip_forward = 1
用。。。来代替:
net.ipv4.ip_forward = 1
现在,我们可以通过按 ** Ctrl + X 然后按 Y 然后按 Enter ** 保存并退出文件。
13 现在,由于我们不想等到下一次重新启动才加载配置,因此我们可以运行以下命令立即启用它。
sudo sh -c"echo 1 >/proc/sys/net/ipv4/ip_forward"
14 现在启用了 IPv4 转发,我们可以重新配置防火墙,以便将流量从 eth0 接口转发到 wlan0 连接。基本上,这意味着任何连接到以太网的人都可以使用我们的 wlan0 Internet 连接。
运行以下命令以将我们的新规则添加到 iptable 中:
sudo iptables -t nat -A写信-o wlan0 -j伪装
sudo iptables -A FORWARD -i wlan0 -o eth0 -m state --state相关,已确定-j ACCEPT
sudo iptables -A转发-i eth0 -o wlan0 -j接受
注意:如果在输入上述行时遇到错误,只需使用 sudo reboot
重新启动 Pi 。
15 当然,树莓派每次启动时都会刷新 iptables ,因此我们需要将新规则保存在某个地方,以便它们在每次启动时重新加载。
要保存我们的新规则集,请运行以下命令。
sudo sh -c"iptables-保存> /etc/iptables.ipv4.nat"
16 现在,我们将新规则安全地保存在了某个地方,我们需要在每次重新启动时重新加载该文件。解决此问题的最简单方法是修改 rc .local 文件。
运行以下命令以开始编辑文件。
sudovim/etc/rc.local
17 现在我们在此文件中,我们需要在下面添加行。确保此行出现在 ** exit 0 ** _._上方。该行基本上是从 iptables .ipv4.nat 文件中读取设置并将其加载到 iptables 中的。
找:
出口 0
添加以上:
iptables-restore </etc/iptables.ipv4.nat
现在,我们可以先按_Ctrl + X_,再按_Y_,再按_Enter_,然后保存并退出文件。
18 最后,我们要做的就是启动 dnsmasq 服务。为此,您需要做的就是运行以下命令:
sudo service dnsmasq 启动
19 现在,您终于应该有了一个可以正常运行的树莓派 WiFi 桥接器,您可以通过将任何设备插入其以太网端口来确保它能够正常工作,该桥接器应该可以为您插入的设备提供 Internet 连接。
为确保一切顺利进行,最好立即尝试重新启动。这将确保在启动树莓派时一切都将成功重新启用。运行以下命令以重新启动树莓派:
sudo reboot
使用 VPN 设置树莓派 WiFi 桥
本教程与基本 VPN 路由器教程完全兼容。但是,您必须在步骤 13 中进行一个小更改,而不是使用此处显示的命令,请运行以下命令。
基本上,您将在这里看到的主要变化是,不是将流量从 wlan0 重定向到通过隧道,而是将流量从 eth0 连接重定向到了隧道。
sudo iptables -t nat-输出-o tun0 -j伪装
sudo iptables -A FORWARD -i tun0 -o eth0 -m state --state相关,已确定-j ACCEPT
sudo iptables -A转发-i eth0 -o tun0 -j接受
无需完成任何其他更改即可完成 VPN 接入点教程的其余部分。希望到目前为止,您应该已经可以全面使用树莓派 WiFi Bridge。如果您遇到任何问题或对本教程有任何反馈,请不要在下面发表评论。