树莓派配置热点官网操作指引

2023-11-19

参考官方原说明链接:
https://www.raspberrypi.org/documentation/computers/configuration.html#enable-routing-and-ip-masquerading

1.安装接入点和网络管理软件

为了用作访问点,Raspberry Pi需要hostapd安装访问点软件包:

sudo apt install hostapd

注:因为系统更新的原因,可能此处无法正常执行,请先

sudo apt-get update

启用无线接入点服务并将其设置为在Raspberry Pi启动时启动:

sudo systemctl unmask hostapd
sudo systemctl enable hostapd

为了向无线客户端提供网络管理服务(DNS,DHCP),Raspberry Pi需要dnsmasq安装软件包:

sudo apt install dnsmasq

最后,安装netfilter-persistent及其插件iptables-persistent。此实用程序通过保存防火墙规则并在Raspberry Pi启动时将其还原来提供帮助:

sudo DEBIAN_FRONTEND=noninteractive apt install -y netfilter-persistent iptables-persistent

软件安装完成。稍后我们将配置软件包。

2. 设置网络路由器

Raspberry Pi将运行并管理一个独立的无线网络。它还将在无线和以太网网络之间路由,从而为无线客户端提供Internet访问。如果愿意,可以选择跳过下面的“启用路由和IP伪装”部分来跳过路由,并以完全隔离的方式运行无线网络。

定义无线接口IP配置
Raspberry Pi为无线网络运行DHCP服务器。这要求wlan0Raspberry Pi中的无线接口()具有静态IP配置。Raspberry Pi还充当无线网络上的路由器,按照惯例,我们将为其提供网络中的第一个IP地址:192.168.4.1。

要配置静态IP地址,请使用以下命令编辑配置文件dhcpcd:

sudo nano /etc/dhcpcd.conf

转到文件末尾并添加以下内容:

interface wlan0
    static ip_address=192.168.4.1/24
    nohook wpa_supplicant

3. 为无线网络配置DHCP和DNS服务

DHCP和DNS服务由提供dnsmasq。默认配置文件充当所有可能配置选项的模板,而我们只需要其中几个。从空文件开始比较容易。

重命名默认配置文件并编辑一个新文件:

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
sudo nano /etc/dnsmasq.conf

将以下内容添加到文件中并保存:

interface=wlan0 # Listening interface
dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h
                # Pool of IP addresses served via DHCP
domain=wlan     # Local wireless DNS domain
address=/gw.wlan/192.168.4.1
                # Alias for this router

Raspberry Pi将为无线DHCP客户端提供介于192.168.4.2和之间的IP地址192.168.4.20,租用时间为24小时。您应该可以gw.wlan通过无线客户端的名称访问Raspberry Pi 。

还有更多的选择dnsmasq; 有关详细信息,请参见默认配置文件(/etc/dnsmasq.conf)或在线文档。

确保无线操作
世界各国对电信无线电频段的使用进行监管,以确保无干扰运行。Linux OS允许用户为应用程序配置两个字母的“ WiFi国家/地区代码”,例如在美国使用的计算机,从而帮助用户遵守这些规则US。

在Raspberry Pi OS中,在用户配置了WiFi国家代码之前,通常会在初始安装过程中将其禁用5 GHz无线网络连接(有关详细信息,请参阅本节中的无线配置页面。)

为确保Raspberry Pi上的WiFi无线电未被阻止,请执行以下命令:

sudo rfkill unblock wlan

此设置将在启动时自动恢复。接下来,我们将在接入点软件配置中定义适当的国家/地区代码。

配置接入点软件
创建hostapd位于的配置文件,/etc/hostapd/hostapd.conf为您的新无线网络添加各种参数。

sudo nano /etc/hostapd/hostapd.conf

将以下信息添加到配置文件。此配置假定我们使用的是通道7,ssid网络名称为NameOfNetwork,密码为12345678。请注意,用户名和密码应该不会有他们周围的报价。密码的长度应在8到64个字符之间。

country_code=GB
interface=wlan0
ssid=NameOfNetwork
hw_mode=g
channel=7
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

请注意以下行country_code=GB:它将计算机配置为使用英国的正确无线频率。修改此行,并指定您所在国家/地区的两个字母的ISO代码。有关两个字母的ISO 3166-1国家/地区代码列表,请参见Wikipedia。

要使用5 GHz频段,可以将操作模式从更改hw_mode=g为hw_mode=a。可能的值为hw_mode:

a = IEEE 802.11a(5 GHz)(Raspberry Pi 3B +起)
b = IEEE 802.11b(2.4 GHz)
g = IEEE 802.11g(2.4 GHz)
请注意,更改时hw_mode,您可能还需要更改channel–有关允许的组合的列表,请参见Wikipedia

4.运行新的无线接入点

现在,重新启动Raspberry Pi,并验证无线访问点是否自动可用。

sudo systemctl reboot

Raspberry Pi重新启动后,请使用您的无线客户端搜索无线网络。您在文件中指定的网络SSID/etc/hostapd/hostapd.conf现在应该存在,并且可以使用指定的密码进行访问。

如果在Raspberry Pi上启用了SSH,则应该可以通过您的无线客户端通过以下方式连接到它,并假设pi存在该帐户:ssh pi@192.168.4.1或ssh pi@gw.wlan

如果您的无线客户端可以访问Raspberry Pi(如果设置了路由,则可以访问Internet),那么祝贺您设置新的访问点!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

树莓派配置热点官网操作指引 的相关文章

  • 归档文件系统或格式

    我正在寻找一种文件类型来存储已退役系统的档案 目前 我们主要使用 tar gz 但从 200GB tar gz 存档中查找并提取几个文件是很麻烦的 因为 tar gz 不支持任何类型的随机访问读取规定 在你明白之前 使用 FUSE 安装 t
  • 没有可用的符号表信息

    我正在测试第三方的库 它崩溃了 当我想查看崩溃的原因时 我的 gdb 告诉我没有可用的调试符号 Program received signal SIGSEGV Segmentation fault Switching to Thread 0
  • SONAR - 使用 Cobertura 测量代码覆盖率

    我正在使用声纳来测量代码质量 我不知道的一件事是使用 Cobertura 测量代码覆盖率的步骤 我按照以下步骤操作http cobertura sourceforge net anttaskreference html http cober
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • 在 Mac OS X 上构建 Linux 内核

    我正在做一个修改Linux内核的项目 我有一台桌面 Linux 机器 在上面构建内核没有问题 不过 我要去旅行 我想在途中工作 我只有一台 MacBook 当我尝试构建 Linux 内核时 它抱怨说elf h was not found 我
  • 强制卸载 NFS 安装目录 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案
  • 抑制 makefile 中命令调用的回显?

    我为一个作业编写了一个程序 该程序应该将其输出打印到标准输出 分配规范需要创建一个 Makefile 当调用它时make run gt outputFile应该运行该程序并将输出写入一个文件 该文件的 SHA1 指纹与规范中给出的指纹相同
  • 如何通过替换为空页映射来取消映射 mmap 文件

    Linux 用户空间有没有办法用空页面 映射自 dev null 或者可能是一个空页面 重复映射到从文件映射的页面的顶部 对于上下文 我想找到这个 JDK bug 的修复 https bugs openjdk java net browse
  • 应用程序无缘无故地被杀死。怀疑 BSS 高。如何调试呢?

    我已经在CentOs6 6中成功运行我的应用程序 最近 硬件 主板和内存 更新了 我的应用程序现在毫无理由地被杀死 root localhost PktBlaster PktBlaster Killed 文件和 ldd 输出 root lo
  • 如何禁用 GNOME 桌面屏幕锁定? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何阻止 GNOME 桌面在几分钟空闲时间后锁定屏幕 我已经尝试过官方手册了在红帽 https access redhat com doc
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • 无法从 jenkins 作为后台进程运行 nohup 命令

    更新 根据下面的讨论 我编辑了我的答案以获得更准确的描述 我正在尝试从詹金斯运行 nohup 命令 完整的命令是 nohup java jar home jar server process 0 35 jar prod gt gt var
  • Linux 中的动态环境变量?

    Linux 中是否可以通过某种方式拥有动态环境变量 我有一个网络服务器 网站遵循以下布局 site qa production 我想要一个环境变量 例如 APPLICATION ENV 当我在 qa 目录中时设置为 qa 当我在生产目录中时
  • 加载数据infile,Windows和Linux的区别

    我有一个需要导入到 MySQL 表的文件 这是我的命令 LOAD DATA LOCAL INFILE C test csv INTO TABLE logs fields terminated by LINES terminated BY n
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t

随机推荐

  • 编写高质量代码:改善Java程序的151个建议(第7章:泛型和反射___建议101~109)

    我命由我不由天 哪吒 建议101 注意Class类的特殊性 建议102 适时选择getDeclaredXXX和getXXX 建议103 反射访问属性或方法时Accessible设置为true 建议104 使用forName动态加载类文件 建
  • CSS中设置表格TD宽度的问题

    CSS布局 表格宽度不听使唤的实例 想把表格第一例宽度设为20 其他自适应 但CSS中宽度是等宽的 只设这一行也不起作用 但是在实际应用中总是等宽处理 并不按照样式来走 XML HTML代码
  • Linux 添加ssh公钥 实现免密认证

    ssh 无密码登录要使用公钥与私钥 linux下可以用用ssh keygen生成公钥 私钥对 1 添加A服务器公钥到B服务器 2 到A服务器输入命令ssh keygen 一路回车 3 找到A服务器的 root ssh id rsa pub
  • Windows环境下3分钟就能安装一个Ubuntu

    作为一名IT人士 如果你手上没有一个私人的Linux环境是说不过去的 单独购买云服务器来搭建代价太高 用磁盘分区装双系统步骤也繁琐 那怎样在3分钟内快速搭建出一个私人的Linux环境呢 一 在Windows系统下 装Linux的常用方法是
  • Redis之hash类型

    文章目录 Redis之hash类型 1 设置一个字段 获取一个字段 2 获取所有字段值 3 判断字段是否存在 4 设置多个字段 获取多个字段 5 只获取字段名 字段值 6 获取某个key内全部数量 7 增加数字 8 删除key内字段 9 字
  • form表单传递对象数组

    ajax传递数组 form表单提交对象数组 在JSP页面开发中 我们常常会用到form表单做数据提交 由于以前一直只是使用 form表单提交单个对象 只要表单文本域的name值和接收的对象的属性名一致 那么传值就没有什么问题 不过 在前几天
  • 【狂神说Java】CSS快速入门

    目录 1 什么是CSS 11 什么是CSS 1 2 发展史 1 3 快速入门 1 4 CSS的三种导入方式 2 选择器 2 1 基本选择器 2 2 层次选择器 2 3 结构伪类选择器 2 4 属性选择器 常用 3 美化网页元素 3 1 为什
  • 【前端】菜单栏设计(html、css)

    先展示一下效果图 目录 一 代码 1 1 html 1 2 css 二 代码分析 2 1 浏览器配置 2 1 1 normalize css 2 1 2 html5shiv 2 2 html分析 2 css解析 一 代码 1 1 html
  • 源文件字符集,编译器内部字符集,执行字符集,控制台乱码问题,Qt中文问题

    源文件字符集 源文件本身也是文本文件 所以源文件字符集是指源文件保存时采用哪种字符集编码 VC 下源文件默认是gbk编码 如果想要更改 可以通过 文件 高级保存选项 修改某个源文件的编码方式 似乎没有什么选项能够设置创建项目时的源文件编码
  • 如何编写测试用例

    文章目录 测试用例的内容 等价类 边界值分析法 流程分析法 判定表法 正交试验法 测试用例的内容 用例编号 用于唯一的识别用例 能够根据用例编号识别我们测试所属的产品 模块 测试阶段等 一般格式为 A B C D A 一般用来表示产品或者项
  • Heating Up (单调栈,在环上选择一个点为起点,若有一边权值小于当前值,则吃掉那个点并获得相应贡献)

    https codeforces com gym 104064 problem H include
  • js计算两日期相差的天数、月数

    返回两个日期相差的月数function MonthsBetw date1 date2 date1和date2是2019 3 12格式 用 分成数组 date1 date1 split date2 date2 split 获取年 月数 var
  • 8086乘法指令MUL,IMUL

    对于加减指令来说CPU对有符号加减和无符号加减一视同仁 根据我们需要把它作为有符号的结果还是无符号的结果 但是乘除法指令区分有符号乘除和无符号乘除指令 无符号数乘法指令MUL MULtiply MUL OPRD OPRD可以用除立即数以外的
  • AD15设置覆铜与边框尺寸

    铺板铜边到的间距要比到其它的间距的优先级要高
  • 修改 placeholder 样式,placeholder 换行 以及iOS 上设置placeholder被遮挡

    修改placeholder样式 通过选择器就可以简单的修改该placeholder的样式 input placeholder font size 14px color 666666 placeholder 换行 在input 里面很少用到
  • Spring的@Autowired注解原理分析

    一 Autowired的作用 Autowired常用来作属性的注入 可以作用在构造方法 普通方法 字段 注解 参数上 将构造函数 字段 设置方法或配置方法标记为由Spring 的依赖注入工具自动装配 Autowired注解做过开发的肯定都很
  • linux 远程管理ssh sz/rz

    sentos7 连接配置 安装sentos7 自行安装sentos7 建议使用virtualBox创建 服务端安装openssh server 检查是否已经安装openssh server vagrant localhost yum lis
  • 学习笔记Controller

    转自 http elim iteye com blog 1753271 谢谢博主分享 SpringMVC Controller 介绍 一 简介 在SpringMVC 中 控制器Controller 负责处理由DispatcherServle
  • 【Git

    个人格言 时间是亳不留情的 它真使人在自己制造的镜子里照见自己的真相 Git专栏 Git篇 JavaScript专栏 js实用技巧篇 该专栏持续更新中 目的是给大家分享一些常用实用技巧 同时巩固自己的基础 共同进步 欢迎前来交流 你的一键三
  • 树莓派配置热点官网操作指引

    参考官方原说明链接 https www raspberrypi org documentation computers configuration html enable routing and ip masquerading 1 安装接入