如何永久更改 ubuntu 服务器 18.04 上的 MAC 地址?

如何永久更改 ubuntu 服务器 18.04 上的 MAC 地址?

我想永久更改 Ubuntu 18.04 LTS 服务器上网卡的 MAC 地址,因此我尝试按照一些互联网教程以及此处的类似答案进行操作,但它们似乎都适用于旧版本的 Ubuntu。

教程建议在 /etc/network/interfaces 中更改 mac,但是当我打开它时,它显示:

# ifupdown has been replaced by netplan(5) on this system.  See
# /etc/netplan for current configuration.
# To re-enable ifupdown on this system, you can run:
#    sudo apt install ifupdown

但我在那里发现了另一个名为 50-cloud-init.yaml 的文件,其中包含以下内容:

# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    ethernets:
        eth0:
            dhcp4: true
            match:
                macaddress: b6:22:eb:7b:92:44
            set-name: eth0

起初我以为我要做的只是在这里编辑 Mac,但上面说重新启动后更改不会保存。

我发现这个命令有效:

sudo ip link set dev <your device here> address <your new mac address>

但重启后,它会将 Mac 重置回原始状态。

那么如何永久更改 eth0 的 mac 地址?

答案1

我建议创建一个 udev 规则,每次重启时重置 mac 地址。

创建/etc/udev/rules.d/75-mac-spoof.rules包含以下内容的文件:

ACTION=="add", SUBSYSTEM=="net", ATTR{address}=="XX:XX:XX:XX:XX:XX", RUN+="/usr/bin/ip link set dev %k address YY:YY:YY:YY:YY:YY"

如果有帮助的话请告诉我。

相关内容