You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

禁用NetworkManager后Fedora无线MAC地址每次重启变更的解决问询

如何在禁用NetworkManager的Fedora上固定无线网卡MAC地址

既然你已经禁用了NetworkManager,重启后MAC地址自动变更的问题大概率是系统默认启用了MAC地址随机化导致的——这是Fedora为提升隐私性默认开启的特性,但会和你的路由器MAC白名单规则冲突。下面给你两种可靠的解决方法,任选其一即可:

方法一:通过systemd-networkd配置(推荐,如果你用它管理网络)

假设你已经用systemd-networkd来配置无线连接,直接修改对应的网络配置文件即可:

  1. 先确认你的无线网卡名称,执行命令:
    ip link
    
    找到类似wlp2s0这样的无线网卡设备名。
  2. 打开你之前创建的systemd网络配置文件(通常在/etc/systemd/network/目录下,比如20-wireless.network),添加[Link]段并指定固定MAC:
    [Match]
    Name=wlp2s0  # 替换成你的网卡名称
    
    [Link]
    MACAddress=aa:bb:cc:dd:ee:ff  # 替换成路由器白名单里的MAC地址
    
    [Network]
    # 保留你原来的网络配置,比如DHCP或静态IP设置
    DHCP=yes
    
  3. 重启systemd-networkd服务使配置生效:
    sudo systemctl restart systemd-networkd
    

方法二:用udev规则(通用,适用于任何网络管理方式)

udev规则会在网卡设备初始化时强制设置MAC,不受网络服务影响:

  1. 创建udev规则文件:
    sudo touch /etc/udev/rules.d/70-persistent-wifi-mac.rules
    
  2. 编辑这个文件,添加以下规则(根据你的网卡信息调整):
    如果你知道网卡的PCI厂商和设备ID(可以通过lspci -nn | grep Network获取,比如02:00.0 Network controller [0280]: Intel Corporation Wireless-AC 9260 [8086:2526],这里的8086是idVendor,2526是idProduct),可以写更精准的规则:
    SUBSYSTEM=="net", ATTR{idVendor}=="8086", ATTR{idProduct}=="2526", RUN+="/sbin/ip link set dev %k address aa:bb:cc:dd:ee:ff"
    
    如果你懒得查硬件信息,直接用网卡名称匹配也可以:
    SUBSYSTEM=="net", KERNEL=="wlp2s0", RUN+="/sbin/ip link set dev %k address aa:bb:cc:dd:ee:ff"
    
  3. 重载udev规则并触发生效:
    sudo udevadm control --reload-rules && sudo udevadm trigger
    

额外注意事项

  • 确保你指定的MAC地址已经添加到路由器的白名单中,且没有被其他设备占用,避免IP冲突或连接失败。
  • 检查是否有其他MAC随机化配置干扰:查看/etc/systemd/networkd.conf,如果有MACAddressPolicy=random或MACAddressPolicy=stable,改成MACAddressPolicy=none,或者在具体的网络配置文件中设置该参数。

完成上述操作后,重启系统,执行ip link show wlp2s0检查MAC地址是否已经固定为你设置的值,之后就不会再自动变更了。

内容的提问来源于stack exchange,提问作者elbarna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:22:47