admin管理员组文章数量:1591624
该功能主要用于搭建一个小型的的网络,使得连接至热点的各个设备可以进行通信,用于构建物联网系统(如智能家居)或是无线控制指定设备。另外这一网络也是独立的,并未启用NAT连接至互联网,具有一定的安全性也为研究提供了一定的便利。
目前已经有很多方案几乎可以一键实现此功能,例如RaspAP,它还提供一个很友好的热点管理界面。
但是在实际一键安装过程中总是会遇到很多问题,手动安装过程冗长而且忙活了半天输入了一堆不明白是干什么的指令,实在有些不值当,因此推荐以下的方法,易懂而且帮助你复习你的计算机网络知识。
原帖地址:
Setting up a Raspberry Pi 3 as an Access Pointlearn.sparkfun笔者使用树莓派3B自带无线网卡,安装官方raspbian操作系统。
在树莓派终端输入
ifconfig
即可查询树莓派的所有网络接口(interface)信息,若此时你的树莓派连接了网线或者连接了wifi,查询结果还会包括分配给这一接口的IP地址,该接口所连接网络的相关信息等。一般而言树莓派3B的网线接口(以太网)和无线网卡分别对应了eth0和wlan0这两个名称,若你使用了外接的USB无线网卡则需要自行对应相应的网络接口名称。
一、配置网卡
我们要把当前的网卡作为热点,则首先将该网卡禁用,让其停止作为接入其他热点的功能。在较新版本的raspbian中通过dhcpcd管理。
sudo nano /etc/dhcpcd.conf
nano为自带的文本编辑器,最大便利在于所见即所得,相比于vim更容易上手一些,nano的基本操作包括Ctrl+O写入,Ctrl+X退出,每次的编辑要写入后再退出。
dhcpcd.conf即为树莓派dhcpcd的配置文件,在最后一行加上
denyinterfaces wlan0
即禁用了wlan0接口。
禁用之后该接口不再能接入其他热点,即不能通过其他热点dhcp功能获取到IP地址,因此需要手动给这一接口一个静态的IP地址。
sudo nano /etc/network/interfaces
此次修改的文件是interfaces文件,在其中加入
allow-hotplug wlan0
iface wlan0 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
回想一下计算机网络的知识,192.168.xxx.xxx 是典型的私有IP地址,即拥有这样地址的IP数据报不会在互联网中传播(路由器会自动丢弃它),需要依靠NAT转发(不在本文讨论范围内)。此时配置的分别是wlan0接口的IP地址,AP所形成的网络的掩码、网络和广播IP。
二、AP配置
一个WIFI热点(Access Point)正常工作基本上要实现两部分的功能:
- 实现接入管理
- DHCP功能
接下来分别实现这两项功能
1、实现接入管理--配置hostap
接入管理中,最简单的,我们需要设置一个wifi的名字并且广播出去让其他设备可以查找到,我们需要设置密码让闲杂设备靠边......
hostap就是实现这一系列功能的程序,实际上几乎所有AP解决方案都绕不开这一相同的步骤(只是有时候它帮你完成了),下载hostap
sudo apt-get -y install hostapd
-y参数表示询问是均回答yes,如果下载缓慢或者无法连接,可移步清华tuna设置下载镜像。
修改(当文件不存在时则创建)hostap配置文件
sudo nano /etc/hostapd/hostapd.conf
输入以下信息
interface=wlan0
driver=nl80211
ssid=YourAPname
hw_mode=g
channel=6
ieee80211n=1
wmm_enabled=1
ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_key_mgmt=WPA-PSK
wpa_passphrase=raspberry
rsn_pairwise=CCM
以上信息即为要创建热点的基本信息,包括使用的网络接口interface为wlan0,热点名称ssid,密码等,请根据需要修改ssid和wpa_passphrase,若加密方式选择了wpa2(wpa=2)则设置的密码至少为8位(目前你手机连接上网的wifi的密码一般也至少需要8位,意味着加密方式应当也是wpa2)。
之后需要向hostap指定它的配置文件位置(你不告诉我我怎么知道)
sudo nano /etc/default/hostapd
文件中找到以下语句并修改
DAEMON_CONF="/etc/hostapd/hostapd.conf"
这里填入的就是上一步设置的配置文件的位置。
2、实现DHCP功能--配置dnsmasq
dhcp即为接入的新设备分配一个IP地址,这样才具有完整的网络通信功能。
实现dhcp的工具有很多,这里选用dnsmasq,其他工具的核心步骤是相同或者相似的。
下载dnsmasq并且修改配置文件,此时我们先备份原有的配置文件因为它里面有很多有用的信息,比如如何给设备分配静态IP地址,IP地址的租赁时长等等,在第三部分你将会看到。
sudo apt-get -y install dnsmasq
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.bak
sudo nano /etc/dnsmasq.conf
之后你可以配置dhcp的信息了
interface=wlan0
listen-address=192.168.1.1
bind-interfaces
server=8.8.8.8
domain-needed
bogus-priv
dhcp-range=192.168.1.100,192.168.1.200,24h
这里填入了我们给wlan0的静态IP地址,8.8.8.8是谷歌的默认DNS服务器地址(本文用不到),之后设置了分配给设备的IP地址范围192.168.1.100-192.168.1.200以及默认IP租赁时长24小时。
写入退出,重启你的树莓派,用你的电脑或者手机就可以搜索到你的wifi热点了。
三、测试以及更多功能
1、测试IP
我先用手机测试,我设置的ssid为pi_wifi
连接后查询手机的IP地址
这正是我们之前设置的dhcp分配ip的范围之内。
2、测试连接
你可能发现了上一部分我们热点上出现的无Internet的提示,接下来我们就测试设备之间是否连通,最简单的方法是利用Ping。
此时我的电脑连接了家里的wifi,则应当可以访问诸如百度知乎等网站。使用win+R打开命令提示符。
正常Ping通,之后,连接刚才树莓派创建的wifi
回忆我们之前给树莓派wlan0设置的IP地址为192.168.1.1
正常Ping通说明已经正确连接上了热点,但是再Ping百度网站的时候
此时我的手机、电脑和树莓派形成了一个微小而独立的网络,仅仅三者之间可以进行通信。使用NAT转发功能实现连接互联网的配置将在以后的专栏文章中展示。
3、dhcp更多功能--静态IP设置
如之前提到的,查看dnsmasq的配置文件备份可以获得更多功能的信息,这里我出于实验需要希望给固定的设备分配固定的IP地址(而不是在一个范围中选择)。标识主机我们使用的是IP地址,那么标识一个硬件设备我们需要的是它的物理地址(mac地址),它在硬件出厂时就由制造商给定了,一般来说如同IP地址一样是全球唯一的。
windows下命令行使用
ipconfig /all
查看你的mac地址
我在dnsmasq.conf文件中添加了我的电脑网卡的mac地址和我想设置的静态IP,具体格式请从配置文件备份dnsmasq.conf.bak中获取。完成后无论何时我使用电脑连接到树莓派的热点,分配给我的IP地址都会是相同的。
若有不足或不正确的地方敬请指正。
版权声明:本文标题:树莓派3 有线静态路由设置_配置树莓派为wifi热点(AP模式) 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1728115544a1145978.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论