Linux 生成隨機mac地址,並固化到本地


前言:

將Mac地址隨機化並固化到本地可以有效避免同一個網絡內,mac地址沖突導致的網絡阻塞問題。

以下是有關的方法:

##
#    Copyright By Schips, All Rights Reserved
#    https://gitee.com/schips/
#    File Name:  setMac.sh
#    Created  :  Mon Dec 23
##
#!/bin/sh

# 保存的配置文件
MACFILE=/etc/config/mac
ETHNAME=eth0
# 注: 如果不需要mac以88開頭,則刪除88,並將cut -cl-10 改為 cut -cl-12
makeMacByMd5() {
    #使用$RANDOM和md5sum(嵌入式無需移植其他軟件的優秀可選方案)
    echo 88`echo $RANDOM | md5sum | sed 's/\(..\)/&/g' | cut -c1-10`
}

makeMacBySSL() {
    #使用openssl工具
    echo 88`openssl rand -hex 6 |sed 's/\(..\)/&/g;s/:$//' | cut -c1-10`
}

makeMacByPerl() {
    #使用perl命令
    echo 88`perl -e 'print join("",map{sprintf "%0.2x",rand(256)}(1..6)), "\n"' | cut -c1-10`
}

# 檢查配置是否存在, 否則生成MAC地址
if [ ! -f "$MACFILE" ]; then
 # Create HEX code to FILE (使其以88開頭)
    echo `makeMacByMd5`  > $MACFILE
    #echo `makeMacBySSL`  > $MACFILE
    #echo `makeMacByPerl` > $MACFILE
fi


# Set mac
/sbin/ifconfig $ETHNAME down
/sbin/ifconfig $ETHNAME hw ether `cat $MACFILE`
/sbin/ifconfig $ETHNAME up


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM