我的 Linux 发行版是 Debian 12.6,64 位,英文版,并且安装了macchanger软件包
内核分配的以太网接口的默认名称是enxb7cf11b74274,默认 MAC 地址是b7:cf:11:b7:42:74
正常情况下,我在终端中输入以下命令来更改/随机化 MAC 地址:
sudo macchanger -r enxb7cf11b74274
(为什么我要随机化 MAC 地址?我一直使用公共 WiFi 热点。)
每次当我想更改/随机化其 MAC 地址时,输入enxb7cf11b74274都很麻烦。
因此,我阅读了三篇有关如何将以太网接口名称更改为lan 的教程。它们是:
根据以上三个教程,我能够在重新启动后成功地将以太网接口名称更改为lan 。
当我在终端中输入命令时:
ip a s
以太网接口名称显示为lan而不是enxb7cf11b74274,默认 MAC 地址为b7:cf:11:b7:42:74
然后,我输入以下命令来更改其 MAC 地址:
sudo macchanger -r lan
MAC 地址未改变。
我感谢您在此事上提供的帮助。
PS:如果您查看 RedHat 的教程1.6.3 使用 udev 规则配置用户定义的网络接口名称,它会给出文件/etc/udev/rules.d/70-persistent-net.rules的示例。我在下面以以下格式重现了上述示例:
SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="<MAC_address>",ATTR{type}=="<device_type_id>",NAME="<new_interface_name>"
SUBSYSTEM=="net",ACTION=="add",ATTR{address}=="00:00:5e:00:53:1a",ATTR{type}=="1",NAME="provider0"
现在我在想...而不是 ATTR{address}=="<MAC_address>"
我可以将其更改为 ATTR{UUID}=="Universally Unique Identifier"
这样我就可以使用macchanger毫无问题地更改/随机化默认 MAC 地址。
而且因为 UUID 永远不会被私人 WiFi 网络和公共 WiFi 热点捕获。
可能的解决方法 - 不是答案 (这不适合作为评论)。在尝试实施之前,请阅读整个答案。
创建一个脚本来避免输入一长串命令是相当简单的。打开您最喜欢的文本编辑器(例如,如果您在命令行下工作并且不知道 vi,则可以使用 nano)并创建一个包含以下内容的文件:
接下来让它可执行 - 假设你将上面的文件命名为“newmac”
问题是您将脚本放在哪里。创建它的最佳位置是您的 home 目录,因此您可以通过键入“~/newmac”来访问它。要确保您在 homedir 中创建它,您可以在创建文件之前键入以下内容 -
在单用户系统中,如果你想要获得最大的便利,你可能希望将脚本移动到 /usr/local/bin,这样你就可以从任何地方输入 newmac 来启动它 - 使用命令
请注意,您需要先在主目录中创建文件并设置其权限,然后移动它,因为您可能需要提升权限才能在 /use/local/bin 中创建文件