一、背景内容

其实就是接了一单,有人需要我帮忙配置一下树莓派开机启动热点。这边做个记录,该方式树莓派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 wlan0
static ip_address=192.168.4.1/24
nohook wpa_supplicant

这里设置的static ip_address最好不要和你周围的无线网络在同一个网段,比如你家无线网络的网段是192.168.2.X,那么这里的静态IP的第三位就设置成其他的就好

保存好之后,重启dhcpcd 服务,终端输入:

sudo systemctl restart dhcpcd

(3)检查

之后检查wlan0的IP地址,终端输入

ifconfig

可以看到IP地址被固定了,如图:

6、dnsmasq

dnsmasq软件包用于给连接热带的设备自动分配IP地址

(1)安装dnsmasq

终端输入:

sudo apt install dnsmasq

停止其服务:

sudo systemctl stop dnsmasq

(2)配置参数

终端输入:

sudo nano /etc/dnsmasq.conf

删除其全部内容,填入:

interface=wlan0
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h

含义:dhcp 服务会给客户端分配 192.168.4.2 到 192.168.4.20 的 IP 空间,24 小时租期。

如图:



之后重启服务。终端输入:

sudo systemctl reload dnsmasq

如果报错了,就执行如下指令:

sudo systemctl unmask dnsmasq
sudo systemctl enable dnsmasq
sudo systemctl start dnsmasq

(3)尝试连接热点

服务重启之后,热点就可以连接了。因为树莓派给连接热点的设备分配了IP。不过此时还无法上网。

7、启用IP转发

终端输入:

sudo nano /etc/sysctl.conf

找到并且取消注释以下行:

net.ipv4.ip_forward=1

如图:

8、配置树莓派防火墙

终端输入:

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

之后保存防火墙规则:

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

之后让设备每次重启都重载这个防火墙规则:

sudo nano /etc/rc.local

将iptables-restore < /etc/iptables.ipv4.nat加到最后一行exit 0的前面,如图:

9、重启设备,enjoy yourself~

重启全部服务:

sudo systemctl unmask hostapd
sudo systemctl unmask dnsmasq
sudo systemctl enable hostapd
sudo systemctl enable dnsmasq
sudo systemctl start hostapd
sudo systemctl start dnsmasq

重启设备:

sudo reboot

树莓派开机自启动热点(使用有线eth0上网,使用wlan0进行热点)的更多相关文章

  1. ArchLinux For Arm 树莓派开机自启动脚本rc.local

    今天折腾了下树莓派的迅雷固件,迅雷的安装很顺利,解压直接运行portal 就搞定了, 但是自启动就有问题了,由于新版的ArchLinux切换到systemd,不但rc.conf省了,连rc.local ...

  2. 【树莓派】开机自启动脚本方法之一(.Desktop文件)

    转载处: 又一个让树莓派开机运行Python脚本的方法 Linux 创建启动器(.Desktop文件) 首先,树莓派使用的是官方推荐的镜像:RASPBIAN: 在树莓派上常常会需要开机自启动pytho ...

  3. 树莓派开机发送IP地址到邮箱

    树莓派使用的wifi联网,在宿舍使用的是公共网络,不能设置静态ip,每次树莓派上电开机后ip地址可能会改变,所以让树莓派开机联网后自动发送ip地址到QQ邮箱 一.安装mutt和msmtp mutt: ...

  4. Linux/Ubuntu 16.04 使用校园网客户端Dr.com DrClient 有线连网,同时开启WiFi热点

    前面写过Ubuntu 16.04 使用校园网客户端 DrClient 无线上网,在这篇文章中将要介绍下,在Ubuntu 16.04上如何使用校园网客户端实现有线登录,这个问题也让博主困惑了很久,但是问 ...

  5. 【Linux】Cent OS 虚拟机开机自启动配置

    一次断电,导致实体机关机了,虚拟机也连不上去,只好手动来起来. 我想增加一下自启动,让硬件开机的时候,自动启动虚拟机: 其实是有办法的,尝试了一下,也成功了,这里简单标记下. virsh autost ...

  6. 设置开机自启动VirtualBox虚拟机系统

    如果常用VirtualBox虚拟机系统的话,设置个随开机启动也是很方便的.不需要打开VirtualBox窗口,直接就是系统启动了. 又继续上网搜索学习了.(设置开机自启动VirtualBox虚拟机系统 ...

  7. CentOS开机自启动

    CentOS 配置的开机自启动. vim /etc/rc.local #!/bin/sh # # This script will be executed *after* all the other ...

  8. win7系统用笔记本共享wifi热点 让手机免费上网

    之前一直在用这个方法把自己的笔记本变成一个wifi热点,让手机也可以直接连wifi上网,节省网费和路由器购买费. 其实就是开启了windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP ...

  9. redis的安装与设置开机自启动

    redis 的安装配置: 可以直接去官网下载((https://redis.io/download) 解压文件到指定目录下  tar zxvf redis-5.0.7.tar.gz -C  /opt/ ...

  10. apache 开机自启动脚本设置

    默认我们源码编译安装apache,是不能使用service这个命令来启动的,通常我们启动的命令是: [root@localhost httpd-2.2.16]# /usr/local/apache2/ ...

随机推荐

  1. 减小code体积的书写习惯

    1. 减少使用switch 2. 函数内部尽量使用内部变量,减少使用全局变量的次数 void func(void){ uint32_t sysclk; ... // 其他代码 rccClocks.SY ...

  2. 卷积神经网络CNN实战:MINST手写数字识别——网络定义

    本文基于python-pytorch框架,编写CNN网络,并采用CNN手写数字数据集训练.测试网络. 网络的构建 以LeNet-5 网络为例 类定义 首先先了解一下网络的最基本框架 一般而言,首先创建 ...

  3. JavaScript设计模式样例二十 —— 中介者模式

    中介者模式(Mediator Pattern) 定义:用来降低多个对象和类之间的通信复杂性.目的:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独 ...

  4. 游戏AI行为决策——Behavior Tree(行为树)

    游戏AI行为决策--行为树 前言 行为树,是目前游戏中应用较为广泛的一种行为决策模型.这离不开它成熟的可视化编辑工具,例如Unity商城中的「Behaviour Designer」,甚至是虚幻引擎也自 ...

  5. EF Core – 冷知识

    Add vs AddAsync 参考: .NET 5 REST API Tutorial AddAsync() vs Add() in EF Core EF Core's AddAsync v. Ad ...

  6. Spring —— (Spring管理第三方资源)数据源对象管理

    数据源对象管理      (用户名密码等敏感的数据不会直接放在bean中 而是放在properties文件中进行管理)    加载properties文件      在resource中创建 jdbc ...

  7. LeetCode 730. Count Different Palindromic Subsequences (区间DP)

    题意 给一个字符串S,求它所有子序列中不同非空回文串的数量.字符串由 'a' 'b' 'c' 'd' 四个字母组成. 由于题目要求的是不同回文串. abba 的回文串子序列为 a,b,aba,abba ...

  8. 【VMware VCF】使用 SoS 实用程序检查 VCF 环境的运行状态以及收集组件的日志信息。

    VMware Cloud Foundation 解决方案中有一个叫 Supportability and Serviceability(SoS)可支持性和可维护性的实用程序,可能你在初始构建 VCF ...

  9. USB总线-Linux内核USB3.0主机控制器驱动初始化流程分析(十三)

    1.概述 RK3588有2个USB3.0 DRD控制器,2个USB2.0 Host控制器.USB3.0 DRD控制器既可以做Host,也可以做Device,向下兼容USB2.0和USB1.0.USB3 ...

  10. YashanDB发布会圆满收官,V23.1三大新品引领国产数据库技术与应用突破!

    11月8日,YashanDB 2023年度产品发布会在线上成功召开.本次产品发布会以"惟实·励新"为主题,宣布崖山数据库系统YashanDB 内核能力.产品形态.生态创新全面升级, ...