1. 程式人生 > >openwrt手動修改mac(非原始碼中)

openwrt手動修改mac(非原始碼中)

問題:多臺openwrt裝置在同一網路中使用產生MAC衝突
解決過程:
(紅色的為新增加的部分)
1.修改 lan,wan mac地址
編輯 /etc/config/network
修改其中一段
config 'interface' 'lan'
        option 'type' 'bridge'
        option 'ifname' 'eth0.0'
        option 'proto' 'static'
        option 'netmask' '255.255.255.0'
        option 'ipaddr' '192.168.200.1'
        option 'macaddr' 'd8:64:c7:5e:f1:c6'


config 'interface' 'wan'
        option 'ifname' 'eth0.1'
        option 'proto' 'dhcp'
        option 'macaddr' 'd8:64:c7:5e:f1:c6'

2.修改 eth0 mac地址
編輯 /etc/rc.local
ifconfig eth0 down;ifconfig eth0 hw ether d8:64:c7:5e:f1:c6;ifconfig eth0 up

3.修改wireless mac地址
這就最糾結了直接修改 /etc/config/wireless中的mac是沒用的,並且修改後無線網路會無法啟動。

在研究了/sbin/wifi指令碼後,只能通過迂迴戰術來進行解決。
編輯 /sbin/wifi
修改如下一段,增加內容
set_wifi_up() {                                                    
        echo wifi_up;ls /tmp/runbssid=d8:64:c7:5f:f1:c6/ /var/run/hostapd-phy0.conf
        hostapd -P /var/run/wifi-phy0.pid -B /var/run/hostapd-phy0.conf

        local cfg="$1"                         

        echo wifi_up 2;ls /tmp/run/*.conf
        local ifname="$2"                     
        echo wifi_up 3;ls /tmp/run/*.conf
        uci_set_state wireless "$cfg" up 1
        uci_set_state wireless "$cfg" ifname "$ifname"

}        

4.修改完成 
sync;reboot  重啟,就能看到所有修改都生效了。