我想永久更改 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"
如果有帮助的话请告诉我。