当前位置: 首页 > news >正文

从零开始学习 sg200x 多核开发之 eth0 MAC 地址修改

在 sophpi 中,默认网卡 eth0 的 MAC 地址未配置,是随机生成的。这样就会导致每次重启之后,MAC 地址会改变,从而导致通过 DHCP 获取 IP 地址每次也都在变化。

查看 MAC 地址

前文提到 eth0 自动使能并通过 DHCP 获取 IP 地址,因此需要修改默认的 MAC 地址,使其固定。

  1. 通过 ifconfig -a 命令查看当前 MAC 地址
[root@sg200x]~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr BA:81:1D:4E:E2:96  inet addr:192.168.31.157  Bcast:192.168.31.255  Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:176 errors:0 dropped:0 overruns:0 frame:0TX packets:75 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:24384 (23.8 KiB)  TX bytes:6610 (6.4 KiB)Interrupt:22 lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0UP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:16 errors:0 dropped:0 overruns:0 frame:0TX packets:16 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:1056 (1.0 KiB)  TX bytes:1056 (1.0 KiB)

ifconfig 是传统的 GNU/Linux 下的网络配置工具。只需执行 ifconfig 就可以看到当前系统已经启动的网卡。其中 lo 是回环设备,指代本机,eth 开头的是有线以太网设备,wlan 开头的是无线网络设备,

可使用 ifconfig -a 查看所有网卡,包括未启动的网卡,而 ifconfig 只能查看已启动的网卡。

[root@sg200x]~# ifconfig
lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0UP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)[root@sg200x]~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 2A:95:EC:D1:D6:CA  BROADCAST MULTICAST  MTU:1500  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)Interrupt:21 lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0UP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

也可使用通过 cat /sys/class/net/eth0/address 命令查看 MAC 地址。

修改 MAC 地址

临时修改

$ ifconfig eth0 down
$ ifconfig eth0 hw ether 00:12:34:56:78:9a
$ ifconfig eth0 up 

这种方法修改 MAC 地址,重新启动主机系统后,MAC 地址会自动还原。

永久修改

编辑 /etc/network/interfaces 文件,

$ vi /etc/network/interfaces # 添加这一行
$ pre-up ifconfig eth0 hw ether 78:01:B3:FC:E8:55

保存退出,重启系统,MAC 地址修改成功。

再次查看 MAC 地址,发现已经修改成功。

[root@sg200x]~# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 78:01:B3:FC:E8:55  inet addr:192.168.31.222  Bcast:192.168.31.255  Mask:255.255.255.0UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1RX packets:21 errors:0 dropped:0 overruns:0 frame:0TX packets:17 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:3022 (2.9 KiB)  TX bytes:1870 (1.8 KiB)Interrupt:22 lo        Link encap:Local Loopback  inet addr:127.0.0.1  Mask:255.0.0.0UP LOOPBACK RUNNING  MTU:65536  Metric:1RX packets:16 errors:0 dropped:0 overruns:0 frame:0TX packets:16 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000 RX bytes:1056 (1.0 KiB)  TX bytes:1056 (1.0 KiB)

相关命令

ifconfig

ifconfig 是一个用于配置网络接口的命令行工具。它可以用于查看、启动、停止和配置网络接口,包括设置 IP 地址、子网掩码、广播地址、MAC 地址等。

ifconfig -a 命令用于显示所有网络接口的信息,包括那些当前未激活的接口。这个命令会列出所有网络接口的详细信息,包括硬件地址、IP 地址、子网掩码、广播地址等。

pre-up

在 Linux 的网络接口配置文件中,pre-up 是一个关键字,它指的是在网络接口被激活(即 up)之前应执行的命令或脚本。

这些命令通常用于在接口真正启动前做一些准备工作,比如设置硬件地址、加载模块或者进行其他一些必要的配置调整。

pre-up 指令通常出现在 /etc/network/interfaces 或者类似配置文件中,用来确保某些操作先于接口激活完成。

例如: pre-up ifconfig eth0 hw ether MAC-ADDRESS 这样的行会在 eth0 接口被激活之前,使用 ifconfig 命令来修改该接口的硬件地址(MAC 地址)为指定的 MAC-ADDRESS。

sync

在 Linux 系统中,sync 命令可以将所有未写的系统缓冲区写到磁盘中,包括已修改的 i-node、已延迟的块 I/O 和读写映射文件。这个命令在关机或重启前使用,以确保所有数据都被正确保存到硬盘上。

http://www.lryc.cn/news/486094.html

相关文章:

  • JMeter与大模型融合应用之JMeter日志分析服务化实战应用
  • AtCoder Beginner Contest 380(A-F)
  • 多线程-阻塞队列
  • el-table合并单元格之后,再进行隔行换色的且覆盖表格行鼠标移入的背景色的实现
  • java模拟键盘实现selenium上下左右键 table中的左右滚动条实现滚动
  • SDF,一个从1978年运行至今的公共Unix Shell
  • 前馈神经网络 (Feedforward Neural Network, FNN)
  • 【Python进阶】Python中的数据库交互:使用SQLite进行本地数据存储
  • ZooKeeper单机、集群模式搭建教程
  • 函数指针示例
  • vue如何实现组件切换
  • 计算机视觉 1-8章 (硕士)
  • 整数唯一分解定理
  • Grass脚本2倍速多账号
  • 15分钟学 Go 第 56 天:架构设计基本原则
  • HTML5 Video(视频)
  • 开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-tool usage入门-串行调用多个tools(三)
  • MySQL:表设计
  • 173. 二叉搜索树迭代器【 力扣(LeetCode) 】
  • 大三学生实习面试经历(1)
  • 【论文复现】STM32设计的物联网智能鱼缸
  • 常见长选项和短选项对应表
  • Ubuntu24 上安装搜狗输入法
  • 【AI图像生成网站Golang】JWT认证与令牌桶算法
  • 关于强化学习的一份介绍
  • Python3.11.9+selenium,获取图片验证码以及输入验证码数字
  • Flutter:事件队列,异步操作,链式调用。
  • 从零开始学习 sg200x 多核开发之 eth0 自动使能并配置静态IP
  • 《TCP/IP网络编程》学习笔记 | Chapter 11:进程间通信
  • 开源模型应用落地-qwen模型小试-Qwen2.5-7B-Instruct-tool usage入门-集成心知天气(二)