ubuntu 22.04修改永久修改 mac 地址
使用 rc-local.service
rc-local.service 是系统自带的一个开机自启服务,但是在 ubuntu 20.04 上,该服务默认没有开启。
在文件的最后面添加 [Install] 段的内容,
cat >> /lib/systemd/system/rc-local.service << EOF
# SPDX-License-Identifier: LGPL-2.1-or-later
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
Documentation=man:systemd-rc-local-generator(8)
ConditionFileIsExecutable=/etc/rc.local
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no
[Install]
WantedBy=multi-user.target
创建 /etc/rc.local
Ubuntu 20.04 默认不存在 /etc/rc.local,需要自己创建,注意第一行必须是#!/bin/bash,否则启动rc-local服务报错。Failed at step EXEC spawning /etc/rc.d/init.d/nginx: Exec format error.
cat /etc/rc.local
#!/bin/bash
/usr/sbin/ifconfig enp0s1 down
/usr/sbin/ifconfig enp0s1 hw ether b6:f5:2c:0d:3d:16
/usr/sbin/ifconfig enp0s1 up
修改 /etc/rc.local 权限
chmod 755 /etc/rc.local
安装ifconfig命令
apt-get install net-tools
设置rc-local为开机自启动
systemctl enable rc-local
启动rc-local服务
启动rc-local服务后,mac地址即可更改。并且以后reboot机器也不会失效。
systemctl start rc-local