一、背景内容
其实就是接了一单,有人需要我帮忙配置一下树莓派开机启动热点。这边做个记录,该方式树莓派4B、3B都可以使用。
二、实际操作
1、使用网线连接路由器和树莓派
树莓派的网络接口一共有三个,分别是:
- eth0:有线网络接口(以太网接口)
- wlan0:无线网络接口(WiFi接口)
- lo:本地回环接口(用于本地通信,localhost:127.0.0.1)
由于需要配置热点,所以需要对wlan0进行配置,故其WiFi功能需要被关闭,这里使用eth0进行网络的连接,其已经默认配置为通过DHCP来自动获取IP地址。连上网线之后通过
ifconfig
查看eth0是否有固定的IP地址,用于判断网络是否连接。
2、关闭wlan0的网络连接
终端输入:
ip route
可以看到:
说明我的设备通过eth0和wlan0连接到了网络,第一点已经提到了需要用到wlan0来开启热点,故这里需要断开wlan0的wifi连接功能再进行配置。
终端输入:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
删除里面的全部内容,然后保存退出重启服务,一键三连~~~
3、树莓派换源
因为后续需要使用apt install来安装Linux软件包,请确保自己的树莓派的apt源是没问题的。这里不过多展开,后续会添加一些其他链接。
4、hostapd
hostapd可以将设备的无线网络接口配置为热点模式,使其成为一个软AP,接受其他设备的连接。
(1)安装且停止服务
终端输入指令进行安装:
sudo apt install hostapd
停止hostapd的服务:
sudo systemctl stop hostapd
(2)热点参数的配置
终端输入:(如果没用这个文件,在这个路径下新建一个即可)
sudo nano /etc/hostapd/hostapd.conf
填入:
interface=wlan0
driver=nl80211
ssid=???
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=???
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
ssid是热点名称;wpa_passphrase是热点密码,根据需要修改。
填完之后如图:
(3)给hostapd指定热点配置文件的路径
终端输入:
sudo nano /etc/default/hostapd
去掉DAEMON_CONF的注释,并配置成/etc/hostapd/hostapd.conf,如图所示。意思就是告诉hostapd要从/etc/hostapd/hostapd.conf读取配置参数。具体如图:
最后重启hostapd服务,终端输入:
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
稍等就可以看到产生的热点信号了。但是此时热点无法连接,因为此热点信号没有连接网络,也无法给客户端分配IP。
5、dhcpcd
dhcpcd是用于进行IP地址相关操作的软件包,这里我们用这个软件包来进行热点IP地址的固定。
终端输入指令进行安装:
(1)安装dhcpcd
sudo apt install dhcpcd
(2)编辑配置文件
编辑dhcpcd配置文件,终端输入:
sudo nano /etc/dhcpcd.conf
删除当中的全部内容,然后输入:
interface wlan0static ip_address=192.168.4.1/24nohook wpa_supplicant
这里设置的static ip_address最好不要和你周围的无线网络在同一个网段,比如你家无线网络的网段是192.168.2.X,那么这里的静态IP的第三位就设置成其他的就好。
保存好之后,重启dhcpcd 服务,终端输入:
sudo systemctl restart dhcpcd
(3)检查
之后检查wlan0的IP地址,终端输入
ifconfig
可以看到IP地址被固定了,如图: