银河麒麟V10修改MAC地址需分场景:图形界面克隆仅限有线且需持续联网;终端临时修改重启失效;永久修改须禁用kysec,通过/etc/rc.local或if-up.d脚本实现。

在银河麒麟V10系统中修改网卡物理地址(MAC),常因kysec安全机制拦截、图形界面配置断网失效、脚本未生效等问题导致反复失败,必须区分临时调试与永久绑定场景,选择对应路径。
图形界面克隆MAC地址(仅限有线连接且需保持在线)
该方法操作最快,但依赖物理网线持续连通——拔掉网线或禁用有线连接后,MAC会立即还原为硬件原始值。
点击右下角网络图标 → 选择“有线网络” → 在已启用的连接右侧点击齿轮图标 → 切换到“以太网”选项卡 → 找到“克隆MAC地址”输入框。
填入目标MAC地址,格式必须为xx:xx:xx:xx:xx:xx(十六进制、冒号分隔),首字节不可为01、03、09等组播标识;第二字符建议为2、6、A或E,表示本地管理地址。
勾选“自动连接” → 点击“保存” → 断开并重连有线网络使配置生效。
终端临时修改MAC地址(重启即失效,适合验证)
此法直接作用于内核网络栈,不经过NetworkManager,适合快速测试新MAC是否被网络设备接受。
第一步:执行ip link show或ifconfig -a,确认目标网卡名称(如ens33、enp0s3)。
第二步:关闭网卡:sudo ip link set dev [接口名] down。若跳过此步,系统会报错“Device or resource busy”。
第三步:设置新MAC:sudo ip link set dev [接口名] address aa:bb:cc:dd:ee:ff(请替换为合法十六进制地址)。
第四步:重新启用网卡:sudo ip link set dev [接口名] up。
第五步:验证结果:ip link show [接口名] | grep link/ether,确认输出中MAC已变更。【注意:此修改在系统重启、网卡重载或NetworkManager服务重启后全部丢失】
开机自动永久修改MAC(需禁用kysec,跨架构通用)
这是唯一能绕过kysec拦截、实现真正持久化的方案,适用于飞腾、龙芯、兆芯及Intel平台,但必须先关闭kysec安全模块,否则脚本会被静默丢弃。
方法一:通过/etc/rc.local启动脚本(推荐用于传统BIOS或简单部署)
编辑GRUB参数:sudo vim /etc/default/grub,将GRUB_CMDLINE_LINUX_SECURITY="audit=0 security=kysec"改为GRUB_CMDLINE_LINUX_SECURITY="audit=0 security=\"\""。
更新启动配置:sudo update-grub && sudo reboot,重启后kysec才真正停用。
创建可执行脚本:sudo vim /etc/rc.local,在exit 0前插入三行(以ens33为例):
ip link set dev ens33 down
ip link set dev ens33 address 00:11:22:33:44:55
ip link set dev ens33 up
赋予执行权限:sudo chmod +x /etc/rc.local。
方法二:通过/etc/network/if-up.d/触发式脚本(更规范,避免启动时网卡未就绪)
创建脚本:sudo tee /etc/network/if-up.d/change_mac
#!/bin/bash
if [ "$IFACE" = "ens33" ]; then
ip link set dev $IFACE down
ip link set dev $IFACE address 00:11:22:33:44:55
ip link set dev $IFACE up
fi
EOF
设置权限:sudo chmod +x /etc/network/if-up.d/change_mac。【关键:此脚本只在网络接口up时触发,比rc.local更可靠】

















