配置树莓派作为一个Access Point(AP)

配置树莓派作为一个Access Point(AP)

WLAN实验配置树莓派的内容:

  1. SSH(使用Laptop方便打开树莓派命令行界面)

  2. Hostapd v2.3或者最新版本

  3. iperf2

配置SSH连接

SSH(Secure Shell)是一种用于安全远程登录和执行网络服务的网络协议。它通过加密通信和身份验证机制,提供了一种安全的方式来远程连接到远程计算机或设备。

  • 树莓派用网线(cable)连接Laptop或者PC

  • 在树莓派界面打开SSH

    • 注意下载树莓派的图形界面
    • 烧录树莓派OS系统(烧录工具balenaEtcher或者官方工具)
    • 打开树莓派SSH功能,一般默认情况下是关闭的(太懒了所以从别人那盗一张图.doge)
      在这里插入图片描述
  • 查询树莓派IP地址

    sudo ifconfig
    

    注意查看eth0端口的IP地址

    • 通常情况下会配置static IP,静态IP方便使用树莓派的eth0端口进行SSH连接
    //进入dhcpcd的配置文件
    //需要提前下载安装dhcpcd功能
    sudo nano /etc/dhcpcd.config//在dhcpcd.config中写入静态IP地址
    interface eth0 // 确定要修改的接口
    static_ip_address=192.168.11.10/24 // 192.168.11.10为WLAN实验常用SSH端口IP,可以根据自己的喜好进行任意设置,/24表示子网掩码为255.255.255.0// ctrl+X 退出并进行保存
    
  • 经过上一步之后,我们的树莓派IP地址将变为192.168.11.10

  • 在Laptop或者PC上打开终端(ctrl+alt+T),输入

    ssh pi@192.168.11.10 //自己设置的IP地址
    
  • 输入ssh之后会显示输入树莓派的用户密码,用户名字一般设置为PI,用户密码建议设置为raspberry

  • 可能存在的问题

    Permission denied# 用户名或密码错误:请确保输入的用户名和密码是正确的。默认情况下,树莓派的用户名是"pi",密码是"raspberry"。如果已更改用户名或密码,请相应地使用新的凭据进行连接。
    # SSH服务未启用:在树莓派上默认情况下,SSH服务是禁用的。需要通过树莓派上的其他连接方式(例如显示器和键盘)启用SSH服务。请参考之前的"在树莓派上启用SSH服务"部分来启用SSH。
    # IP地址或主机名错误:确保输入的是正确的树莓派IP地址或主机名。可以使用树莓派上的ifconfig命令来获取正确的IP地址。publickey password
    # 通过以下指令查询log日志
    /var/log/auth.log
    # 一般出现在修改过IP之后
    # 大概率可能是用户名错误或者密码错误
    # 也可能是使用ssh pi@的主机出现了调用别的设备的情况导致密码不匹配# 指定用户名强行登录
    sudo ssh -l pi# 查询地址登录
    cat /var/lib/misc/dnsmasq.leases
    ssh pi@xxx# 查询树莓派SSH配置
    sudo cat /etc/ssh/sshd_config
    #PasswordAuthentication yes
    sudo service ssh restart# 修复SSH权限
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys
    chown -R <username> ~/.ssh# 最后的办法
    # 备份当前的 /etc/ssh/sshd_config 文件,然后删除它,然后重新安装 OpenSSH 服务器:
    sudo apt purge openssh-server
    sudo apt install openssh-server# 最后最后最后的方法
    # 重装系统吧...
    

下载和安装配置hostapd

参考网页https://thepi.io/how-to-use-your-raspberry-pi-as-a-wireless-access-point/

  • 使用apt指令下载

    sudo apt-get upgrade
    # 更新系统(可以跳过)sudo apt-get install hostapd
    
  • 下载dnsmasq

    sudo apt-get dnsmasq
    

    下载和配置dnsmasq是为了提供一个完整的无线访问点解决方案。hostapd负责管理和控制无线接入点的功能,而dnsmasq则提供了DNS和DHCP服务。

  • 我们稍后要编辑程序的配置文件,所以让先关闭程序

    sudo systemctl stop hostapd
    sudo systemctl stop dnsmasq
    
  • 为无线接口配置静态IP

    sudo nano /etc/dhcpcd.config# 添加wlan1的接口信息(因为我们使用external NIC作为无线网卡,所以接口不是树莓派板载的wlan0,而是使用wlan1,通常为了防止干扰会禁用wlan0)
    

    进入到dhcpcd.config配置文件之后添加如下:

    interface wlan1
    static ip_address=192.168.11.1/24 //任意IP地址都可以,但是不要重复!
    denyinterfaces eth0
    denyinterfaces wlan1
    # denyinterfaces eth0:禁止eth0接口使用DHCP客户端。其实不写也没问题,因为在上边的步骤中我们给树莓派分配了eth0的静态IP, 写不写DHCP服务都不会生效。
    # denyinterfaces wlan1:禁止wlan0接口使用DHCP客户端。这意味着树莓派上的wlan0接口将不会尝试通过DHCP协议来获取IP地址。
    

    *这里科普一下DHCP协议

    DHCP(Dynamic Host Configuration Protocol)是一种网络协议,用于自动分配IP地址和其他网络配置参数给网络上的设备。主要作用是IP地址分配,DHCP服务器(通常是网络中的路由器或专用服务器)负责管理和分配IP地址给网络上的设备。当设备加入网络或需要续约IP地址时,它可以向DHCP服务器发送请求,并从服务器获取可用的IP地址。

  • 用上边下载的dnsmasq作为server去进行DHCP的服务

    dnsmasq的默认配置文件包含了很多不必要的信息,所以我们更容易从头开始。让我们重命名默认配置文件并编写一个新配置文件:

    sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
    sudo nano /etc/dnsmasq.conf
    # mv: 是 "move"(移动)的缩写,用于移动或重命名文件。
    #/etc/dnsmasq.conf: 是要移动或重命名的目标文件的路径。
    #/etc/dnsmasq.conf.orig: 是目标文件的新路径和名称。
    
  • 新的dnsmasq.config文件中添加如下:

    interface=wlan1 #这里表示dnsmasq要监听的接口,我们使用的是wlan1接口dhcp-range=192.168.11.10,192.168.11.100,255.255.255.0,24h
    # 这里定义了分配的IP地址范围
    # 192:常见的家庭网络标识号
    # 168.11:子网号
    # 10:具体的主机
    # 要保持分配的IP地址的子网号与wlan1的相同,同时不能包含wlan1的主机号,避免冲突
    
  • 配置hostapd的config文件

    sudo nano /etc/hostapd/hostapd.conf
    
    interface=wlan1 # 接口
    bridge=br0 #使用br0桥接接口
    hw_mode=g #指定无线接口模式 hw_mode=a启动5GHz
    channel=7 #频道
    wmm_enabled=0 #禁用WMM
    macaddr_acl=0 #禁用mac地址访问控制
    auth_algs=1 #认证算法类型
    ignore_broadcast_ssid=0 #不忽略广播SSID
    wpa=2 #Wi-Fi Protected Access版本
    wpa_key_mgmt=WPA-PSK #指定WPA的密钥管理类型
    wpa_pairwise=TKIP #指定WPA的数据加密方式
    rsn_pairwise=CCMP #指定RSN(Robust Security Network)的数据加密方式
    ssid=NETWORK #SSID
    wpa_passphrase=PASSWORD #密码
    

    具体更多设置请参考:https://w1.fi/cgit/hostap/plain/hostapd/hostapd.conf

  • 进入/etc/default文件夹修改默认配置

    sudo nano /etc/default/hostapd
    #修改为如下形式
    DAEMON_CONF="/etc/hostapd/hostapd.conf
    
  • 进入内核参数配置文件启用数据转发

    sudo nano /etc/sysctl.conf
    # net.ipv4.ip_forward=1修改为:
    net.ipv4.ip_forward=1
    

开启hostapd方法

很简单,设置好你需要的hostapd.config之后,执行:

sudo su #root权限
/usr/sbin/hostapd /etc/hostapd/hostapd.config

iperf设置

以下内容来自ChatGPT的科普:

iperf2 是一个用于测量网络带宽和性能的工具,它提供了以下功能:

  1. 带宽测量:iperf2 可以用于测量网络连接的带宽,包括上传和下载速度。通过在服务器和客户端之间进行数据传输并计算传输速率,可以评估网络的吞吐量。
  2. 传输模式:iperf2 支持多种传输模式,包括 TCP 和 UDP。TCP 模式用于测量可靠性传输的带宽和延迟,而 UDP 模式用于测量无连接传输的带宽和丢包率。
  3. 测量参数:iperf2 允许设置各种参数来进行测量,包括数据包大小、传输时间、并发连接数等。通过调整这些参数,可以模拟不同负载和网络环境下的性能。
  4. 服务器-客户端架构:iperf2 使用服务器-客户端架构进行测量。服务器端监听指定的端口,而客户端通过连接到服务器发送和接收数据。这种架构允许同时进行多个并发连接,从而模拟真实的网络负载。
  5. 报告统计:iperf2 提供详细的统计信息和报告,包括带宽、延迟、丢包率、数据传输量等。这些报告可以帮助分析网络性能和瓶颈,并进行性能优化。

下面来配置iperf:

  • 下载iperf(我们使用iperf2.0.5版本)

    wget https://downloads.sourceforge.net/project/iperf/iperf-2.0.5.tar.gz
    # 此处使用wget下载,避免没有源
    # 使用apt也可以
    sudo apt-get install iperf 2.0.5
    # 或者从网页上手动下载,安装
    
  • 如果使用wget,继续执行:

    tar -xvf iperf-2.0.5.tar.gz
    
  • 进入解压后的目录编译:

    cd iperf-2.0.5./configure
    make
    sudo make install
    #验证iperf版本
    iperf -v
    

下面来运行iperf:

  • 在树莓派端输入:

    iperf -s
    # 作为server
    
  • 在你的host端,我们使用laptop:

    # 首先连接到树莓派共享的Access Point
    iperf -c<服务器IP> -t<测量时间> -i<打印间隔> -w<窗口大小>
    # 默认情况下使用TCP服务,可以通过-u开启UDP
    

    科普一下TCP和UDP:

    TCP 提供可靠性和顺序性的数据传输,适合对数据完整性要求较高的应用,而 UDP 提供了较低的延迟和较高的传输速度,适合实时性要求较高的应用。

    这里我们使用TCP作为传输协议,因为要解决TCP的问题…

常用的Linux系统知识

这里科普一下常用的Linux系统知识:

Linux根目录

在 Linux 系统中,根目录(root directory)是整个文件系统的最顶层目录,用 / 表示。根目录是文件系统的起点,所有其他目录和文件都是从根目录开始的。

根目录包含了许多重要的系统目录和文件,以下是一些常见的根目录下的子目录和文件:

  • /bin:存放系统的基本命令和可执行程序(二进制文件)。
  • /boot:存放启动和引导相关的文件,如内核文件、启动加载程序(GRUB)等。
  • /dev:存放设备文件,用于与硬件设备进行交互。
  • /etc:存放系统的配置文件,如网络配置、用户账户配置、服务配置等。
  • /home:默认的用户主目录,每个用户在此目录下有一个对应的子目录,用于存放个人文件和配置。
  • /lib:存放系统库文件,包含许多共享的系统函数库。
  • /mnt:用于挂载其他文件系统的临时挂载点。
  • /proc:虚拟文件系统,提供对内核和进程信息的访问。
  • /root:超级用户(root)的主目录。
  • /sbin:存放系统管理命令和管理员使用的可执行程序。
  • /tmp:用于存放临时文件。
  • /usr:存放系统软件资源,包括应用程序、库文件、文档等。
  • /var:存放变量数据,如日志文件、缓存文件、临时文件等。

Linux基础指令

文件操作指令:

  • ls:列出目录内容。
  • cd:切换目录。
  • pwd:显示当前工作目录的路径。
  • mkdir:创建新目录。
  • rm:删除文件或目录。
  • cp:复制文件或目录。
  • mv:移动文件或目录。
  • cat:显示文件内容。
  • touch:创建空文件或更新文件的访问和修改时间戳。

网络工具指令:

  • ifconfig

  • iwconfig

    # iwconfig 是一个用于配置无线网络接口的命令行工具
    iwconfig
    # 指定接口
    iwconfig wlan0
    # 启用或禁用无线接口的传输功率控制:
    iwconfig <无线接口名称> txpower <功率级别>
    # 例如:
    iwconfig wlan0 txpower 20
    # 20的单位是dBm, 根据自己的adapter去调整
    

cp:复制文件或目录。

  • mv:移动文件或目录。
  • cat:显示文件内容。
  • touch:创建空文件或更新文件的访问和修改时间戳。

网络工具指令:

  • ifconfig

  • iwconfig

    # iwconfig 是一个用于配置无线网络接口的命令行工具
    iwconfig
    # 指定接口
    iwconfig wlan0
    # 启用或禁用无线接口的传输功率控制:
    iwconfig <无线接口名称> txpower <功率级别>
    # 例如:
    iwconfig wlan0 txpower 20
    # 20的单位是dBm, 根据自己的adapter去调整
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/22986.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

本人亲测树莓派4B ubuntu20.04server连接wifi 设置wifi静态ip 连接Xshell 详细避坑

一.前言 遇到的坑 镜像安装 网上有很多教程&#xff0c;注意的是我安装20.04MATE版时会出现安装系统崩溃的情况&#xff0c;而安装server版本则不会。 我的显示器是24寸&#xff0c;在连接显示器时需要在usercfg.txt中键入如下命令&#xff1a; framebuffer_width1920 framebuf…

SCI投稿Title Page、Cover letter、Highlights、Manuscript模板

参考&#xff1a; SCI投稿Cover letter模板 SCI 投稿全过程信件模板一览&#xff08;Cover letter&#xff0c;催稿信等&#xff09; SCI 投稿 3 个月迟迟无消息&#xff0c;竟只是漏了这个步骤… elsevier初次投稿模板 最新投稿信 Cover Letter 和Highlights 模板资料 1.第一…

Ghatgpt正式登录苹果手机应用商城,并支持Siri和快捷指令

根据最新信息&#xff0c;OpenAI 发布的 ChatGPT 官方 iOS 应用程序迎来了重大更新。该应用程序已经在上个月登陆了美国、英国、法国、德国和韩国等 App Store&#xff0c;并且成为该市场上最受欢迎的免费应用程序。 作为生产力类应用的领导者&#xff0c;该应用程序完全免费&a…

让对方计算机死机的代码,微信让对方死机代码是什么?一串代码卡死微信

随着网络技术的发达&#xff0c;越来越多的人学会写代码。不少人也会通过代码&#xff0c;给别人来一场恶作剧。就例如通过给对方发送一串代码便能让对方的微信死机&#xff0c;大家是不是都觉得很神奇呢?那么微信让对方死机的代码是什么呢?接下来小编就给大家分享一下。 漏洞…

java实验:完成一个电商购物平台的登录注册窗体

电商购物平台pro plus &#xff08;越来越像样了奥 文章目录 前言 一、实验内容 二、实验思路 三、实验代码 四、实验结果截图 总结 前言 继续对电商购物平台进行改进和升级&#xff0c;加上用户登录及注册页面 &#xff08;虽然前几次升级好像没发 一个有点小复杂的东…

B2C模式电商案例-用户注册与登录

1、用户注册-短信验证码 1.1分析 1.2后端 创建 SmsController类&#xff0c;调用阿里大鱼工具类&#xff0c;发送短信 package com.czxy.changgou4.controller;import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; import com.czxy.changgou4.pojo.User; import …

用户注册登录退出功能的实现——淘淘商城(二十五)

静态资源配置用户注册页面 需求 分析总结 Controller层 用户登录页面 需求 分析总结 Controller层 门户工程整合单点登录系统 cookie的读写 需求开发 注册、登录、退出页面的跳转 需求开发 拦截器强制登录 需求Service层拦截器 运行工程 静态资源配置 taotao-sso的WEB-INF下…

JAVA实验:完成一个电商购物平台的登录注册窗体,点击“点我注册”,显示注册窗体,用户输入用户信息,点击提交后到达显示用户信息的窗体。

内容3&#xff1a;在内容2的基础上&#xff0c;用户点击登录注册窗体的登录按钮&#xff0c;到达商品信息查询的窗体&#xff0c;窗体如图3所示。 本次实验主要利用java类swing中的各种方法。 实验思路&#xff1a;通过实验所给出的窗口&#xff0c;使用swing中方法进行构建&a…

【Go实战 | 电商平台】(4) 用户注册

文章目录 1. 编写路由2. 注册路由3. 注册接口3.1 service层3.2 api层3.2 serializer 4. 注册服务 用到的包 github.com/gin-contrib/sessions github.com/gin-contrib/sessions/cookie github.com/gin-gonic/gin 1. 编写路由 新建一个WSGI应用程序实例。 r : gin.Default(…

Vue电商项目--登录与注册

登录注册静态组件 刚刚报了一个错误&#xff0c;找不到图片的资源 assets文件夹--放置全部组件共用静态资源 在样式当中也可以使用符号【src别名】。切记在前面加上 注册业务上 先修改原先的接口成这个按钮 然后把input框里面的数据保存到data中 注册业务下 就是点击获…

C++面经

编译、链接与库编译单文件编译多文件编译 动态链接与静态链接静态链接动态链接 面向对象c⾯向对象 三大特性封装继承多态静态多态&#xff08;模板或重载&#xff09;动态多态&#xff08;面向对象、继承、多态、虚函数&#xff09; 面向对象和面向过程语言的区别面向过程面向对…

GPT-4,究竟强大在哪里?

2023年3月15日&#xff0c;OpenAI向全世界进行了GPT-4的发布会&#xff0c;整个世界都为之沸腾了。GPT-4究竟是有多厉害&#xff1f;为什么能造成这么大的影响&#xff1f;今天小灰来仔细讲解一下。 基础配置 先说说基础配置&#xff0c;之前小灰分享过&#xff0c;GPT-3.5有17…

【EasyPoi实战系列】Spring Boot集成EasyPoi - 第467篇

历史文章&#xff08;文章累计460&#xff09; 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 6…

解密Prompt系列1. Tunning-Free Prompt:GPT2 GPT3 LAMA AutoPrompt

借着ChatGPT的东风&#xff0c;我们来梳理下prompt范式的相关模型。本系列会以A Systematic Survey of Prompting Methods in Natural Language Processing这篇综述为基础&#xff0c;分门别类的整理下这几年比较有代表性的prompt模型。或许你还以其他形式看到过prompt概念&…

未来式人工智能教育在国内的现状

无论是高空户外还是深海水下&#xff0c;或者火灾、地震现场&#xff0c;危险环境让身处其中的工作人员面临巨大威胁。而正在兴起的特种机器人&#xff0c;有望代替人类&#xff0c;在危险现场完成任务。格物斯坦表示&#xff1a;特种机器人&#xff0c;是机器人的一个重要分支…

chatgpt赋能python:Python如何隐藏进程

Python如何隐藏进程 介绍 进程是指运行中的程序在操作系统中的一个实例。在计算机系统中&#xff0c;进程通常都可以被用户或者其他程序所看到。然而&#xff0c;有时候我们需要隐藏进程&#xff0c;比如保护敏感信息或者防止恶意攻击。 Python是一种高级编程语言&#xff0…

UP主高薪裸辞转型独立开发者;LLM权威学习路线图;游戏开发最全AI工具盘点;LOGO制作保姆教程 | ShowMeAI日报

&#x1f440;日报&周刊合集 | &#x1f3a1;生产力工具与行业应用大全 | &#x1f9e1; 点赞关注评论拜托啦&#xff01; &#x1f916; Hugging Face 全球开源AI游戏开发挑战赛&#xff0c;7月8日开始 Open Source AI Game Jam 是 Hugging Face 举办的首场开源游戏开发挑…

ChatGPT到底是什么,带领大家详细解读!

前言 ChatGPT的强大程度相信很多同学都已经体验过了&#xff0c;无论是编写文章&#xff0c;问答&#xff0c;写代码展现除了非常惊艳的能力。一定喜欢技术的同学一定好奇&#xff0c;ChatGPT是如何做到“全知全能”&#xff0c;即会写文章&#xff0c;又会表达总结&#xff0…

IDE + ChatGPT,这款编辑器真的做到可以自动写代码了!

介绍 Cursor 是集成了 GPT-4 的 IDE 工具&#xff0c;目前免费并且无需 API Key&#xff0c;支持 Win、Mac、Linux 平台&#xff0c;可以按要求生成代码&#xff0c;或者让 AI 帮助优化代码&#xff0c;分析代码。Cursor目前已经集成了openai的GPT-4&#xff0c;它或将彻底改变…

CSDN周赛第30期题目解析(天然气定单、小艺读书、买苹果、圆桌)

CSDN周赛第30期&#xff0c;我应试成绩“0”分。试着对天然气定单、小艺读书、买苹果&#x1f34e;、圆桌四个题目&#xff0c;完成算法解析。 (本文获得CSDN质量评分【91】) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖…