嗨,大家好,今天我将向您展示如何将Raspberry Pi变成其他设备可以连接到的无线访问点,基本上,我们正在将Raspberry Pi变成无线“路由器”。作为奖励,我还将向我们展示如何设置创建的无线访问点,以向(与)连接的设备提供(共享)互联网访问。因此,让我们开始使用Raspberry Pi创建Wi-Fi热点。
所需组件:
将树莓派设置为无线访问点将需要以下组件:
- 树莓派2
- 8GB SD卡
- WiFi USB加密狗
- 以太网电缆
- Pi的电源。
- 显示器(可选)
- 键盘(可选)
- 鼠标(可选)
尽管Raspberry Pi 3和Pi zero可以广泛使用并且可以使用,但在本教程中,我将使用Raspberry Pi 2,因为我的Pi3目前正忙于执行一些与计算机视觉相关的繁重任务,我希望在教程在这里。但是,此过程也适用于pi 3,并且( 应 重点说明)也 应 适用于Raspberry Pi zeroW。使用Raspberry Pi 3或Zero W时,将不需要外部Wi-Fi模块因为这两块板上已经装有Wi-Fi。
为了更精确地定义本教程的目标,我们将使Raspberry Pi能够用作无线访问点并实现此目的,我们需要安装和设置为raspberry pi配备此功能的软件,以及一个DHCP服务器软件,以用于将连接到所述接入点设备提供的网络地址。为了满足此软件要求,我们将使用dnsmasq和hostapd软件。
本教程将基于Raspbian Stretch OS,因此,像往常一样继续进行操作,我将假定您熟悉使用Raspbian Stretch OS设置Raspberry Pi的知识,并且您知道如何使用类似终端软件的SSH进入raspberry pi油灰。如果您对此有任何疑问,此网站上有大量的Raspberry Pi教程可以提供帮助。
将Raspberry Pi设置为无线访问点的步骤:
通过依次执行以下关键步骤,我们将能够将树莓派设置为无线访问点。应该注意的是,某些无线USB加密狗无法在AP模式下工作,但是在尝试了该加密狗并使其工作之后,我很想说8个加密狗中有5个可以使用。
步骤1:更新Pi
和往常一样,我们更新树莓派以确保我们拥有所有内容的最新版本。这是使用以下方法完成的:
sudo apt-get更新
其次是;
sudo apt-get升级
更新完成后,重新启动pi以进行更改。
步骤2:安装“ dnsmasq ”和“ hostapd ”
接下来,我们安装可以将pi设置为无线访问点的软件,以及帮助将网络地址分配给连接到AP的设备的软件。我们通过运行来做到这一点;
sudo apt-get安装dnsmasq
其次是;
sudo apt-get安装hostapd
或者您可以通过运行将其合并;
须藤apt-get install dnsmasq hostapd
步骤3:停止运行软件
由于我们尚未配置软件,因此无法运行它,因此我们禁止它们在地下运行。为此,我们运行以下命令以停止 systemd 操作。
sudo systemctl停止dnsmasq sudo systemctl停止hostapd
步骤4:为无线端口配置静态IP地址
确认 WLAN 上正在使用的无线设备连接端口。对于我的Pi,无线设备处于wlan0。设置Raspberry Pi作为服务器需要我们为无线端口分配一个静态IP地址。这可以通过编辑 dhcpcd 配置文件来完成。要编辑配置文件,请运行;
须藤nano /etc/dhcpcd.conf
滚动到配置文件的底部,然后添加以下几行。
接口wlan0静态ip_address = 192.168.4.1 / 24
添加这些行之后,配置文件应如下图所示。
注意:可以更改此IP地址以适合您的首选配置。
保存文件并使用退出。ctrl + x,然后按Y
重新启动 dhcpcd 服务,以使用更改配置。
须藤服务dhcpcd重新启动
步骤5:配置 dhcpcd 服务器
现在为Raspberry Pi wlan配置了静态IP地址,接下来我们要配置 dhcpcd 服务器,并为其提供要分配给连接到无线访问点的设备的IP地址范围。为此,我们需要编辑 dnsmasq 软件的配置文件,但是该软件的配置文件包含太多信息,很多都可能出错如果未正确编辑,我们将创建一个新配置,而不是进行编辑文件中仅包含使无线访问点完全正常运行所需的信息量。
在创建新的配置文件之前,我们通过移动和重命名旧文件来确保其安全。
须藤MV /etc/dnsmasq.conf /etc/dnsmasq.conf.old
然后启动编辑器以创建一个新的配置文件;
须藤nano /etc/dnsmasq.conf
启动编辑器后,复制下面的行并粘贴或直接在其中键入内容。
接口= wlan0#表示通常为无线dhcp范围的wlan0的通信接口= 192.168.4.2、192.168.4.20、255.255.255.0、24h
文件的内容应如下图所示。
保存文件并退出。此配置文件的内容仅用于指定可以分配给连接到无线访问点的设备的IP地址范围。
完成此操作后,我们将能够为网络上的设备提供身份。
接下来的步骤将帮助我们配置接入点主机软件,设置ssid,选择加密等。
步骤6:为 hostid 配置SSID和密码
我们需要编辑 hostapd 配置文件(运行 sudo nano /etc/hostapd/hostapd.conf ),为正在设置的无线网络添加各种参数,包括ssid和password。请注意,密码(密码)应介于8到64个字符之间。小事都行不通。
interface = wlan0驱动程序= nl80211 ssid = piNetwork hw_mode = g通道= 7 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = emmanuel#使用非常安全的密码而不是使用此wpa_key_mgmt = WPA-PSK wpa_wise rsn_pairwise = CCM
该文件的内容应如下图所示。
可以随意更改ssid和密码以适合您的需求和愿望。
保存配置文件并退出。
保存配置文件后,我们需要将hostapd软件指向已保存配置文件的位置。为此,运行;
须藤nano / etc / default / hostapd
找到注释掉 daemon_conf 的行,如下图所示。
取消注释DAEMON_CONF行,并在“等于”符号前面的引号之间添加以下行。
/etc/hostapd/hostapd.conf
第7步:启动
由于我们最初禁用了这两个软件,因此为了正确配置它们,我们需要在配置后重新启动系统以使更改生效。
采用;
sudo systemctl启动hostapd sudo systemctl启动dnsmasq
步骤8:路由和伪装出站流量
我们需要为出站流量添加路由和伪装。
为此,我们需要通过运行以下命令来编辑 systemctl 的配置文件:
须藤nano /etc/sysctl.conf
取消注释该行 net.ipv4.ip_forward = 1 (在下图中突出显示)
保存配置文件并使用ctrl + x和y退出。
接下来,我们将伪装出站流量。这可以通过对iptable规则进行一些更改来完成。为此,请运行以下命令:
sudo iptables -t nat-输出-o eth0 -j伪装
然后使用以下命令保存Iptables规则:
须藤sh -c“ iptables-保存> /etc/iptables.ipv4.nat”
步骤9:在启动时创建无线访问点:
对于大多数无线接入点应用程序,通常希望系统启动后立即启动接入点。要在树莓派上实现此目的,最简单的方法之一是在 rc.local 文件中添加指令以运行该软件,因此我们在rc.local文件中将用于在启动时安装iptable规则的命令放入命令中。
要编辑rc.local文件,请运行:
须藤nano /etc/rc.local
并在系统底部的exit 0语句之前添加以下行
iptables-restore </etc/iptables.ipv4.nat
步骤9:重新启动!和使用
在此阶段,我们需要重新引导系统以实现所有更改,并在更新iptables规则的情况下测试启动时启动的无线访问点。
使用以下方法重新引导系统:
须藤重启
系统重新启动后,您应该能够使用任何启用了Wi-Fi的设备以及设置过程中使用的密码来访问无线访问点。
从Raspberry Pi的Wi-Fi热点访问Internet
哦,是的,所以我将添加一个额外的教程,以说明如何使用创建的无线访问点为与其连接的设备提供Internet连接。通过Pi上的以太网端口提供分配给设备的Internet访问,该端口可以连接到路由器或任何类似设备。
为了实现这一点,我们需要在Raspberry Pi(无线访问点)上的无线设备和以太网设备之间放置一个“网桥”,以在两个接口之间传递所有流量。要进行设置,我们将使用 bridge-utils 软件。安装 hostapd 和 bridge-utils 。在我们以前安装过 hostapd的同时 ,请再次运行安装以清除所有疑问。
sudo apt-get install hostapd bridge-utils
接下来,我们停止hostapd以便配置软件。
sudo systemctl停止hostapd
创建网桥时,将在要桥接的两个端口上创建更高级别的构造,因此该网桥成为网络设备。为了避免冲突,我们需要停止Raspberry Pi上运行的DHCP客户端向eth0和wlan0端口分配IP地址。这将通过编辑dhcpcd客户端的配置文件来完成,以包括 denyinterfaces wlan0 和 denyinterfaces eth0 ,如下图所示。
可以通过运行命令来编辑文件;
须藤nano /etc/dhcpcd.conf
注意: 从这一点开始,如果您以无头模式运行,请确保不要断开以太网电缆与PC的连接,因为由于我们已禁用以太网端口,因此您可能无法再次通过SSH连接。如果使用显示器,则无需担心。
接下来,我们创建一个名为br0的新桥
须藤brctl addbr br0
接下来,我们使用以下命令将以太网端口(eth0)连接到网桥(br0)。
须藤brctl addif br0 eth0
接下来,我们使用 sudo nano / etc / network / interfaces 编辑interfaces文件,以便各种设备可以与网桥一起使用。编辑接口文件以包含以下信息;
#网桥设置自动br0 iface br0 inet手动bridge_ports eth0 wlan0
最后,我们编辑hostapd.conf文件以包括网桥配置。这可以通过运行以下命令来完成: sudo nano /etc/hostapd.conf 并编辑文件以包含以下信息。请注意,网桥已添加到wlan0接口下方,并且驱动程序行已被注释掉。
interface = wlan0网桥= br0#driver = nl80211 ssid = NameOfNetwork hw_mode = g频道= 7 wmm_enabled = 0 macaddr_acl = 0 auth_algs = 1 ignore_broadcast_ssid = 0 wpa = 2 wpa_passphrase = AardvarkBadgerHedgehog wpa_key_mgmt = IPwiseCpair对
完成此操作后,保存配置文件并退出。
要对Raspberry Pi进行更改,请重新引导系统。重新启动后,您现在应该可以通过连接到Raspberry Pi创建的无线访问点来访问Internet。当然,只有在通过以太网端口可以访问pi的情况下,这才起作用。
虽然此项目可用于在房屋或办公室或整个建筑物周围扩展Wi-Fi,但我发现有许多应用非常有趣且有用,例如将raspberry pi用作家庭自动化中枢,因此可以使用多个启用Wi-Fi的家庭自动化设备使用raspberry pi的无线访问点连接到Internet。您是否还有其他很酷的想法可以应用在其中,可以通过评论部分随意分享以激发他人的灵感。
测试Raspberry Pi无线接入点:
要测试这些说明,请使用手机或任何其他能够连接到WiFi热点网络的设备,您应该会看到弹出的名称。然后,您可以使用我们指定为“ emmanuel”的可怕密码来连接至该密码。实施时,请确保使用更安全的密码。我只使用该密码来简化操作。
另请注意,由于Pi需要在网络活动开始之前进行引导,因此重新引导后可能需要一段时间才能看到无线访问点。
对于本教程的家伙来说就是这样。这很长,感谢您抽出宝贵的时间阅读。反馈和评论总是受欢迎的。
直到下一次!