Ubuntu18.04永久改变mac地址详细教程

本文介绍了如何在Linux系统中通过创建启动脚本,配合ifconfig命令,实现网卡MAC地址的永久性改变,以便在每次开机时自动执行。涉及步骤包括查看网卡信息、编写启动文件、赋予权限和设置软链接到rcXX.d目录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 前期准备

1、如下图所示,使用ifconfig指令简单查看网卡信息,获取网卡名称和对应的mac地址。
在这里插入图片描述
2、root用户执行命令:ll /etc | grep ‘rc’;可以看到有下面这些文件

wzl@wzl-ThinkPad-T14-Gen-1:/$ ll /etc | grep 'rc'
-rw-r--r--   1 root root     2319  618  2020 bash.bashrc
-rw-r--r--   1 root root     1748  225  2020 inputrc
-rw-r--r--   1 root root     9808  814  2020 nanorc
drwxr-xr-x   2 root root     4096  225 18:03 rc0.d/
drwxr-xr-x   2 root root     4096  225 18:03 rc1.d/
drwxr-xr-x   2 root root     4096  89 13:24 rc2.d/
drwxr-xr-x   2 root root     4096  819 16:08 rc3.d/
drwxr-xr-x   2 root root     4096  89 13:24 rc4.d/
drwxr-xr-x   2 root root     4096  89 13:24 rc5.d/
drwxr-xr-x   2 root root     4096  225 18:03 rc6.d/
drwxr-xr-x   2 root root     4096  225 18:03 rcS.d/
-rw-r--r--   1 root root     4942  725  2019 wgetrc

其中 rc0~6.d 中的 0~6 代表运行级别:

0:系统停机(关机)模式,系统默认运行级别不能设置为0,否则不能正常启动,一开机就自动关机。
1:单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。
2:多用户模式,没有NFS网络支持。
3:完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。
4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。
5:图形化模式,登陆后进入图形GUI模式或GNOME、KDE图形化界面,如X Window系统。
6:重启模式,默认运行级别不能设为6,否则不能正常启动,就会一直开机重启开机重启。

3、常用下面的指令来临时改变系统的mac地址。

 sudo ifconfig   网卡名称  down
 sudo ifconfig   网卡名称  hw ether  mac地址
 sudo ifconfig   网卡名称  up

但是这种方法会在电脑重启后失效。为了解决这个问题,我们希望这三行指令可以在系统每一次启动时都被执行,这样就实现了永久性改变mac地址的目的(重装系统之后会失效,需要重新按照步骤操作一次)。我们可以创建一个bash程序,然后设置程序开机启动,具体操作:

  • 在 /etc/init.d 目录下创建一个启动脚本(将命令放在里面)
  • 然后增加它的可执行权限
  • 最后设置 rcxx.d 到启动脚本的软连接

二、编写启动文件

启动文件示例如下,编辑之后保存(我设置的名字是:rclocal),保存在这个目录下(/etc/init.d/):

#!/bin/bash
sudo ifconfig enp0s31f6 down
sudo ifconfig enp0s31f6 hw ether  54:75:db:fc:3a:b8
sudo ifconfig enp0s31f6 up

三、给启动文件增加权限

打开启动文件所在目录/etc/init.d/,然后执行下面的命令,文件名要根据自己定义的修改:

chmod +755 rclocal

四、 设置软件连接

查看已有的软连接:ll /etc/rc3.d/

wzl@wzl-ThinkPad-T14-Gen-1:/$ ll  /etc/rc3.d/
总用量 16
drwxr-xr-x   2 root root  4096  819 16:08 ./
drwxr-xr-x 137 root root 12288  89 13:24 ../
lrwxrwxrwx   1 root root    27  225 18:00 K01speech-dispatcher -> ../init.d/speech-dispatcher*
lrwxrwxrwx   1 root root    15  225 18:00 S01acpid -> ../init.d/acpid*
lrwxrwxrwx   1 root root    17  225 18:00 S01anacron -> ../init.d/anacron*
lrwxrwxrwx   1 root root    16  225 18:00 S01apport -> ../init.d/apport*
lrwxrwxrwx   1 root root    22  225 18:00 S01avahi-daemon -> ../init.d/avahi-daemon*
lrwxrwxrwx   1 root root    24  225 19:40 S01binfmt-support -> ../init.d/binfmt-support*
lrwxrwxrwx   1 root root    19  225 18:00 S01bluetooth -> ../init.d/bluetooth*

可以发现在启动脚本前面都加了 “K数字”,或者 “S数字”,其中 K 表示 Kill 某个程序,S 表示 Start 某个程序,后面紧跟着的数字,表示启动/停止某个程序的顺序,数字越小的越先启动(数字的具体值可以自己根据情况自行设定)。

在这里我们设置软连接用的命令是(文件名需要根据实际情况改变):

ln -s /etc/init.d/rclocal   /etc/rc3.d/S01rclocal

如此设置之后,开机重启,检查程序是否可以开机自动启动,检查网卡改动后的mac地址是否已经生效。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值