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

Linux ARM生成随机的MAC地址

背景

有一批产品ARM板出来全都是同一个MAC地址: 00:00:35:00:11:55
这就导致获取的IP都是一样的,需要让他们启动后获取各自不一样的IP,因此每个板子都需要获得其自己的MAC地址(后三个BYTE区分身份): “00:00:35:XX:XX:XX”

设置MAC解决此问题

1、临时设定网卡的MAC地址(重启后失效)

$ ifconfig eth0 hw ether [mac_address]

系统上电执行配置:

  • 第一次启动时生产一个随机的MAC,记录该MAC地址
  • 下一次启动直接读取这个本机专属MAC

/etc/init.d/network.sh, 添加配置的实现:

echo "Set mac address and ifconfig eth0 up .."    if [ -f "mac_address" ];thenecho "Load existing mac_address.."ifconfig eth0 hw ether $(cat mac_address)
elseecho "Not setup mac_address yet, create one."echo "$(hexdump -n3 -e'/3 "08:00:27" 3/1 ":%02X"' /dev/random)" > mac_addressifconfig eth0 hw ether $(cat mac_address)
fiifconfig eth0 up

用shell脚本来实现随机的MAC备用方法

$ echo "00:00:35$(dd bs=1 count=3 if=/dev/random 2>/dev/null |hexdump -v -e '/1 ":%02X"')"
$ echo "$(hexdump -n3 -e'/3 "00:00:35" 3/1 ":%02X"' /dev/random)"
$ printf '00:00:35:%02X:%02X:%02X\n' $[RANDOM%256] $[RANDOM%256] $[RANDOM%256]
$ echo 00:00:35:`openssl rand -hex 3 | sed 's/\(..\)/\1:/g; s/.$//'`

http://www.mrgr.cn/news/6743.html

相关文章:

  • 期末九天从入门到精通操作数据库(mysql)
  • 利用MongoDB进行数据治理,防范构建生成式AI应用程序时的潜在安全风险
  • Elasticsearch之RestClient的简单操作(附java代码案例)
  • 数据库系统 第17节 数据仓库
  • linux和docker部署基本的命令掌握
  • 网络编程知识点总结
  • TCP 协议的相关特性
  • 监控篇之利用dcgm-exporter监控GPU指标并集成grafana大盘
  • python动画:manim中的颜色【ManimColor】的使用方法
  • ZMQ发布订阅模型
  • idea2024设置中文
  • 动态规划之买卖股票篇-代码随想录算法训练营第三十八天| 买卖股票的最佳时机ⅠⅡⅢⅣ,309.最佳买卖股票时机含冷冻期,714.买卖股票的最佳时机含手续费
  • WebSocket、Socket和Netty的关系
  • Qt5.14.2 多边形与多边形求交集
  • AI大模型独角兽 MiniMax 基于 Apache Doris 升级日志系统,PB 数据秒级查询响应
  • 常微分方程的项源(source term)
  • 【Docker】Docker学习02 | docker-cli的基本命令
  • Application实际在云原生中的应用
  • 在Logback中配置`requestId`进行日志追踪的实践与应用
  • Github 2024-08-24 Rust开源项目日报 Top10