怎样将树莓派设置为WiFi接入点

电子说

1.3w人已加入

描述

概述

 

您想将Pi用作WiFi路由器吗?还是将其作为特殊的过滤访问点?将Pi设置为接入点(AP)比将其用作客户端要先进一些,但是键入它只需要半小时即可进行配置。如果需要,本教程将使Pi广播WiFi服务,然后将互联网流量路由到以太网电缆。由于它是全Linux操作系统,因此您可以按自己的喜好进行更新或配置。

我使用以下页面作为创建本教程的指南,请注意,其中许多将无法完全使用,但请检查是否有兴趣!

http://qcktech.blogspot.com/2012/08/raspberry-pi-as-router.html

http ://itsacleanmachine.blogspot.com/2013/02/wifi-access-point-with-raspberry-pi.html

http://esrlabs.com/android-transporter-for-the-nexus -7-and-the-raspberry-pi/

http://elinux.org/RPI-Wireless-Hotspot

http://blog.mxard.com/persistent- iptables-on-raspberry-pi-raspbian

当前仅在Raspbian,Jessie和Raspberry Pi 3上进行过测试

所需条件

运行本教程将需要一些帮助:

Raspberry Pi-需要以太网

以太网电缆

WiFi适配器-并非所有WiFi适配器都可以使用,我们确定它可以与Adafruit商店中的适配器兼容!

带有Raspbian的SD卡(4GB或更大)。您可以自己动手或购买现成的Raspbian卡

用于Pi和Micro USB电缆的电源

USB控制台电缆(可选)-这使操作变得简单一些调试系统

Pi的外壳(可选)

SD或MicroSD读卡器(可选)

我们的Pi入门包将满足您的所有需求,甚至提供更多有趣的东西供您玩

准备

本教程假定您已设置好Pi并准备就绪。

请按照教程进行操作,以

安装将操作系统安装到SD卡上

引导Pi并配置

别忘了更改“ pi”帐户的默认密码!

设置并测试以太网和Wifi连接

使用USB控制台电缆(可选)连接

完成后,您应该拥有一个引导Raspbian的Pi。 ,您可以使用USB控制台电缆连接并通过命令行界面登录Pi。

可以通过以太网端口上的 ssh 或使用控制台电缆。

如果使用控制台电缆,即使最后一步中的图显示了通过USB控制台电缆(红色电线)为Pi供电,我们也建议不要连接红色电线,而应从墙上适配器供电。保持黑色,白色和绿色电缆保持连接状态。

树莓派

别忘了扩展SD卡,否则可能会用完空间!

树莓派

检查以太网和Wifi

在继续进行操作之前,请确保已连接以太网电缆,并且您可以从树莓派 ping :ping 8.8.8.8

树莓派

您也将要设置您的WiFi加密狗。立即运行 sudo shutdown -h ,然后在Pi处于关闭状态时插入WiFi模块,以免造成电涌。

如果您拥有Pi 3或任何其他具有内置WiFi的Pi,不需要外部WiFi适配器,但是如果需要更大/外部天线,您可以 使用

在备份时,请使用 ifconfig -a 检查 wlan0 - WiFi模块。

树莓派

安装软件

下一步,我们将软件安装到将充当“ hostap”(主机访问点)的Pi上。此步骤需要互联网访问因此请确保以太网连接已建立!

sudo apt-get update

sudo apt-get install hostapd isc-dhcp-server

(如果出现以下情况,您可能需要 sudo apt-get update Pi似乎无法到达apt-get存储库)

树莓派

(上面的文本显示了udhcpd,但它与isc-dhcp-server一样不起作用,但输出看起来应该相似)

还可以使用

sudo apt-get install iptables-persistent

安装一个不错的iptables管理器,您会得到两个“配置”屏幕,例如是到两者

树莓派

设置DHCP服务器

下一步我们将编辑/etc/dhcp/dhcpd.conf ,该文件可设置我们的DHCP服务器-这允许s的wifi连接以自动获取IP地址,DNS等。

运行此命令以编辑文件

sudo nano /etc/dhcp/dhcpd.conf

查找提示行

下载:文件

复制代码

option domain-name “example.org”;

option domain-name-servers ns1.example.org, ns2.example.org; option domain-name “example.org”;

option domain-name-servers ns1.example.org, ns2.example.org;

,并将其更改为在开头添加#,以便他们说

下载:文件

复制代码

#option domain-name “example.org”;

#option domain-name-servers ns1.example.org, ns2.example.org; #option domain-name “example.org”;

#option domain-name-servers ns1.example.org, ns2.example.org;

找到以下行:/p》

下载:文件

复制代码

# If this DHCP server is the official DHCP server for the local

# network, the authoritative directive should be uncommented.

#authoritative; # If this DHCP server is the official DHCP server for the local

# network, the authoritative directive should be uncommented.

#authoritative;

并删除#,以使其显示为

下载:文件

复制代码

# If this DHCP server is the official DHCP server for the local

# network, the authoritative directive should be uncommented.

authoritative; # If this DHCP server is the official DHCP server for the local

# network, the authoritative directive should be uncommented.

authoritative;

树莓派

然后向下滚动到底部并添加以下行

下载:文件

复制代码

subnet 192.168.42.0 netmask 255.255.255.0 {

range 192.168.42.10 192.168.42.50;

option broadcast-address 192.168.42.255;

option routers 192.168.42.1;

default-lease-time 600;

max-lease-time 7200;

option domain-name “local”;

option domain-name-servers 8.8.8.8, 8.8.4.4;

} subnet 192.168.42.0 netmask 255.255.255.0 {

range 192.168.42.10 192.168.42.50;

option broadcast-address 192.168.42.255;

option routers 192.168.42.1;

default-lease-time 600;

max-lease-time 7200;

option domain-name “local”;

option domain-name-servers 8.8.8.8, 8.8.4.4;

}

树莓派

通过键入 Control-X保存文件,然后 Y ,然后返回

运行

sudo nano /etc/default/isc-dhcp-server

并向下滚动到 INTERFACES =“” ,然后将其更新为 INTERFACES =“ wlan0”

,或者说您的无线适配器的名称是什么!

它可能称为 INTERFACESv4 和 v6 -在这种情况下,请同时添加 wlan0

树莓派

关闭并保存文件

为静态IP设置wlan0

如果由于设置了它而使 wlan0 处于活动状态,请运行 sudo ifdown wlan0

‘不确定

树莓派

下一步,我们将设置 wlan0 连接是静态的并且是传入的。运行sudo nano /etc/network/interfaces编辑文件

找到 auto wlan0 行,并在该行的前面和随后的每一行的前面添加#。如果您没有该行,请确保它最终看起来像下面的屏幕截图!基本上只需删除任何旧的 wlan0 配置设置,我们将对其进行更改

根据您现有的设置/分布,文本可能会或多或少,并且可能会有所不同

添加行

下载:文件

复制代码

iface wlan0 inet static

address 192.168.42.1

netmask 255.255.255.0 iface wlan0 inet static

address 192.168.42.1

netmask 255.255.255.0

在 allow-hotplug wlan0 之后-参见下面的示例。此后任何其他行都应在其前面加上#以将其禁用

树莓派

保存文件(Control-X Y)

通过运行

sudo ifconfig wlan0 192.168.42.1

树莓派

配置访问点

现在我们可以配置访问点详细信息。我们将建立一个受密码保护的网络,以便只有具有密码的人才能连接。

通过运行sudo nano /etc/hostapd/hostapd.conf

创建一个新文件,粘贴以下内容,您可以在 《后更改文本strong》 ssid = 改为另一个名称,即网络广播名称。可以在 wpa_passphrase =

下载:文件

复制代码

interface=wlan0

driver=rtl871xdrv

ssid=Pi_AP

country_code=US

hw_mode=g

channel=6

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa=2

wpa_passphrase=Raspberry

wpa_key_mgmt=WPA-PSK

wpa_pairwise=CCMP

wpa_group_rekey=86400

ieee80211n=1

wme_enabled=1 interface=wlan0

driver=rtl871xdrv

ssid=Pi_AP

country_code=US

hw_mode=g

channel=6

macaddr_acl=0

auth_algs=1

ignore_broadcast_ssid=0

wpa=2

wpa_passphrase=Raspberry

wpa_key_mgmt=WPA-PSK

wpa_pairwise=CCMP

wpa_group_rekey=86400

ieee80211n=1

wme_enabled=1

如果您不使用Adafruit wifi适配器,您可能必须更改 driver = rtl871xdrv 以说 driver = nl80211 或类似的内容

树莓派

如果您使用的是Raspberry Pi 3的内部WiFi适配器,请注释driver=rtl871xdrv总共一行:

树莓派

照常保存。确保每行结尾或开头没有多余的空格或制表符-该文件非常挑剔!

现在,我们将告诉Pi在哪里可以找到此配置文件。运行 sudo nano/etc/default/hostapd

找到行 #DAEMON_CONF =“” 并进行编辑因此它说 DAEMON_CONF =“/etc/hostapd/hostapd.conf”

别忘了删除前面的#激活它!

然后保存文件

树莓派

类似,运行 sudo nano/etc/init.d/hostapd 并找到该行

DAEMON_CONF=

并将其更改为

DAEMON_CONF=/etc/hostapd/hostapd.conf

树莓派

配置网络地址转换

设置NAT将允许多个客户端连接到WiFi,并通过单个以太网IP将所有数据“隧道化”。 (但是,即使只有一个客户端要连接,也应该这样做)。

运行sudo nano /etc/sysctl.conf

滚动到底部并添加

net.ipv4.ip_forward=1

换行。保存文件。这将在启动时开始IP转发

树莓派

还运行

sudo sh -c “echo 1 》 /proc/sys/net/ipv4/ip_forward”

以立即将其激活

运行以下命令以在以太网端口 eth0 和wifi端口 wlan0

下载:文件

复制代码

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT

sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT

您可以检查一下内容在带有

sudo iptables -t nat -S

sudo iptables -S

的表中(要在重新启动时进行此操作(因此您不必每次都键入它))运行

sudo sh -c “iptables-save 》 /etc/iptables/rules.v4”

树莓派

在开始时安装的 iptables-persistent 工具将自动在启动时重新加载配置。

更新hostapd(也许)

如果您正在运行Raspberry pi内核4.4.13-v7 +或更高版本(使用 uname -a 检查内核版本),则无需执行此步骤。

如果您使用的是Raspberry Pi 3个内置WiFi或未使用类似RTL8192的WiFi适配器,请跳过此步骤!

在运行接入点软件之前,我们必须将其更新为支持该版本的版本。 WiFi适配器。

首先输入

wget http://adafruit-download.s3.amazonaws.com/adafruit_hostapd_14128.zip

来下载新版本(请检查下一部分) (有关如何编译自己的更新的 hostapd )的信息,然后

unzip adafruit_hostapd_14128.zip

对其进行解压缩。使用

sudo mv /usr/sbin/hostapd /usr/sbin/hostapd.ORIG

将旧版本移开,并使用

sudo mv hostapd /usr/sbin

对其进行设置,使其可以与

sudo chown root:root /usr/sbin/hostapd

sudo chmod 755 /usr/sbin/hostapd

树莓派

首先测试!

最后我们可以测试接入点主机了!运行

sudo/usr/sbin/hostapd/etc/hostapd/hostapd.conf

与我们一起手动运行 hostapd 配置文件。您应该看到它已设置并使用 wlan0 ,然后您可以与另一台wifi计算机进行检查,以查看SSID是否显示出来。如果是这样,则说明您已经成功设置了接入点。

如果收到此警告

下载:文件

复制代码

Configuration file: /etc/hostapd/hostapd.conf

Line 2: invalid/unknown driver ’rtl871xdrv‘

1 errors found in configuration file ’/etc/hostapd/hostapd.conf‘

Failed to set up interface with /etc/hostapd/hostapd.conf

Failed to initialize interface Configuration file: /etc/hostapd/hostapd.conf

Line 2: invalid/unknown driver ’rtl871xdrv‘

1 errors found in configuration file ’/etc/hostapd/hostapd.conf‘

Failed to set up interface with /etc/hostapd/hostapd.conf

Failed to initialize interface

这可能意味着您不在使用一个RTL871Xdrv WiFi适配器(例如Pi 3内部wifi),并且应使用该芯片组注释掉hostapd配置 OR 中的driver=rtl871xdrv行,并且您需要下载我们重新编译的 hostapd 二进制文件

如果它可以正常工作,则应获得以下内容:

树莓派

树莓派

,然后看到创建的新访问点:

树莓派

您可以尝试使用之前设置的密码(可能Raspberry如果您复制了hostapd配置),则将显示调试文本在Pi控制台上,但您将无法连接到以太网连接。

树莓派

在Pi控制台中键入 Control-C 以返回到Pi命令行

删除WPA请求方,以取消测试。

根据您的发行版,您 可能需要删除WPASupplicant。为此,请运行以下命令:

下载:文件

复制代码

sudo mv /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service ~/ sudo mv /usr/share/dbus-1/system-services/fi.epitest.hostap.WPASupplicant.service ~/

,然后重新启动( sudo重新启动)并重试运行 hostapd

整理!

现在我们知道它可以工作了,是时候将其设置为“守护程序”了-该程序将在Pi启动时启动。

运行以下命令

sudo service hostapd start

sudo service isc-dhcp-server start

您可以随时检查状态

sudo服务hostapd状态

树莓派

或 sudo 服务isc-dhcp-服务器状态

树莓派

启动守护程序服务。验证它们是否都成功启动(没有“失败”或“错误”)

然后使其成功启动,以便每次启动时都运行

sudo update-rc.d hostapd启用

sudo update-rc.d isc-dhcp-server 启用

树莓派

连接并测试

现在我们已经在Pi上安装了软件,是时候连接到它并测试连接了。我使用的是Windows计算机,但是任何类型的计算机都可以正常运行

在Pi上,运行命令 tail -f/var/log/syslog 来查看系统日志数据,便于检查和调试发生了什么!

将另一台计算机连接到上一步中创建的AP

树莓派

输入在上一步中指定的WPA密钥

树莓派

树莓派

i》

在Pi syslog中,您应该会看到类似这样的内容!它表明客户端已连接,在什么时候以及为他们提供了什么IP地址。

如果您根本无法连接,则 hostapd

树莓派

在您的计算机上,打开一个终端(mac/linux)或开始-》运行-》 cmd 打开命令行

首先检查 ifconfig (mac/linux)或 ipconfig (windows)说。您的IP地址应该在192.168.42.10-50范围内

树莓派

尝试ping Pi,其地址为 192.168.42.1 -在Windows上它将ping 3次并退出。在Mac/Linux上,按Control-C几秒钟后退出。您应该成功完成ping操作,如下所示

如果该操作无效,则 hostapd 或 dhcpd (更可能)

树莓派

下一步尝试ping 8.8.8.8,如果这不起作用,但以前的方法可行,则 dhcpd 或NAT配置(更可能是)有问题

树莓派

最后,我们将检查DNS是否有效,请尝试ping www.mit.edu。如果这不起作用,则 dhcpd

出现了问题。如果到目前为止一切正常,请尝试浏览Internet,发送电子邮件等。您现在将Pi用作Wifi路由器!

更多!

可以将您的路由器设置为开放或WEP访问,但我们不在此介绍(它也不安全!)您可能想在此搜索有关涵盖 hostapd 选项

编译hostapd

此步骤不是必需的,仅适用于好奇的人!

您可能已经注意到,有一个步骤是从adafruit.com下载hostapd副本并将其与您的交换。如果您要自己编译,请按以下步骤操作(如果您可以使用我们的二进制文件,这很容易,但是没有必要)

转到Realtek下载页面http://152.104 .125.41/downloads/downloadsView.aspx?Langid = 1&PNid = 21&PFid = 48&Level = 5&Conn = 4&ProdID = 27 。..

下载linux 3.4.4_4749

将zip复制到SD使用任何可将其放置在Pi的/boot目录中的计算机(或以某种方式将该文件存储到您的Pi上)

从SD卡引导Pi

sudo mv/boot/RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip。

解压缩RTL8192xC_USB_linux_v3.4.4_4749.20121105.zip

mv RTL8188C_8192C_USB_linux_v3.4.4_4749.20121105/rtlli》

cd wpa_supplicant_hostapd

解压缩wpa_supplicant_hostapd-0.8_rtw_20120803.zip

cd wpa_supplicant_hostapd-0.8/

cd hostapd

make

*有一个三明治*

完成后, hostapd 二进制文件位于目录中

(下载链接无法正常工作,也许它的Som在http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PNid=21&PFid=48&Level=5&Conn=4&DownTypeID=3&GetDown=false)中的什么位置
         责任编辑:wv

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分