麒麟OS可通过图形界面、nmcli命令行或手动iptables三种方式实现网关共享上网:一、图形界面新建Wi-Fi热点并设为“热点”模式,IPv4选择“共享到其他计算机”自动启用NAT与DHCP;二、nmcli命令配置AP模式、SSID、WPA2密码及ipv4.method shared;三、手动启用ip_forward、iptables MASQUERADE与FORWARD规则,并配置dnsmasq提供DHCP服务。

您需要让麒麟OS设备作为网关,将自身已连接的网络(如有线宽带、USB上网卡或已连通的WiFi)共享给其他设备(如手机、平板或另一台电脑),实现局域网内多终端共用一个出口上网。这要求麒麟OS同时具备上行链路与下行广播能力,且必须启用IP转发与NAT转换。
图形界面一键开启网络共享(适用于桌面环境与兼容网卡)
该方式依赖NetworkManager图形组件自动完成DHCP服务、NAT规则和无线AP模式切换,无需命令行干预,但仅支持已识别并支持AP模式的无线网卡(如Intel AX200、Realtek RTL8812AU等)。
点击任务栏右下角【网络连接】图标 → 选择【编辑连接】→ 点击左下角【+】→ 选择【Wi-Fi】类型 → 【新建】。
在【Wi-Fi】选项卡中:填写【连接名称】(如“ShareToPhone”);输入【SSID】(如“MyKylinHotspot”);将【模式】下拉菜单设为【热点】。
切换至【Wi-Fi安全性】选项卡:安全类型选【WPA/WPA2 Personal】;密码栏输入至少8位含大小写字母与数字的组合(纯数字或短于8位会导致安卓设备拒绝连接)。
切换至【IPv4设置】选项卡:方法选择【共享到其他计算机】——此选项会自动启用dnsmasq DHCP服务,并将客户端分配至10.42.0.x网段;【这是唯一能触发系统自动配置NAT和转发的开关】。
点击【保存】→ 返回网络面板 → 单击刚创建的热点名称 → 系统立即启用AP模式并启动DHCP服务;此时手机WiFi列表中即可搜索到该SSID并输入密码接入。
命令行配置网络共享(适用于无GUI、远程部署或故障排查)
当图形界面不可用、NetworkManager异常或需精确控制参数时,使用nmcli直接操作底层连接定义,绕过GUI封装层。
第一步:确认无线接口名及AP支持状态
执行 nmcli device wifi list,观察输出中是否包含“Access Point”字样;若无,说明当前无线网卡不支持AP模式,此方法不可行。
第二步:创建热点连接配置
运行:nmcli connection add type wifi con-name KylinShare ifname wlp3s0 autoconnect yes(请将wlp3s0替换为实际接口名,可通过ip link show确认)。
第三步:设定AP模式与SSID
执行:nmcli connection modify KylinShare wifi.mode ap wifi.ssid Kylin-Share。
第四步:配置WPA2加密密钥
执行:nmcli connection modify KylinShare wifi-sec.key-mgmt wpa-psk wifi-sec.psk "MySecurePass2026"(密码必须与手机端一致,且区分大小写)。
第五步:绑定上行链路并启用共享
假设已有线连接名为“Wired connection 1”,执行:nmcli connection modify KylinShare ipv4.method shared ipv4.ignore-auto-routes yes;然后启用:nmcli connection up KylinShare。
手动启用IP转发与iptables NAT(适用于NetworkManager失效或需细粒度控制)
当图形界面与nmcli均无法触发NAT规则时,需手动激活内核转发并编写iptables规则,此路径完全脱离NetworkManager,适用于嵌入式或定制化场景。
执行:sudo sysctl -w net.ipv4.ip_forward=1;该命令临时启用IPv4转发,重启后失效。
为永久生效,编辑/etc/sysctl.conf,取消#net.ipv4.ip_forward=1前的注释,或追加该行。
执行:sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE(请将eth0替换为实际的上行网卡名,如enp0s3或usb0)。
执行:sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT(wlan0为无线广播接口,需与热点所用接口一致)。
执行:sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT;【缺少这条规则将导致客户端能获取IP但无法访问外网】。
安装dnsmasq并配置DHCP服务:sudo apt install dnsmasq → 编辑/etc/dnsmasq.conf,添加:interface=wlan0dhcp-range=10.42.0.10,10.42.0.100,12hdhcp-option=3,10.42.0.1(网关地址)dhcp-option=6,10.42.0.1(DNS地址)→ 启动:sudo systemctl start dnsmasq。

















