[ERLEDIGT] MAC Adresse lässt sich nicht ändern bzw. überschreiben.

pepi8080

Neuer User
Mitglied seit
18 Jun 2007
Beiträge
59
Punkte für Reaktionen
0
Punkte
0
Hi Leute,

ich versuche heute den ganzen Tag die "maca" und "macdsl" von meinen Routern (Fritz!box Fon und Fritz!box Fon WLAN) zu ändern aber die Adressen kehren nach jedem Neustart in den Ursprungszustand zurück.

Ich habe es über ftp versucht.
Wie folgt:
ftp 192.168.178.1
user: adam2
passwort: adam2
quote SETENV maca 00:00:00:11:00:00
Meldung: 200 OK
quote REBOOT

Davor kann ich mit "qoute GETENV maca" sehen ob die Adresse geändert wurde, das wurde sie. Nach dem Neustart ist aber wieder die alte drin. Komisch ist nur, dass ich my_ipaddress ändern konnte aber nicht die MAC-Adressen.

Mit telnet habe ich es auch versucht, auch hier dasselbe. Adressen kehren nach Neustart wieder in den Ursprungszustand.

Hier habe ich beides versuch:
1. echo „maca 00:00:00:11:00:00“ > /proc/sys/urlader/environment
2. echo „maca 00:00:00:11:00:00“ > /var/env

Firmware Version 06.04.33

Hoffe mir kann jemand weiterhelfen.

Danke im Voraus.

Grus pepi8080
 
Zuletzt bearbeitet:
Du musst die Befehle in die debug.cfg schreiben.
Suchfunktion!
 
Danke für die Antwort. Ich habe zwar das halbe Forum durchgelesen aber irgendwie habe ich den Wald vor lauter Bäumen nicht gesehen. Ich weiss jetzt auch, dass es an dem neuen AVM-Bootloader EVA liegt. Da werden anscheinend grundlegende Konfigurationen der Box eingefroren und die eingefrorenen Werte bei jedem Boot im Environment wieder aufgefrischt.

Ich habe jetzt folgendes eingetragen und die box rebootet:
echo „echo maca 00:00:00:XX:XX:XX > /proc/sys/urlader/environment” > /var/flash/debug.cfg

Wenn ich “cat /var/env” oder “cat /proc/sys/urlader/environment” eingebe, sehe ich die Änderung.

Was mich jetzt aber noch interessiert ist, ob diese Änderung überhaupt wirksam ist.
Wenn ich auf „ifconfig“ gehe, dass sehe ich immer noch die alten MAC-Adressen, da hat sich nichts geändert.

Auch wenn ich die meine LAN-Verbindung re-aktiviere den Router erneut anpinge und auf „arp –a“ gehe, da sehe ich auch noch die alte MAC des Routers, also keine Änderung an sich.

Die Box soll an ein Kabelmodem angeschlossen. Die MAC Adresse, die beim Provider registriert ist habe ich. Das Gerät muss ich versenden und kann es daher nicht selber vor Ort testen, ich muss das Ding daher hier bei mir fertig konfigurieren und sichergehen, dass es klappt. Der Provider verlangt auch eine Authentifizierung also eine WAN-Verbindung, die Einstellungen am Web-Interface scheiden daher aus, da die Option mit der MAC-Adresse bei einer PPPoE Verbindung verschwindet.

Hat jemand eine Idee, ob die Änderungen auch tatsächlich wirksam sind und ob man das irgendwo sehen (abgesehen von /proc/sys/urlader/environment oder /var/env) kann?
 
Hallo,

das geht nicht mehr so ohne weiteres, denn ab den neuen Versionen mit Kernel 2.6 gibt es den Bootloader "EVA", in dem sind diese Werte direkt gespeichert und so nicht mehr änderbar.
Beim Booten werden die Environment-Variablen aus dem Loader herausgelesen und in den "normalen" Variablen gesetzt. Diese Infos wurden beim ersten Update auf die neuere Firmware ausgelesen, in den Bootloader hineingeschrieben und dieser dann auf die Box geflasht. Um die Adressen zu ändern müsstest du also den Bootloader neu generieren lassen. Mehr Infos dazu findest du bei havemorefun. Einen konkreten Weg dazu hat olistudent z.B. hier beschreiben.

Jörg
 
Die Eintragung in debug.cfg bringt nichts, diese wird erst fast am Ende des Startvorgangs aufgerufen. Es könnte funktionieren, nach der Änderung das Programm multid neu zu starten, also
Code:
multid -s
multid
Solange ifconfig die alte Adresse anzeigt, gilt diese vermutlich auch noch.

Wenn Du es sicher wissen willst, solltest Du die Netzwerkpakete ansehen, die verschickt werden.
 
Soweit ich es verstanden habe, muss man den lib-Ordner einer 0.9-26-uClibc Firmware und die zwei Datei (urlader.config und urlader.setconfig24) auf die Box kopieren und dort dann

LD_LIBRARY_PATH=/var/tmp/old ./urlader.setconfig24 -i urlader.config -u /dev/mtdblock3 -e /proc/sys/urlader/environment

ausführen, davor Pfad entsprechend anpassen. Kann ich die urlader.config zuvor bearbeiten und lieg ich sonst soweit richtig?

Die andere Frage wäre natürlich wo ich diesen lib-Order oder diese 0.9-26-uClibc Firmware bekomme?

Die Suche hilft hier nicht weiter. Mag sein, dass die Information irgendwo steht aber ich habe nach ein paar Stunden mit dem Suchen aufgehört. Dieses Forum an sich ist echt super aber manche Themen haben so viele Antworten, dass es schier unmöglich ist dort eine brauchbare Information zu finden bzw. zu filtern.
 
Zuletzt bearbeitet:
Ralf mein Freund, Du kommst grad zu rechten Zeit. Vielen Dank. Ich war kurz davor das Ding hier mit nem Hammer zu bearbeiten.

Mit „multid“ lagst du richtig. Zwar ist die Einstellung nach dem Booten wieder weg aber wenn man „multid –s“ und „multid“ unten an der debug.cfg einfügt und rebootet, bleiben die Einstellungen erhalten. Ifconfig zeigt die MAC jetzt auch richtig an.

An Alle die dasselbe Problem haben:

1. „/var/flash/debug.cfg“ bearbeiten, um die MAC Adresse von maca zu ändern.

1.1 Da ich bei nvi /var/flash/debug.cfg oder vi /var/flash/debug.cfg die Fehlermeldung (Applet not found) bekomme, füge ich die Werte per „echo“ ein. Die Werte sollten auf einmal eingetragen werden, da sonst die „debug.cfg“ jedes Mal überschrieben wird (bei mir zumindest). Falls da bereits Werte eingetragen sind, solltet Ihr doch eher versuchen über „nvi“ die Datei zu editieren, da sonst alle ursprünglichen Werte gelöscht werden. Ärgerlich ist es dann, wenn die Einstellung für den Telnetzugang gelöscht wird. Ich habe „telnetd“ über das Telefon mit „#96*7*“ aktiviert und der bleibt dann auch aktiv, egal was an der „debug.cfg“ geändert wird. Mit „#96*8*“ lässt sich „telnetd“ wieder deaktivieren.

1.2 Folgendes eingeben und auf Enter drücken:
Code:
echo „echo maca xx:xx:xx:xx:xx:xx > /proc/sys/urlader/environment
multid –s
multid” > /var/flash/debug.cfg

Anstelle von “xx:xx:xx:xx:xx:xx” kommt natürlich die gewünschte MAC Adresse (mit Doppelpunkt „:“ getrennt) rein.
Jetzt nur noch rebooten „/sbin/reboot“ und das warst schon.

Andere MAC Adresse z.B. von macb oder auch macdsl lassen sich auf die selbe Art und Weise ändern.
 
Zuletzt bearbeitet:
Super, wenn das klappt! :)
Hab mir die Seite gleich mal in meinem fritzbox-ordner gespeichert.
An Deinen Tipp (RalfFriedl) hätte ich gar nicht gedacht. Habs selber auch nicht probiert.
Thread bitte als gelöst definieren!

Edit: Wäre was fürs Wiki! ;-)
 
[OT]Darf ich mal fragen, warum du diese Adresse geändert hast? Mir fällt da kein Grund für ein[/OT]
 
Das ist praktisch wenn Du hinter einem Kabelmodem sitzt. Kabelmodems haben oft die unangenehme Angewohnheit, dass sie sich die MAC Adresse des angeschlossenen Gerätes merken und nur die durchlassen. Bei einigen Modems genügt es, wenn man das Gerät aus und wieder einschaltet, bei manchen muss man das Gerät eine Weile aus lassen und bei einigen bringt das nichts. Es gibt sogar Provider, die speichern die MAC des Users und lassen nur diese MAC durch. Wenn sich jetzt aber die Hardware verabschiedet oder man einen Router oder eine andere fritz box anschließen möchte, dann darf man sich mit dem Provider rumschlagen. So gibt man der Box einfach die, im Modem oder beim Provider gespeicherte MAC ein und schon macht das surfen wieder spaß.
 
pepi8080 schrieb:
So gibt man der Box einfach die, im Modem oder beim Provider gespeicherte MAC ein und schon macht das surfen wieder spaß.
Gab es dazu nicht eine Funktion in der FRITZ!Box?

[EDIT]
siehe hier (Bild)
 
Ja aber nicht bei PPPoE. In den meisten Fällen genügt auch die eigene Funktion aber bei einer PPPoE Verbindung nicht.
 
Zuletzt bearbeitet:
pepi8080 schrieb:
nvi -> Applet not found
Anscheinend gibt es Versionen der Firmware, die in der Busybox keinen vi enthalten, aber trotzdem den Link von vi auf busybox.
Als Abhilfe kann man sich eine Busybox suchen, die das Applet enthält, z.B. aus einer älteren Firmware oder aus einer modifizierten Firmware. Dafür ist keine Änderung der Firmware nötig, es reicht, die geänderte Busybox ins RAM zu laden.

Wenn man sich das Skript nvi anschaut, sieht man, daß dort im Wesentlichen die zu bearbeitende Datei /var/flash/xxx in eine temporäre Datei kopiert wird, dort dann bearbeitet und wieder zurück kopiert wird.

Das kann man auch so machen, wenn man Befehle hinten anhängen will.
Code:
cat /var/flash/debug.cfg > /var/tmp/tmpfile
echo "# Zeile 1" >> /var/tmp/tmpfile
echo "# Zeile 2" >> /var/tmp/tmpfile
cat /var/tmp/tmpfile > /var/flash/debug.cfg
Wichtig ist, daß /var/flash/debug.cfg keine reguläre Datei ist, sondern eine Device-Datei, die im Flash dauerhaft gespeichert wird.
Für diese Datei wird Anhängen nicht unterstützt, sie muß mit einer Schreiboperation erstellt werden.
 
Wichtig ist, daß /var/flash/debug.cfg keine reguläre Datei ist, sondern eine Device-Datei, die im Flash dauerhaft gespeichert wird.
Für diese Datei wird Anhängen nicht unterstützt, sie muß mit einer Schreiboperation erstellt werden.

Danke für den Tipp. Habs zwar noch nicht getestet, klingt aber logisch.

Das mit der Busybox muss ich mal probieren.
Weiss zwar noch nicht wie ich das Applet (welche Dateien, Ordner) in der alten FW finden und in den RAM laden soll aber die Suche wird bestimmt was bringen. Wenn Du da ein paar kurze Worte dazu hast, nur her damit.
 
Busybox

Schau mal hier (Anhang, Busybox) oder hier zum Thema Busybox selbst erstellen.

Die Busybox ist eine Sammlung von Programmen. Applets nennt die Busybox die einzelnen enthaltenen Programme.
Die Datei ist in /bin/busybox in der Firmware. Programme wie ls oder vi sind symbolische Links auf die Busybox. Wenn man /bin/busybox vi oder direkt vi aufruft, wird die Busybox das Applet vi aufrufen, sofern es mit enthalten ist. Bei der Konfiguration der Busybox kann man angeben, welche Programmteile/Applets man haben will und welche nicht. Es ist schließlich auch eine Frage des Speicherplatzes. Die Busybox ist hauptsächlich für Systeme mit wenig Speicher gedacht. Die Applets in der busybox sind deshalb auch häufig einfacher als ihre "richtigen" Gegenstücke, unterstützen nur die häufigsten Optionen usw.

Das RAM sind alle Verzeichnisse unterhalb von /var, mit Ausnahme von /var/flash.
Wenn Du eine Box mit USB-Host hast, kannst Du die Datei auf einen USB-Stick kopieren und den einstecken.
Wenn Du die Möglichkeit hast, sie von einem Web-Server herunterzuladen, kannst Du dafür wget verwenden.
Sonst mußt Du einen anderen weg finden.
 
Zuletzt bearbeitet:
Danke Ralf.

Deine Tipps haben alle funktioniert. Die MAC lässt sich problemlos ändert. Mir hat es schlussendlich doch nicht geholfen, da der hiesige Provider so etwas wie einen NAT-Blocker benutzt. Wusste selber nicht, dass so etwas technisch machbar ist aber in einigen Ländern wird das offenbar praktiziert.
 
Eine Frage noch bitte.

Habe die debug.cfg mittels tftp -p -l debug.cfg 192.168.178.X heruntergeladen und editiert.
Also am Ende folgendes eingefügt
echo „echo maca xx:xx:xx:xx:xx:xx > /proc/sys/urlader/environment
multid –s
multid” > /var/flash/debug.cfg

mittels tftp -g -l debug.cfg -r debug.cfg 192.168.178.1 wieder auf die Box zurückgespielt.

Box resetet.

Jedoch ist immer noch die alte MAC vorhanden.

Was mache ich da noch bitte falsch ?

Danke

Reimund
 
Hallo Reimund,

ich weiß nicht was Du mit reseten meinst aber soweit ich weiß (ich lass mich aber gerne des besseren belehren), wird nach einem Reset der Werkszustand wieder hergestellt und Deine Einstellungen gehen verloren. Das bedeutet, dass man die Box neustarten kann (also ein und aus) aber nicht reseten sollte.

Ansonsten:

Schau bitte erst, ob bei Dir auch tatsächlich die Datei "/proc/sys/urlader/environment" dafür zuständig ist bzw. ob diese Datei überhaupt vorhanden ist. Bei manchen Boxen liegt die Datei in ein anderes Verzeichnis.

Übrigens: Die „maca“ kannst Du auch über das Web-Interface ändern. Wenn Du jedoch gleichzeitig eine PPPoE Verbindung aufbauen musst, dann geht das übers Web-Interface nicht.

Mit „tftp“ hab ich mich schon lange nicht mehr beschäftigt aber du brauchst es auch nicht so umständlich machen.

Mach es wie es der Ralf gesagt hat. Gibt einfach folgende Zeilen nacheinander ein und drücke nach jeder Zeile (selbstverständlich) Enter.

Code:
cat /var/flash/debug.cfg > /var/tmp/tmpfile

echo "echo maca xx:xx:xx:xx:xx:xx > /proc/sys/urlader/environment" >> /var/tmp/tmpfile

echo "multid –s" >> /var/tmp/tmpfile

echo "multid" >> /var/tmp/tmpfile

cat /var/tmp/tmpfile > /var/flash/debug.cfg

Die x-en natürlich durch die gewünschte MAC-Adresse ändern.
 
Danke du hast Recht.
Das Verzeichniss gibt es auf meiner Fritzbox WLAN nicht

Aber wie kann ich es finden ?

Danke

Reimund
 
Dann sollte es diese Datei sein:

Code:
/proc/avalanche/env
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.