银河麒麟V10支持NetworkManager Locations机制实现多网络方案快速切换:需先启用Locations(nmcli loc add office/home),再为各location绑定对应IP、DNS、网关等参数,最后用sudo nmcli loc set office/home一键切换,自动重载全部网络配置。

您正在使用银河麒麟系统,需要在不同办公场所(如单位内网、家庭宽带、移动热点)之间快速切换已预设的网络配置方案,避免每次手动修改IP、DNS、网关等参数,这通常是因为多地点办公、信创环境策略隔离或临时调试场景导致必须频繁变更网络上下文。
确认系统是否启用NetworkManager Locations机制
银河麒麟V10桌面版默认启用NetworkManager,但Locations功能需手动开启并配置。先执行nmcli general查看输出中Networking enabled是否为yes,再运行nmcli -p g(带-p参数的精简模式),若末尾出现location: (none),说明Locations尚未激活——此时无法切换,必须先创建至少一个location。
这一步不能跳过,否则后续所有命令都会报错Error: No location set。
创建并命名两个典型网络方案
方法一:用nmcli一次性定义完整方案
执行sudo nmcli loc add office新建名为office的方案;再执行sudo nmcli loc add home新建home方案。这两个名称将作为后续切换的唯一标识符,**不能含空格或特殊符号,建议全小写英文**。
方法二:通过编辑配置文件手动补全参数(仅当nmcli loc add失败时备用)
进入/etc/NetworkManager/system-connections/目录,找到对应连接的.nmconnection文件(如有线连接 1.nmconnection),在[connection]段落下方添加location=office,保存后执行sudo systemctl restart NetworkManager重载服务。
为每个方案绑定具体网络参数
第一步:将当前活动连接关联到office方案
执行nmcli connection show --active确认当前连接名(如“有线连接 1”),然后运行sudo nmcli con mod "有线连接 1" connection.location office。
第二步:配置office方案下的静态IP与DNS
依次执行以下命令(注意替换IP和DNS为实际值):
sudo nmcli con mod "有线连接 1" ipv4.addresses "192.168.10.50/24"
sudo nmcli con mod "有线连接 1" ipv4.gateway "192.168.10.1"
sudo nmcli con mod "有线连接 1" ipv4.dns "192.168.10.1,114.114.114.114"
sudo nmcli con mod "有线连接 1" ipv4.method manual
第三步:切换至home方案并配置DHCP自动获取
运行sudo nmcli loc set home,此时NetworkManager会自动断开当前连接;再执行sudo nmcli con mod "有线连接 1" ipv4.method auto,最后用sudo nmcli con up "有线连接 1"重新激活连接。
日常快速切换方案
执行sudo nmcli loc list可查看所有已定义方案;切换只需一条命令:sudo nmcli loc set office或sudo nmcli loc set home。
该操作会立即触发NetworkManager重载对应连接的全部参数(IP、DNS、路由、MTU等),无需重启服务或手动down/up连接。若切换后网络不通,检查nmcli con show "有线连接 1" | grep -E "(location|method|addresses)"确认参数已同步更新。











