openwrt手動修改mac(非原始碼中)
阿新 • • 發佈:2019-01-24
問題:多臺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 重啟,就能看到所有修改都生效了。
解決過程:
(紅色的為新增加的部分)
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 重啟,就能看到所有修改都生效了。