本文将介绍如何调整系统网络部分的MAC地址
本章节大家按需求选看(如手上同一环境下有多套运行xillinux系统的设备,则需要对mac地址进行调整,才能正常访问网络)
信息参考
本文中方法一和方法二的内容均参考Xillybus 官方手册的第4.3.4章节
https://xillybus.com/downloads/doc/zh/xillybus_getting_started_zynq_zh.pdf
为什么要调整MAC地址
大家都知道MAC地址在网络设备上(包括网卡等)都应该是唯一的。如果在同一局域网内出现两台相同MAC地址的网络设备,这就会导致MAC地址产生冲突,两台机器都无法正常通信。所以如果我们在同一个网络环境下要接多台Xillinux设备,这时我们就需要对每台设备进行MAC地址的调整。
备注: 当您没有手动设置MAC地址的情况下,所有的Xillinux 都会使用相同默认的MAC地址
风险说明
理论上所有的网络设备MAC地址都需要独立申请购买,所以您的设备如果是直接暴露在外网的话,最好申请独立的MAC地址(防止跟他人的设备MAC地址冲突)
由于现在的设备大多都是经过层层交换器,和路由器再最终访问外网的,所以如果您仅是拿来测试使用,只需要保证同一个网络环境下没有出现多个设备相同MAC就可以了。
详细操作
在开始之前我们先用ifconfig 命令查看当前系统的MAC信息 可以看到当前eth0的MAC 地址是00:0a:35:00:01:22
接下来我们开始调整MAC地址
调整MAC地址的方式有很多,本文将介绍三种方法
- 方法一 借助图形桌面环境上的Network Manager工具来实现MAC地址的修改
- 方法二 通过修改eth0文件来实现 MAC地址的修改
- 方法三 通过在/etc/rc.local 文件中添加 ifconfig eth0 hw ether 命令来修改MAC地址
其中方式一和方式二来自xillinux官方手册的第4.3.4章节,方式一是进入桌面环境进行修改(不适用于SL这样不带USB的无法进入桌面的主板),方式二和方式三则可直接在命令行终端下进行调整。
方式一和方式二的方式是借助Network Manager工具来修改MAC地址,而方式三则是每次启动后系统通过自动执行ifconfig eth0 hw ether 命令来修改MAC。 当网络环境比较复杂(需要经常调整更换所连接的路由器),或者当方式一和方式二对MAC地址的调整并未起作用的时候,可以使用方法三来实现MAC地址的修改。
方法一、借助图形桌面环境上的Network Manager工具来实现MAC地址的修改
1)单击桌面右下角的 Network Manager 图标 (该图标看起来像一个连接到墙上的网线插座),并选择 “Edit Connections…”
2)在弹出的窗口选择 “Wired connection 1”,然后单击右侧的 “Edit”
3)在Ethernet分栏的 “Cloned MAC address” 对话框中填入新的 MAC 地址(这里是 00:11:22:33:44:55),然后单击 “Save” 进行保存。
4) 重新启动linux,在命令行中用ifconfig 命令查看网络信息,可以看到系统已经变成新的MAC地址了。
方法二、通过修改eth0文件来实现 MAC地址的修改
默认情况下,Linux 启动后NetworkManager 会读取/etc/NetworkManager/system-connections/中的文件来配置网络。为了更改 MAC 地址,我们可以手动添加这些配置信息。
1)将下列内容复制到路径为 /etc/NetworkManager/system-connections/eth0 的文件中:(可以使用touch 创建,并用vi 编辑)
[connection]
id=eth0
type=ethernet
[ethernet]
cloned-mac-address=00:11:22:33:44:55
mac-address=00:0A:35:00:01:22
2)更改此文件的权限,以便 Network Manager 信任该配置
cd /etc/NetworkManager/system-connections/
chmod 0600 eth0
除“eth0”外,该目录中不应有其他文件。如果还有其他文件,请将其删除。
当Linux重新启动时,MAC地址将为00:11:22:33:44:55。
备注:方法二我自己测试的时候似乎不太稳定 ,如果有遇到此种方式没有成功的,请在本贴下方进行留言,并请尝试使用方法三(如果有成功,也请帮我备注留言一下)
方法三、通过在/etc/rc.local 文件中添加 ifconfig eth0 hw ether 命令来修改MAC地址
1)通过vi 命令编辑 /etc/rc.local
vi /etc/rc.local
2)通过键盘方向键将光标移动到文本注释栏的下方 (exit 0 ~的上方), 按下键盘上的” i ” 键进行编辑,并添加下列内容(其中 00:11:22:33:44:55可以更换成你需要调整的MAC地址)(添加的内容需要在exit 0的上方)
ifconfig eth0 down
ifconfig eth0 hw ether 00:11:22:33:44:55
ifconfig eth0 up
3) 按下键盘上的 ESC 键,并输入 “:wq!” ,之后按下键盘上的回车键 对修改进行保存并退出
4) 用 reboot 命令重启系统
之后可以看到 MAC地址已经被调整为 00:11:22:33:44:55