• Linux系统中使用linux-wifi-hotspot工具开启网络热点


    更好的干净纯洁阅读体检请访问个人网站:Linux系统中使用linux-wifi-hotspot工具开启热点

    本文描述如何在Linux系统中使用linux-wifi-hotspot工具开启网络热点。

    一、需求

    WIFI设备需要支持AP模式,使用命令查看:

    iw list
    
    • 1

    在接口列表中找到有AP模式即可:

    Supported interface modes:
    		 * IBSS
    		 * managed
    		 * AP
    		 * P2P-client
    		 * P2P-GO
    		 * P2P-device
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    二、配置原理

    设备接入点由两个部分组成:

    • 设置WIFI链路层:无线客户端可以和计算机的软件接入点关联并交换IP数据包
    • 设置本机网络:在自己的网络中和无线客户端之间中继IP数据包

    1. WIFI链路层

    实际的WIFI链路是通过hostapd软件包建立的,具有WPA2支持。

    2. 本机网络配置

    有两种方法实现:

    • 网桥:无线客户端将使用相同的网络接口和相同的子网。
    • NAT:通过IP转发和DHCP服务,无线客户端将使用专用子网,类似于连接到互联网的普通Wi-Fi路由器。

    三、工具

    linux-wifi-hostapd软件包提供了脚本,可以创建用于互联网共享的网桥或NAT接入点,它结合了hostapd、dnsmasq、iptables,以实现接入点的良好运行,提供命令行工具和GUI工具。

    工具开源仓库:linux-wifi-hotspot

    1. 安装

    1.1. 软件包安装

    • Ubuntu
    sudo add-apt-repository ppa:lakinduakash/lwh
    sudo apt install linux-wifi-hotspot
    
    • 1
    • 2
    • Arch Linux
    yay -S linux-wifi-hotspot
    
    • 1

    1.2. 源码编译安装

    • RK3399开发板(rootfs based ubuntu)

    (1)安装必须的包

    sudo apt install -y libgtk-3-dev build-essential gcc g++ pkg-config make hostapd libqrencode-dev libpng-dev
    
    • 1

    (2)拉取源码(到开发板)

    git clone https://github.com/lakinduakash/linux-wifi-hotspot
    
    • 1

    (3)编译(在开发板上)

    cd linux-wifi-hotspot
    make
    
    • 1
    • 2

    (4)安装

    sudo make install
    
    • 1

    2. 命令行工具的使用

    创建一个NAT虚拟网络的方法。

    (1)修改配置文件

    sudo vim /etc/create_ap.conf
    
    • 1

    配置文件内容如下:

    CHANNEL=default
    GATEWAY=192.168.12.1
    WPA_VERSION=2
    ETC_HOSTS=0
    DHCP_DNS=gateway
    NO_DNS=0
    NO_DNSMASQ=0
    HIDDEN=0
    MAC_FILTER=0
    MAC_FILTER_ACCEPT=/etc/hostapd/hostapd.accept
    ISOLATE_CLIENTS=0
    SHARE_METHOD=nat
    IEEE80211N=0
    IEEE80211AC=0
    HT_CAPAB=[HT40+]
    VHT_CAPAB=
    DRIVER=nl80211
    NO_VIRT=0
    COUNTRY=
    FREQ_BAND=2.4
    NEW_MACADDR=
    DAEMONIZE=0
    NO_HAVEGED=0
    WIFI_IFACE=wlan0
    INTERNET_IFACE=lan1
    SSID=Mculover666
    PASSPHRASE=12345678
    USE_PSK=0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    其中比较重要的配置:

    • FREQ_BAND:热点频段
    • WIFI_IFACE:无线网卡的设备节点
    • INTERNET_IFACE:转发网卡的设备节点
    • SSID:热点名称
    • PASSPHRASE:热点密码

    (2)开启热点

    sudo create_ap --config /etc/create_ap.conf
    
    • 1

    开启日志如下:

    Config dir: /tmp/create_ap.wlan0.conf.DPOzXpgH
    PID: 2481
    Network Manager found, set ap0 as unmanaged device... DONE
    Creating a virtual WiFi interface... ap0 created.
    Sharing Internet using method: nat
    hostapd command-line interface: hostapd_cli -p /tmp/create_ap.wlan0.conf.DPOzXpgH/hostapd_ctrl
    Configuration file: /tmp/create_ap.wlan0.conf.DPOzXpgH/hostapd.conf
    Using interface ap0 with hwaddr 72:f7:54:86:d1:11 and ssid "Mculover666"
    ap0: interface state UNINITIALIZED->ENABLED
    ap0: AP-ENABLED 
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    (3)开机自启

    systemctl enable create_ap
    
    • 1

    3. 图形界面工具的使用

    wihotspot
    
    • 1

    4. 测试结果

    参考链接

  • 相关阅读:
    虚拟桌面和云桌面办公系统
    云服务的划分IaaS,PaaS,SaaS 的区别
    如何搭建下载下来的机器学习深度学习的项目的环境?
    计算机网络---网络层
    unity shader全局雾效
    html拖动滚动
    基础--Concurrenthashmap的实现原理分析
    神经网络在通信中的应用,神经网络技术及其应用
    Halcon 基本语法
    推荐一款专用低代码工具,一天开发一个系统不是梦
  • 原文地址:https://blog.csdn.net/Mculover666/article/details/126667726