基於Openwrt虛擬路由MAC地址
阿新 • • 發佈:2020-12-13
上傳開發板執行程式
scp傳輸檔案
將生成好的可執行檔案放到開發板上,檔案傳輸方式 SCP。
scp 是 secure copy 的縮寫, scp 是 linux 系統下基於 ssh 登陸進行安全的遠端檔案拷貝命令。
基本用法為
scp 本地檔案 目標系統同戶名@目標IP地址:目標系統路徑
,在回車之後輸入密碼,用法如圖所示。
虛擬機器網路相關設定
在使用本命令之前,要保證開發板與PC機處於同一網段之下,如果Linux使用的是虛擬機器,需進行如下設定:
- 點選虛擬機器的虛擬網路編輯器
- 新增如下橋接網路
- 點選虛擬機器選擇設定,選擇設定好的網路
- 重啟網路服務,獲得新的IP地址,可以嘗試使用以下命令:
service network-manager restart
Kali Linux(Debian),則需要用以下命令:
service networking restart
Centos 8,則需要用以下命令:
nmcli c reload
切換到串列埠控制檯,執行可執行檔案
如果工具鏈不對,生成的可執行檔案也是不能在開發板上執行的。
開機自啟動
啟動指令碼
啟動指令碼存放在開發板/etc/init.d/目錄中,將編寫好的指令碼檔案放置在該路徑下可實現開機自啟動。
實現有線埠自啟動指令碼如下,輸入ifconfig
檢視自己需要更改的Wan口,在interface="eth0.2"
更改埠名。
#MAC address changer script #MAKE SURE the OUI of the MAC address matches a client side wireless NIC vendor #Place this script in /etc/init.d/ START=94 STOP=20 start() { interface="eth0.2" current_mac=$(ifconfig ${interface} | grep "HWaddr" | awk '{print$5}') new_mac=$(dd if=/dev/random bs=1 count=3 2>/dev/null | hexdump -C | head -1 | if [ $? -eq 0 ]; then ifconfig $interface down ifconfig $interface hw ether $new_mac ifconfig $interface up if [ $? -eq 0 ]; then logger "MAC address successfully changed for $interface from $curren current_mac=$(ifconfig ${interface} | grep "HWaddr" | awk '{print$5} logger "New MAC address: $current_mac" exit 0 else logger "MAC address changing scriped failed" exit 1 fi else logger "Failed to generate MAC address. Perhaps you are missing certain sy exit 1 fi } stop() { echo "Stopping MAC changer script.." }
修改檔案許可權,啟用該檔案
$ chmod +x /etc/init.d/mac-change.sh
$ /etc/init.d/mac-change.sh enable
測試是否生效
$ /etc/init.d/mac-change.sh enabled && echo on
$ /etc/init.d/mac-change.sh start