OpenWrt 固件重启 MAC 地点不再“任性”!稳定方案来了~ ...

打印 上一主题 下一主题

主题 1017|帖子 1017|积分 3051

最近不少小伙伴都反馈说,部分OpenWrt 固件每次重启后,MAC 地点都会变化。这种情况在某些应用场景中真是让人抓狂:好比路由器绑定、网管设备识别等等,MAC 一变,全都得重新配置。
为相识决这个头痛的题目,本日给大家带来一个简朴的脚本方案,让你的 OpenWrt 重启后也能稳定保持同一个 MAC 地点。话不多说,下面就是完备的操作流程!
一、脚本方案

这个脚本会在每次启动时,将指定接口的 MAC 地点设为你想要的固定值。再也不消担心重启后 MAC 地点乱跳的题目啦~
代码示例

将以下脚本保存为 /etc/init.d/set_mac.sh:
  1. #!/bin/sh /etc/rc.common
  2. # 设置脚本启动优先级为最高
  3. START=00  
  4. LOG_FILE="/root/set_mac.log"  # 日志文件路径
  5. start() {  
  6.     # 定义接口和MAC地址
  7.     local interface="eth0"  
  8.     local macaddr="d2:13:a1:46:74:4e"  # 你想要的MAC地址
  9.     # 清空之前的日志文件
  10.     > $LOG_FILE  
  11.     # 输出开始执行的日志
  12.     echo "开始执行设置MAC地址脚本..." >> $LOG_FILE  
  13.     # 检查接口是否存在
  14.     if [ -n "$(ifconfig $interface)" ]; then  
  15.         # 输出接口存在的日志
  16.         echo "接口${interface}存在,开始设置MAC地址..." >> $LOG_FILE  
  17.         # 关闭接口
  18.         ifconfig $interface down  
  19.         echo "接口${interface}已关闭。" >> $LOG_FILE  
  20.         # 设置MAC地址
  21.         ifconfig $interface hw ether $macaddr  
  22.         echo "已将接口${interface}的MAC地址设置为${macaddr}。" >> $LOG_FILE  
  23.         # 启动接口
  24.         ifconfig $interface up  
  25.         echo "接口${interface}已启动。" >> $LOG_FILE  
  26.         # 输出设置成功的日志
  27.         echo "已成功将接口${interface}的MAC地址设置为${macaddr}。" >> $LOG_FILE  
  28.     else  
  29.         # 输出接口不存在的日志
  30.         echo "接口${interface}不存在,跳过设置MAC地址。" >> $LOG_FILE  
  31.     fi  
  32.     # 输出脚本执行完毕的日志
  33.     echo "设置MAC地址脚本执行完毕。" >> $LOG_FILE  
  34. }
复制代码
二、设置脚本权限与自启动

接下来,我们要让脚本可以执行并随设备开机时运行。
1、给脚本执行权限:

  1. chmod +x /etc/init.d/set_mac.sh
复制代码
2、启用开机自启动:

  1. /etc/init.d/set_mac.sh enable
复制代码
如许一来,每次启动设备时,OpenWrt 都会自动为 eth0 接口设置指定的 MAC 地点,确保它保持不变,稳定可靠!
三、日记记载

脚本每次运行的日记会保存在 /root/set_mac.log 中,可以随时查察执行状态,确保设置成功。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

圆咕噜咕噜

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表