MAC-Adresse LAN (eth0...) dauerhaft ändern

Hallo zusammen,

bekanntlich hat das Gluon-Firmware-Image 2014.v4 0.6 Ruhrgebiet für den TP-Link WDR4900 den Bug, dass die MAC für das eth0-Interface nicht korrekt ausgelesen wird und in der Folge bei allen WDR4900 identisch ist.

Frage: wie setze ich die MAC des Interfaces dauerhaft, so dass die Konfiguration auch einen Neustart überlebt?
OpenWRT-Wiki sagt dazu: etc/config/network wie folgt editieren…

config 'interface' 'lan'
option 'macaddr' 'xx:xx:xx...'

Dummerweise finde ich diese Sektion in der Konfigurationsdatei meiner Node nicht… und bevor ich Laie das Netz kurzschließe, frage ich lieber hier… :smile:

es dankt der Matze

1 Like

Mir war das noch nicht bekannt. :wink:

Ich hab das mal so ausgelotet - eins davon müsste es sein.

root@FF-RE-CampusVest-Buddestr-4900:~# uci show | grep 'mac'
fastd.mesh_vpn.method=salsa2012+umac salsa2012+gmac
network.wan.macaddr=fa:1b:67:5a:99:01
network.client.macaddr=f8:1a:67:5a:99:01
network.bat0.macaddr=f8:1a:67:5a:99:01
network.mesh_vpn.macaddr=fa:1e:67:5a:99:01
network.local_node_dev.macaddr=16:41:95:40:f7:dc
network.local_node_dev.type=macvlan
uci: Parse error (invalid command) at line 2, byte 0
wireless.radio0.type=mac80211
wireless.radio1.type=mac80211
wireless.client_radio0.macaddr=fa:1c:68:5a:99:01
wireless.mesh_radio0.macaddr=fa:1d:68:5a:99:01
wireless.client_radio1.macaddr=fa:1c:69:5a:99:01
wireless.mesh_radio1.macaddr=fa:1d:69:5a:99:01

bisher habe ich die MAC-Adressen der Interfaces eth0, eth0.1 und eth0.2 manuell mittels ifconfig ethx hw ether xx:yy:... gesetzt. Die von mir gewählten MAC-Adressen finden sich dementsprechend in der Auflistung mit ifconfig bei den einzelnen Interfaces wieder. In der über uci show | grep 'mac' erzeugten Liste finden sich diese MAC-Adressen nicht.

Das manuelle Setzen der MAC-Adressen für eth0, eth0.1 und eth0.2 verhindert zuverlässig das Auftauchen der unerwünschten Verbindung (siehe Link).

  1. Wie tun, damit eth0, eth0.1 und eth0.2 beim Start eine von mir gewählte MAC erhalten?
  2. Ist das überhaupt eine – wenn auch provisorische – Lösung für das zugrundeliegende Problem?

ursprüngliche Diskussion zur defekten WDR4900-Firmware: Meshviewer: seltsame Verbindung a0:f3:c1:a6:88:41 zu e8🇩🇪27:ce:bd:d4

1 Like

So. Antworte ich mir mal selbst…

Das Ändern der MAC von eth0.1 und eth0.2 ist überflüssig. Einzig die MAC von eth0 muss geändert werden.

Lösungsmöglichkeit: entsprechendes bash-script mit den relevanten Befehlen (ifconfig...) schreiben, an einem geeigneten Ort speichern (z.B. /usr/bin), ausführbar machen und über die /etc/rc.local bei jedem Systemstart automatisch aufrufen lassen.

Vorschläge, Anregungen, Hinweise?

der Matze

Eine Firmware benutzen die auf Gluon 2015.1 basiert. Da ist der Fix schon eingebaut.

1 Like

irgendwie ist das Problem nicht aus der Welt :frowning:

Mein WDR3600 im FF-BO Netzt bekommt nach updates immer wieder andere MAC Adressen, sodaß meine Fritzbox das Gerät nicht wiedererkennt und so den Zugriff aufs Netzwerk nicht zulässt…

DA ich meinen FF Router nicht selbst nutze , dauert es dann auch ewig bis ich das merke …

Und nein … ich kann da nichts selbst proggen … :smiley: DAU …

Gruß

Kann es sein, dass es nicht an den Updates, sondern am Reboot liegt ?
D.h.initial schon auch einer der Updates, aber nun nur noch reboot.

Siehe die ersten 3 Einträge hier

Wenn Du sie manuell ändern willst, dann hilft Dir vielleicht dieses Script-Codefragment, das eigentlich für andere Dinge gedacht ist, aber das Problem lösen sollte, wenn Du da eine statische NodeID angibt.
(Ja, Fehlermeldungen ignorieren. Ich habe mir die Abfrage gespart, ob es ein Node „mit Tunneldigger/L2TP“ oder „mit fastd“ ist.)

Du müsstest dann in „NEWMAC“ in der ersten Zeile einfach die Wunsch-MAC setzen, um den Node wieder zurückzubiegen.

export NEWMAC=00:60:2f$(dd bs=1 count=3 if=/dev/random 2>/dev/null |hexdump -v -e '/1 ":%02x"')
echo $NEWMAC>/lib/gluon/core/sysconfig/primary_mac
export NEWKEY=$(fastd --generate-key|grep Secret|cut -d" " -f 2)
uci set fastd.mesh_vpn.secret=$NEWKEY
uci set tunneldigger.@broker[0].uuid=$(echo $NEWMAC|tr -d :)
uci set network.client.macaddr=$NEWMAC
uci set network.bat0.macaddr=$NEWMAC
uci commit; echo NEWMAC  $NEWMAC; echo NEWFASTDKEY $NEWKEY
reboot;
1 Like