之前一直在 ubuntu 的图形界面中使用,突然需要在 ARM 板上打开热点,一时给弄蒙了,在此记录一下

一、网卡命令

  • 显示所有网络信息

    sudo ip link show
  • 关闭或打开网络

    sudo ip link set wlan0 down
    sudo ip link set wlan0 up
  • 激活或启动网络

    sudo ifconfig wlan0 up
  • 设置 ip 地址

    sudo ifconfig wlan0 192.168.1.102
  • 查看是否支持 ap 模式

    sudo iw dev wlan0 info

二、WIFI 连接工具

在 linux 中管理 WIFI 的工具有很多,比如 wpa_supplicant、iw、netctl、connmanctl等

connmanctl 工具

# 进入管理工具
sudo connmanctl # 是能wifi
connmanctl enable wifi # 开启代理
agent on # 扫描 wifi
scan wifi # 列出扫描的wifi列表,包括已连接的
services # 连接wifi
connect <UUID> # 断开wifi
disconnect <UUID> # 检查当前连接的网络信息
info <UUID> # 删除连接记录
remove <UUID> # 退出
exit

三、热点使用

打开热点主要使用的工具是 hostapd

  • 编写热线 /etc/hostapd/hostapd.conf 配置文件,文件名可以任意

    interface=wlan0     # 你的无线接口名
    driver=nl80211 # 无线驱动类型
    ssid=MyHotspot # 热点名称
    hw_mode=g # 工作模式,g为802.11g,n为802.11n
    channel=6 # 无线频道
    macaddr_acl=0 # 不限制MAC地址
    auth_algs=1 # 认证算法
    ignore_broadcast_ssid=0
    wpa=2 # WPA2安全
    wpa_passphrase=MyPassPhrase # 密码
    wpa_key_mgmt=WPA-PSK
    wpa_pairwise=TKIP
    rsn_pairwise=CCMP

    注意: 通畅情况下这么配置没问题,需要注意的是不热模块之间可能有细微的区别,主要查看对应的手册

  • 启动热点

    sudo hostapd -B /etc/hostapd/hostapd.conf

    注意:此时启动的热点可以扫描到,但是无法连接,因为热点还无法为设备自动分配ip

四、动态 ip 分配

目前常用的工具有 dnsmasq 和 udhcp,可以更具自己的需要进行选择,需要注意的是这两个工具都分为服务端和客户端,想要为热点分配 动态 ip 时,工具都要作为服务端才行

udhcp 使用

  • 安装 udhcp

    安装的过程这里就不介绍了,可以参考这位大佬的博客:https://www.cnblogs.com/schips/p/12132115.html

  • 在 /etc/udhcpd.conf 中配置服务端信息,文件不存在创建即可

    # The start and end of the IP lease block
    start 192.168.1.20 #default: 192.168.0.20 客户端分配的地址范围
    end 192.168.1.25 #default: 192.168.0.254
    # The interface that udhcpd will use
    interface wlan0 #default: eth 0 #目标板子上的无线网卡wlan0
    #Examles
    opt dns 222.201.130.30 222.201.130.33 #dns服务器
    option subnet 255.255.255.0
    opt router 192.168.1.10 #wlan的 ip地址,做为网关地址
    option dns 192.168.1.10 # appened to above DNS servers for a total of 3
    option domain local
    option lease 864000 # 10 days of seconds
  • 启动服务

    sudo udhcpd

主要:这个和热点的启动无先后顺序,但是需要启动动态 ip 分配热点才能连接,但是会发现此时的热点还不能上网,需要进行 ip 转发才行

五、IP 转发

  • 配置 ip 转发

    # 检查是否启用了IP转发
    sudo sysctl net.ipv4.ip_forward # 临时启动转发
    sudo sysctl -w net.ipv4.ip_forward=1 # 永久启动转发,文件不存在时创建即可
    sudo vi /etc/sysctl.conf
    # 在文件中添加
    net.ipv4.ip_forward=1
    # 立即生效
    sudo sysctl -p /etc/sysctl.conf
    # 检查是否应用
    cat /proc/sys/net/ipv4/ip_forward
  • 设置 NAT 规则

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

参考链接

arm linux 移植 udhcp 与 使用:https://www.cnblogs.com/schips/p/12132115.html

Linux 中 WIFI 和热点的使用的更多相关文章

  1. 如何在Kali Linux中搭建钓鱼热点

    文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! 0×00 实验环境 操作系统:Kali 1.0 (VM) FackAP: easy-creds 硬件:NETGEAR wg ...

  2. kali下搭建WiFi钓鱼热点

    在linux下建立无线热点并不像在windows下开启网络共享或者使用无线网卡驱动设置AP模式即可. linux下的无线共享要用到两个软件:hostapd(创建无线热点).dnsmasq(dns服务和 ...

  3. [知识整理]Linux系统WIFI知识的一些整理

    前段时间接触了wifi,主要是在linux系统下做预研.开发.本文根据个人收集资料及研究经验做了一些基本入门级别的引子,旨在对wifi有一个很基础的入门的认知,比如知道wifi模块硬件接口有哪些,了解 ...

  4. <实训|第十三天>linux中ACL权限控制以及磁盘配额,附编译属于自己的linux内核

    [root@localhost~]#序言 首先讲讲昨天关于缩容失败,开不机的解决方法:ACL权限也算是一个很重要的知识点,不难,但是很实用:磁盘配额一般不需要自己弄,但是要懂得原理.剩下的就是编译属于 ...

  5. 【移动开发】Android中WIFI开发总结(二)

    搞了好几天终于有点眉目了,这里接着总结一下Android中WiFi的使用,在前面(http://smallwoniu.blog.51cto.com/3911954/1334951)我们已经简单了解了W ...

  6. [Intel Edison开发板] 06、Edison开发在linux中烧写、配置、搭建开发环境

    1.前言 linux上烧写.配置.搭建Edison环境,千万不要用默认的setup tool for ubuntu!!! (即使,你用的就是ubuntu) 因为,其默认的工具会从一个坏链接下载配置文件 ...

  7. kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 【转】

    转自:http://blog.chinaunix.net/uid-26349264-id-4455634.html 目录 kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 ...

  8. [转载]Linux中的网络接口及LO回环接口

    转自:https://blog.csdn.net/weixin_39863747/article/details/80564358 Linux中的网络接口及LO回环接口 2018年06月04日 10: ...

  9. Linux中的lo回环接口详细介绍

    1.linux的网络接口之扫盲 (1)网络接口的命名 这里并不存在一定的命名规范,但网络接口名字的定义一般都是要有意义的.例如: eth0: ethernet的简写,一般用于以太网接口. wifi0: ...

  10. linux没有wifi

    linux的wifi出现问题的介绍 几次重装linux系统,经常出现没有wifi的状况 错误详情 之前安装过CentOS,Kylin,OpenSU,等等经常出现没有wifi的状况,虽说猜测是遇到驱动问 ...

随机推荐

  1. Expander展开收缩动画

    这个问题困扰了我一天,最后下了个MaterialDesign的demo,看了下他的源码,才恍然大悟,原来很简单. 我原来的设想是在expander的ControlTemplate设置触发器,在IsEx ...

  2. kubernets之init容器作用

    一  init容器的作用 1.1  init容器是在pod的生命周期,保证该pod运行的一些前置条件满足之后才开始运行这个pod,例如需要依赖一些其他的pod,服务等,可以去对这些服务的状态进行检测, ...

  3. 使用tc命令模拟linux网络延迟环境

    tc(Traffic Control)是 Linux 中用于流量控制和网络模拟的强大工具.你可以使用它来模拟网络延迟.带宽限制.数据包丢失等. 以下是一个使用 tc 模拟网络延迟的基本步骤: 1.查看 ...

  4. GeminiDB PITR,让游戏回档“进退自如”!

    本文分享自华为云社区<GeminiDB PITR,让游戏回档"进退自如"!>,作者:GaussDB 数据库. 在实际业务场景中,客户数据库难免会出现数据损毁.数据丢失. ...

  5. CentOS搭建Jellyfin影音服务器

    一. 安装Jellyfin 之前介绍过Docker安装jellyfin,但Docker安装方式存在一些限制,于是一起学习一下用RPM包在CentOS 7下安装方法. 先安装需要的依赖: yum ins ...

  6. Django用户认证组件 (auth模块)

    1.导入 auth 模块 # 认证模块 from django.contrib import auth # 对应数据库用户表,可以继承扩展 from django.contrib.auth.model ...

  7. .Net6 MiNiApi +EFCore6.0高B格操作的WebApi

    编辑器的选择项目运行雏形EFCore6.0的使用实体创建![在这里插入图片描述](https://img-blog.csdnimg.cn/abe224cea341434c9299e9643dbcd9e ...

  8. 利用docker 搭建File Browser 文件管理系统

    File Browser就是一个文件浏览器,因为linux并不方便桌面管理,所以Filebrowser就是帮助我们管理linux服务器上文件的程序,你可以称他为网盘程序,可以管理文件.可以分享文件,另 ...

  9. 解决TrueNAS中Smb共享文件路径不区分大小写的问题

    问题 在Truenas中, 默认的smb文件分享中, 文件夹是不区分大小写的. 这在一些情况下会导致无法重命名等问题, 严重时可能会造成拷贝文件时的全文件夹文件丢失. 这是linux下的情况, 在已存 ...

  10. Vue3简单项目流程分享——工作室主页

    Vue3简单项目流程分享--工作室主页 零.写在最前 以下是项目相关的一些链接: 源代码GitHub仓库(需要魔法上网):仓库 网页示例(需要魔法上网):网页示例 UI图(来源@设计师杨贺):Mast ...