ubuntu18.0 修改mac地址方法

  

一、 前期准备

1、如下图所示,使用ifconfig指令简单查看网卡信息,获取网卡名称和对应的mac地址。

 

2root用户执行命令: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  8月  9 13:24 rc2.d/

drwxr-xr-x   2 root root     4096  819 16:08 rc3.d/

drwxr-xr-x   2 root root     4096  8月  9 13:24 rc4.d/

drwxr-xr-x   2 root root     4096  8月  9 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 中的 06 代表运行级别:

 

0:系统停机(关机)模式,系统默认运行级别不能设置为0,否则不能正常启动,一开机就自动关机。

1:单用户模式,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。

2:多用户模式,没有NFS网络支持。

3:完整的多用户文本模式,有NFS,登陆后进入控制台命令行模式。

4:系统未使用,保留一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。

5:图形化模式,登陆后进入图形GUI模式或GNOMEKDE图形化界面,如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 down

sudo ifconfig enp0s31f6 hw ether  54:75:db:fc:3a:b8

sudo ifconfig enp0s31f6 up

 

三、给启动文件增加权限

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

 

chmod +755 rclocal

 

四、 设置软件连接

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

 

wzl@wzl-ThinkPad-T14-Gen-1:/$ ls  /etc/rc3.d/

总用量 16

drwxr-xr-x   2 root root  4096  819 16:08 ./

drwxr-xr-x 137 root root 12288  8月  9 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地址是否已经生效。

posted @ 2022-06-30 10:22  DMCF  阅读(892)  评论(0编辑  收藏  举报