linux-wifi-hotspot:Linux 上最接近 Windows 移动热点的解决方案
在 Linux 系统上搭建 Wi-Fi 热点,长期存在一个尴尬的局面:系统自带工具要么功能残缺,要么配置繁琐。linux-wifi-hotspot 的出现,基本终结了这种不便。它由开发者 lakinduakash 维护,本质上是一个对 create_ap 脚本的图形化封装,同时保留了完整的命令行接口。它的目标很明确:让 Linux 用户获得类似 Windows 10“移动热点”的体验——点几下鼠标,热点就能用,连上的设备也能正常上网。
一、它到底解决了什么
要理解这个工具的价值,需要先知道 Linux 原生热点方案的两个硬伤。
第一个硬伤是“单网卡困境”。 大多数 Linux 发行版(包括 Ubuntu)自带的热点功能,要求你用有线网络作为互联网源,无线网卡专门用来发射热点。如果你只有 Wi-Fi 可用,系统自带工具基本无法工作。linux-wifi-hotspot 破解了这个限制:它支持用同一块无线网卡同时连接 Wi-Fi 和发射热点,原理是创建一个虚拟接口(通常命名为 ap0),让物理网卡在 STA(工作站)和 AP(接入点)两种模式间协同工作。这正是 Windows 移动热点的做法。
第二个硬伤是“连上但没网”。 系统自带工具常常只建立了无线连接,却没有配置完整的网络共享规则。设备能拿到 IP 地址,却无法访问外网,因为缺失了 IP 转发、NAT 转换和防火墙放行。linux-wifi-hotspot 在后台自动调用 hostapd 建立无线接入点、dnsmasq 提供 DHCP 和 DNS 服务、iptables 完成 NAT 转发,整个过程对用户透明。点击按钮之后,路由功能已经就绪。
二、功能细节与版本演进
这个工具的功能覆盖相当全面,且经过多个版本的迭代打磨。
共享模式方面,支持 NAT(默认,隔离子网)和 Bridged(桥接,设备与主机同子网)两种方案。NAT 模式更安全,桥接模式延迟更低,适合对性能敏感的场景。如果只想要一个纯本地点对点网络,也可以关闭互联网共享。
加密与射频方面,支持 WPA、WPA2、WPA/WPA2 混合模式以及开放网络。较新版本加入了 WPA3 过渡模式支持。频段可选 2.4GHz 或 5GHz,支持 IEEE 802.11n 和 802.11ac,v4.7.1 之后还加入了 Wi-Fi 6(802.11ax)支持。信道可以手动指定,这在干扰严重的环境中很有用。
精细控制方面,可以隐藏 SSID、启用客户端隔离(防止连接设备互相通信)、设置 MAC 过滤、自定义网关 IP 地址。二维码生成功能让分享热点变得简单——点击“Open QR”显示二维码,客人扫码即可连接。
命令行与自动化方面,GUI 底层调用的 create_ap 命令功能完整。可以把它写进配置文件中持久化,然后通过 systemctl enable create_ap 设置开机自动启动热点。对于无图形界面的服务器或嵌入式设备,可以只安装命令行版本(make install-cli-only)。
三、安装路径
Ubuntu / Debian 用户最便捷的方式是通过 PPA:
sudo add-apt-repository ppa:lakinduakash/lwh
sudo apt update
sudo apt install linux-wifi-hotspot
安装后,在应用菜单搜索 “Wifi Hotspot” 启动,或在终端输入 wihotspot。
Arch 用户通过 AUR 安装:yay -S linux-wifi-hotspot。
Fedora 用户通过 COPR 仓库安装:sudo dnf copr enable zinix01/linux-wifi-hotspot 然后 sudo dnf install linux-wifi-hotspot。
源码编译需要安装 GTK3 开发库和 hostapd,然后 make && sudo make install。
四、实际使用:场景与要点
有线网共享场景最简单。打开 wihotspot,在 “Internet interface” 中选择有线网卡(如 eth0),“Wifi interface” 选择无线网卡,填入 SSID 和密码,点击 “Create hotspot” 即可。
无线网中继场景是它真正发力的地方。假设你的笔记本通过 wlan0 连接了 Wi-Fi,想把它分享给手机。在界面中,“Internet interface” 和 “Wifi interface” 都选择同一个 wlan0。但有一个关键前提:必须先断开当前的 Wi-Fi 连接,然后再通过工具创建热点。工具会在创建过程中重新建立上游连接并同时开启热点。如果直接在有连接的状态下操作,网卡驱动可能无法正确切换模式,会报出 Failed to run hostapd 或 Could not configure driver mode 之类的错误。
VPN 共享场景很有实用价值。如果你通过 tun0 或 wg0 建立了 VPN 隧道,可以把该隧道接口作为 “Internet interface” 来共享。这样,智能电视、游戏机等没有 VPN 客户端的设备,也能通过你的电脑访问外部网络。
PPPoE 拨号场景同样支持。拨号上网的接口通常命名为 ppp0,在 “Internet interface” 中选择它即可。
五、常见问题与硬件限制
最根本的限制来自无线网卡本身。 工具再完善,也无法让一块不支持 AP 模式的网卡发射热点。验证方法:
iw list | grep -A 10 "Supported interface modes"
输出中必须包含 * AP。如果没有,即使用系统自带工具也开不了热点。老旧 Intel 网卡(如 Centrino Wireless-N 1000)是典型的“不支持者”,其 Linux 驱动根本没有实现 AP 模式。解决方案是购买一块支持 AP 模式的外置 USB 无线网卡。
关于 5GHz 频段的兼容性,需要注意:部分网卡在 Linux 下的 5GHz 热点支持不如 Windows 完善。有用户测试发现 Intel AX201 和 MT7921 在 Linux 下的热点带宽远低于 Windows。如果 5GHz 创建失败,在 GUI 中将频段从 “Auto” 改为 “2.4GHz” 通常可以解决。
Kernel 6.11+ 的通道验证问题值得留意。部分用户在使用 Intel AX200 等网卡时,create_ap 会报出 “Your adapter can not transmit to channel XX” 的错误,尽管硬件确认支持 AP 模式。原因在于新版内核的 regulatory 变更导致 iw list 输出中部分信道被标记为 no IR,而 create_ap 的信道验证逻辑过于严格。临时绕过方案是尝试显式设置监管域后再启动:sudo iw reg set US。
Realtek 老芯片的驱动问题有专门的文档处理。8192 系列芯片的主线内核驱动对 AP 模式支持不佳,需要安装修改版驱动和打过补丁的 hostapd-rtl871xdrv。
六、总结
linux-wifi-hotspot 用图形化的方式封装了一套原本需要手动配置 hostapd、dnsmasq、iptables 的复杂流程。它最核心的贡献是让“单网卡同时连接与分享”变得可用,填补了 Linux 原生热点功能最大的短板。它的适用边界同样清晰:取决于无线网卡是否支持 AP 模式,以及网卡驱动在不同内核版本下的表现。对于大多数现代笔记本网卡(Intel AX 系列、MT7921 等),只要驱动支持 AP,它基本能做到开箱即用。