DNSMasq und Übertragung der Hostnamen ins Fritz WebIF

vice_pres

Mitglied
Mitglied seit
6 Apr 2008
Beiträge
474
Punkte für Reaktionen
4
Punkte
18
Hi,

Was mir aufgefallen ist: Seit langem werden die Hostnamen die DNSMasq über Reservierung vergibt (bzw dem DNSMasq vom Gerät gemeldet werden) nicht mehr ins Fritz Webif übertragen werden. Früher war das aber mal so - und mit früher mein ich wirklich schon Jahre her... Ist mir aber irgendwie nicht aufgefallen bis ich es heute mal gebraucht hab.

Gibts einen Grund dafür oder ist das sogar wieder einrichtbar?

Gruß
Peter
 
Ich weiß nicht wovon du sprichst. Kannst du mal ein Screenshot machen und erklären?

Gruß
Oliver
 
In der Übersicht im AVM Interface unter "Heimnetz -> Netzwerk" gibts ja eine übersicht der bekannten Netzwerkgeräte. Nutzt man DNSMasq dann steht da noch PC-192-168-178-43 z.B. als "Hostname" in der Übersicht.

Nutzt man den AVM DHCP-Server dann stehen dort die Hostnamen mit denen sich die Geräte melden am DHCP-Server.

Ich meine in Erinnerung zu haben (aus Builds Trunk 2xxx oder noch früher) das bei benutzung von DNSMasq der Name ebenfalls an das AVM-Web-IF übergeben worden ist damit da nicht PC-192-168-178-43 steht sondern eben "LaserJet2055dN" - der Name mit dem sich der Client beim DHCP registriert hat.

Wenn ich heute Abend wieder zuhause bin mach ich sonst mal einen Screenshot

Gruß
Peter
 
ich kann mir nicht vorstellen, dass es je funktioniert hat. Beide DNS-Server bedienen sich über ihre eigenen hosts-Dateien. Ich kann mir sogar gut vorstellen, dass es AVM-seitig mittlerweile über irgendeine versteckte Datenbank läuft.
Die Namenvorgabe seitens AVM ist sowieso ziemlich seltsam. In bestimmten Situationen ist es unter Umständen nicht so einfach, dem AVM-Teil beizubringen, dass er die Namen vergisst. Es war auch letztens wieder ein Kampf der Entwickler gewesen, den dnsmasq VOR dem AVM-Server zu starten. Der wehrt sich nämlich letzte Zeit kräftig gegen. Warum die AVMs dies machen, kannst du sie gerne fragen. Wenn deren Server nur einsatzweise so gut wäre, wie dnsmasq, hätte ich es noch verstanden. Aber so, wie es bis jetzt realisiert ist, ist es eher eine schlechte Parodie auf einen vernünftigen DNS/DHCP-Server.
Zu deinem Anliegen. Versuch bitte herauszufinden, wo die AVMs die Einstellunge speichern. Und zwar nicht nur temporär, sondern auch persistent und berichte hier darüber. Dann sehen wir weiter, ob sich da was machen lässt. Aber ohne einen extra-Paket oder zumindest eine FREETZ-spezifische dnsmasq-Erweiterung wird es nichts.

MfG
 
Vermutlich hab ich dann "damals" noch eine ältere ar7.cfg gehabt die noch die alten Namen beinhaltet hat... da werden die nämlich reingeschrieben:

landevices {
landevices {
ip = 192.168.178.1;
name = "Server1";
mac = XX:XX:XX:XX:XX:XX;
medium = medium_ethernet;
auto_etherwake = no;
ifaceid = ::;
} {
ip = 192.168.178.2;
name = "Client1";
mac = 00:00:00:00:00:00;
medium = medium_unknown;
auto_etherwake = no;
ifaceid = ::;
} {

Bei Änderung wird die Datei dnsddebug.txt in /var/tmp auch mit Hostname und IP gefüllt (ohne Mac) - allerdings ist das nur debug - die änderungen gehen direkt in die ar7 so wie ich das feststellen konnte
 
Interessant...
Du hast Recht. Habe jetzt bei mir auch gefunden. Es wäre zumindest zu überlegen, ob man so eine Art Abgleich zwischen den beiden macht. Automatisiert würde ich es vorerst nicht machen, aber so was wie import/export hätte man da leicht hinbasteln können.
Allerdings sollte man zuerst prüfen, ob die Daten in ar7.cfg über die "neue" Methode mit dem ctlmgr zu beschreiben / zu lesen wäre. Denn mittlerweile ist es irgendwie "uncool" die ar7.cfg direkt zu ändern, obwohl es zur Not auch gehen würde. Die Auswirkung in dem Falle könnte allerdings sein, dass man die Änderungen im AVM-WebIF erst nach dem Reboot sehen wird und womöglich können die Änderungen überschrieben werden, wenn man zwischen dem import/export und dem reboot was im AVM-WebIF macht.
Die Bedatung von landevices entspricht übrigens fast zu 100% dem, was dnsmasq benötigt. Sprich, grundsätzlich wäre ein Import/Export möglich. Natürlich wird es hier auch Einschränkungen geben. Z.B. Mehrfachnamen von dnsmasq, Kommentarfeld usw.
Die Idee an sich so einen Import/Export zu machen finde ich heutzutage ziemlich interessant. Bei mir zuhause gibt es mittlerweile in etwa 10-15 Netzwerkgeräte, die ich zwar händisch ins AVM-WebIF übertragen habe. Es wäre natürlich gut, wenn man diese Funktion irgendwie automatisieren könnte.

MfG
 
Ich habe angefangen zu experimentieren und wieder das Rad neu erfunden. Eigentlich haben die Kollegen mit ihrem Reverse-Engineering schon die Vorarbeit geleistet:
http://www.wehavemorefun.de/fritzbox/Landevice
Der Hinweis von der zitierten Seite mit der sich änderndnen Reihenfolge hat sich bei mir auch bestätigt:
Code:
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice/count
17
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice15/name
SONY-TV
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice13/name
PC-192-168-100-78
root@fritz:/var/mod/root# ctlmgr_ctl w landevice settings/landevice13/name "LAN-Device-78"
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice13/name
SONY-TV
Jetzt ist mein "SONY-TV" nicht mer Nr.15 sondern Nr.13.
Code:
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice10/name
PC-B8-C7-5D-35-68-D2
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice9/name
PC-00-50-18-5C-FA-7C
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice7/name
LAN-Device-78
Und wieder eine Änderung seitens AVM!!! Sie benennen jetzt die Geräte endlich nicht nach IP wie vorher (s. meine alte Liste), sondern nach MAC-Adresse. Ich kann fast schwören, dass dies noch nicht so lange her ist...

Also, für mich gilt Folgendes:
1. Wenn man schon export/import machen will, muss man die AVM-Liste erstmal in eine Zwischendatei vernünftig ablegen (wahrscheinlich gleich im dnsmasq-üblichen-Format).
2. Danach kann man zwischen dnsmasq und dieser Datei hin- und her portieren, wie man Lust und Laune hat. Es würde auch nicht so einfach sein, denn man muss hier Konflikte abfangen. Sicherlich werden die Namen in beiden Listen zunächst öfter unterschiedlich vergeben.
3. Will man die Änderungen im AVM-Teil haben, muss man die ganzen Interfaces zunächst löschen (wie das geht muss ich noch rausfinden). Und dann die komplette Liste im Ganzen portieren.

Ich melde mich, wenn ich irgendeinen Zwischenstand oder gar Ergebnisse habe.

MfG
 
Hallo Hermann,

bei mir scheinen die LANdevices überwiegend nach den Namen sortiert zu sein:
Code:
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice/count
9
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice0/name
Chumby
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice1/name
PC-192-168-178-199
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice2/name
PC-192-168-178-22
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice3/name
PC-192-168-178-30
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice4/name
PC-192-168-178-31
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice5/name
PC-192-168-178-50
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice6/name
PC-192-168-178-51
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice7/name
PC-192-168-178-55
root@fritz:/var/mod/root# ctlmgr_ctl r landevice settings/landevice8/name
PC-192-168-178-60

In /var/flash/ar7.cfg sind aber nur 3 devices eingetragen:
Code:
landevices {
        landevices {
                ip = 192.168.178.40;
                name = "Chumby";
                mac = 00:27:19:B8:0C:15;
                medium = medium_wlan;
                auto_etherwake = no;
                ifaceid = ::;
        } {
                ip = 192.168.178.50;
                name = "";
                mac = 00:08:9B:C3:4F:D2;
                medium = medium_ethernet;
                auto_etherwake = no;
                ifaceid = ::;
        } {
                ip = 192.168.178.55;
                mac = B8:27:EB:1A:62:21;
                medium = medium_ethernet;
                auto_etherwake = no;
                ifaceid = ::;
        }
}
Hiflt dir das weiter?
 
Ich hab gerade mal auf meiner Box und bei meiner Schwester nachgeschaut, im ctlmgr_ctl sind sie definitiv nach Namen sortiert bei mir, in der ar7 werden sie nach IP sortiert gespeichert.
 
Wie rum sie in ar7.cfg gespeichert werden, ist eigentlich egal. Wie ich oben schon schrieb, und wie die Kollegen auf "wehavemorefun" zurecht schreiben, man muss sich nach Möglichkeit für eine der Methoden entscheiden (es gibt noch zwei andere). Historisch bedingt haben wir hier bei FREETZ damit angefangen, die ar7.cfg direkt zu editieren. Diese Methode hat aber viele Nachteile, ist eigentlich ziemlich gefährlich und bringt wenig Ergebnisse, wenn man die Sachen bearbeiten will, die im AVM-WebIF dargestellt werden. Diese landevices werden im AVM-WebIF dargestellt. Von daher ist für mich die ctlmgr_ctl-Methode die erste Wahl. Ich hatte gestern schon den ganzen Abend damit rumexperimetiert und einige Erkenntnisse und Ergebnisse erreicht. Ich kann z.B. schon aus AVM-Liste die dnsmasq-ähnliche Liste generieren, sodass man sie nachher als "hosts" bei FREETZ übernehmen könnte. Viel Zeit hat mir die Sortierung nach IPs gekostet. Weil die IP in "hosts" an erster Stelle steht, wollte ich gerne die Liste nach IPs sortiert dargestellt haben. Das Problem dabei ist, dass die busibox-Variante von sort anscheinend nicht vernünftig die IP-Listen sortieren kann, sodass ich aus dem Internet zusammengeklaut und etwas angepasst eine "Hülle" mit sed und Co. basteln müsste. Nun scheint es halbwegs zu funktionieren. Jetzt werde ich im weiteren Schritt ein intelligentes "mergen" von generierter Liste mit "hosts" realisieren. Ich will die "hosts" nicht mit dem AVM-Kram überschreiben, sondern z.B. nur neue Einträge hinzufügen. Sobald ich etwas belastbares habe, werde ich es hier als code zum ausprobieren posten.
Ich weiß, dass eigentlich die andere Richtung (dnsmasq->AVM) eher gewünscht ist, als die, die ich jetzt bearbeite. Diese Richtung ist aber nicht so trivial, weil man dort die AVM-Config beschreiben muss und nicht unsere. Ich hatte auch dort einige Experimente gemacht, kam aber bis jetzt nicht besonders weiter.
Folgendes ist mir an der Stelle gelungen:
a) Manchmal "verliert" der ctlmgr die einzelnen PCs. Dies ist daran zu erkennen, dass Einträge, wie etwa PC-AAA-BBB-CCC-DDD-2 erscheinen. Die Analyse zeigt, dass der "alte" Eintrag in der DB mit PC-AAA-BBB-CCC-DDD dann plötzlich keinen MAC-Eintrag aufweist. Passieren tut dies bei mir nur mit Geräten, die nicht eindeutig in "hosts" beschrieben sind. Dies führt dazu, dass dieses Gerät eine andere IP zugewiesen bekommt (warum auch immer). Die alte "Leiche" bleibt aber in AVM-DB bestehen. Man kann das Problem über ctlmgr_ctl-Methode so lösen, dass man dem entsprechenden Gerät einen leeren Namen ("") zuweist. Daraufhin verschwindet PC-AAA-BBB-CCC-DDD aus der Liste.
b) Ich kann bestehende Einträge in der Liste mit anderen Namen überschreiben (s. meine frühere Postings)
Folgende Sachen konnte ich nicht realisieren:
c) Löschen von einzelnen Einträgen in der AVM-Liste. Weder das Zuweisen von leeren Namen noch IPs noch MACs führt zur Löschung des Eintrages. Das könnte das ernsthafte Problem sein, wenn ich die Liste bei AVM neu anlegen will.
d) Anhängen an die Liste. Weder das Erhöhen vom counter, noch das Beschreiben von einzelnen Werten hatte einen Erfolg bei mir. Ich kämpfe da aber noch weiter.

Auf jeden Fall danke für eure Beobachtung, dass ar7.cfg und die ctlmgr-Liste nicht unbedingt gleich sind. Das war mir vorhin nicht aufgefallen. Ich behalte auch das im Auge.

MfG
 
Zuletzt bearbeitet:
dnsmerge.sh Version 0.1

Ich habe nun die erste Testversion in einem Ticket verewigt. Alle Testlüstigen sind herzlich willkommen.
http://freetz.org/ticket/1898

Wie im Ticket bereits angedeutet, handelt es sich um eine reine shell-basierte Variante für Testzwecke.
Import funktioniert bereits, export ist noch gar nicht implementiert.

Folgende Optionen gibt es für den Import:
Code:
-s    Sortieren der Liste nach IP-Adressen
-f    Überschreiben doppelter Einträge. Ohne -f wird nur das importiert, was noch nicht existiert

MfG
 
Muss ich doch mal meine Test-3270 am Wochenende aus der Ausleihe beim Arbeitskollegen holen zum testen :)

Aber die Shell Variante sieht ja schonmal sehr nett aus :)

Was mir gerade aufgefallen ist:
Devices die über einen (Fritz) Repeater angebunden sind landen im DNSMasq zwar mit der richtigen MAC (zwecks richtiger IP-Reservierung) - im AVM Interface werden Sie aber mit der MAC des Repeaters angezeigt - und entsprechend auch als Repeater-2 und Repeater-3 in dem Fall...
 
Zuletzt bearbeitet:
Guten Morgen,

die export-Richtung habe ich gerade händisch getestet:
Code:
ctlmgr_ctl r landevice settings/landevice0/name
aufrufen, schauen ob es ein Name à PC-192-168-178-30 ist, diesen in /var/tmp/multid.leases oder hosts suchen und dann eintragen.

Dann wieder bei landevice0 anfangen (Sortierung ändert sich ja nach dem Alphabet) und erhöhen bis man wieder einen unbekannten Namen findet.

Jetzt stimmen die Ausgaben von settings/landeviceX/name und die ar7.cfg wieder überein.


Übrigens zeigt bei mir /var/tmp/dnsmasq.leases etwas komische Zeichen an:
Code:
root@fritz:/var/mod/root# cat /var/tmp/dnsmasq.leases
2140368312 7f936db8:7f936db8:7f936db8:7f936db8:7f936db8:7f936db8 )C àÅC *
2140368312 7f936db8:7f936db8:7f936db8:7f936db8:7f936db8:7f936db8 )C ÐC *
2140368312 7f936db8:7f936db8:7f936db8:7f936db8:7f936db8:7f936db8 )C ÈC *
2140368312 7f936db8:7f936db8:7f936db8:7f936db8:7f936db8:7f936db8 )C (C *
2140368312 7f936db8:7f936db8:7f936db8:7f936db8:7f936db8:7f936db8 )C C *
 
@stan23: Genau so würde ich es wahrscheinlich bei mir im Skript einbauen, wenn mir nichts anders übrig bleibt. Ich suche aber derzeit weiterhin vergeblich noch nach einer Methode, wie ich per ctlmgr_ctl die AVM-eigenen Einträge löschen und hinzufügen kann. Löschen muss irgendwie gehen, weil es per WebIF grundsätzlich möglich ist. Mit dem Hinzufügen bin ich mir nicht ganz sicher. Es kann durchaus sein, dass das Hinzufügen per ctlmgr_ctl gar nicht möglich ist. Das wäre natürlich schade. Dann kann man nur bestehende Einträge bearbeiten.
Inzwischen habe ich mir noch weitere Parameter angeschaut, die man per ctlmgr_ctl auslesen kann. Man kann da schon jede Menge über jede Verbindung erfahren. Ob es z.B. wlan oder lan ist, Geschwindigkeit, Status. Aber z.B. auch an welchem LAN-Port das Gerät angeschlossen ist und ob es gerade im Internet unterwegs ist.
Leider sind es aber alles "lesende" Zugriffe. Bis auf die Änderung von einem bestehenden Namen waren mir bis jetzt keine weiteren Schreibaktionen gelungen. Ich hatte versucht auch die IP-Adresse zu ändern. Hat aber nicht funktioniert.

MfG
 
Nach langer, langer Suche und vielen misslungenen Versuchen habe ich doch die magische commando-Folge gefunden, um die Einträge in der AVM-Liste zu löschen:
Code:
ctlmgr_ctl w landevice command/landevice8 delete
Dabei verschwindet das besagte device. Allerdings braucht die Box relativ lange (Meine Schätzung 2-3 Sekunden), um die Information zu bearbeiten. Also, wenn ich auf die Art und Weise die AVM-Liste löschen muss, dann wird es bei langen Listen sehr, sehr lange dauern.
Zwei interessante Nebeneffekte in dem Zusammenhang:
1. WLAN-Devices kann man so nicht löschen. Bzw. man kann die künstliche Benennung vom Device so löschen, es popt aber kurz dadrauf ein Device mit der Benennung PC-AA-BB-CC-DD-EE-FF nach der MAC-Adresse vom WLAN-Device. Wahrscheinlich muss man das gespeicherte WLAN-Device dann auf eine andere Art irgendwie über wlan-Einstellungen löschen. Hat da jemand eine Idee?
2. Es gibt Devices, die als "deleteable" nicht 2, wie alle anderen Geräte, sondern eine 1 melden. Das sind Geräte mit der Portweiterleitung von draußen. In dem Falle muss man wahrscheinlich erstmal die Weiterleitung löschen, wenn man an die Geräte ran will, um sie zu löschen. Weiß da jemand einen Rat?

Ich habe bis jetzt noch nicht die Möglichkeit gefunden, neue Geräte hinzufügen. Es kann gut sein, dass solch eine Möglichkeit gar nicht gegeben ist. Denn im WebIF gibt es kein Button, um neue Geräte hinzufügen. Es wäre gut irgendeinen Trick herauszufinden, wie man sowas umgehen kann. Wie kann man den ctlmgr täuschen, dass im Netz eine neue MAC aufgetaucht ist? Dann wird ein neuer Eintrag in der Liste erzeugt. Alles Weitere wäre schon machbar... Hat da jemand Ideen?

EDIT: Mit dem WLAN habe ich es mittlerweile selbst herausgefunden:
Code:
root@fritz:/var/mod/root# ctlmgr_ctl r wlan settings/wlanlist/count
4
root@fritz:/var/mod/root# ctlmgr_ctl w wlan command/wlanlist3 delete
root@fritz:/var/mod/root# ctlmgr_ctl r wlan settings/wlanlist/count
3
Danach verschwindet das Gerät sowohl aus der WLAN-Liste, als auch von der "Heimnetz"-Seite endgültig. Setzt natürlich voraus, dass das Gerät gerade offline ist.
Ich glaube, das wird sowieso ein Kampf sein, Geräte, die aktiv sind zu ändern. Mehr als Name ändern, wird da wahrscheinlich sowieso nicht gehen.


MfG
 
Zuletzt bearbeitet:
Leider habe ich bis jetzt keine Möglichkeit gefunden, neue Devices zur AVM-Liste per ctlmgr_ctl hinzufügen. Es gibt allerdings einen nicht so ganz schönen Umweg über eine direkte Änderung in ar7.cfg. Wenn man dies tut und nachher "ar7cfgchanged" ausführt, dann tauchen anschließend neue Devices unter Offline-Geräten auf. Dieser Weg ist aber sehr unschön. Alleine das Ausführen von ar7cfgchanged dauerte gefühlte 10 Sekunden bei meiner 7270.
Der andere Nebeneffekt war -wie oben bereits vermutet- Unterschiede zwischen ctlmgr_ctl und ar7.cfg. Durch das direkte Editieren in ar7.cfg habe ich die IP und den Namen von einem bestehenden Gerät geändert. Jetzt ist dieser Name in ar7.cfg gespeichert, ctlmgr_ctl zeigt aber den alten unveränderten Namen. Und das trotz ar7cfgchanged! Ich vermute, dass nach einem Reboot die ar7.cfg doch "gewinnt", mir hilft es aber nicht wirklich weiter.

Ich muss also bestehende und aktive Geräte per ctlmgr_ctl verändern, wobei ich nur die Namen in der AVM-Liste verändern kann. Neue Devices, die evtl. in hosts (für dnsmasq) deklariert sind, aber der Box noch nicht bekannt sind, muss man direkt in ar7.cfg eintragen. Im letzten Fall kann man sowohl den Namen, als auch die IP und die MAC eintragen.

Also, trivial wird es dadurch nicht unbedingt...

MfG
 
Also zumindest für meinen Einsatzzweck würde es ausreichen, den Namen ins AVM-WebIF zu übertragen, wenn DNSmasq eine neue Lease vergeben hat (an ein bisher unbekanntes Gerät).

Momentan habe ich das per Hand gemacht, aber wenn ich ein neues Gerät in hosts eintrage und dieses dann erstmals eine IP bezieht, wäre es praktisch wenn man es nicht händisch nachtragen müsste.
 
Für mich würde es eher nicht ausreichen. Denn bis jetzt habe ich die Listen überwiegend in hosts gepflegt. Dort kannst du auch Geräte eintragen, die die Box noch nicht kennt. Sobald das Gerät da ist, wird ihm eine bereits in hosts eingetragene Adresse vergeben. Dies würde bei AVM in etwa den "ungenutzten Verbindungen" entsprechen. Und genau da hackt es bei mir noch. Ich kann keine neuen ungenutzten Verbindungen "per Hand" hinzufügen.
Über meine Aktion mit ar7.cfg (s.oben) bin ich inzwischen auch nicht besonders glücklich. Auch nach 2-3 Reboots haben sich ar7.cfg und ctlmgr noch nicht ganz synchronisiert. Man soll wirklich die Finger weg von ar7.cfg lassen. Ich suche da aber weiter.

MfG
 
Bei meinen weiteren Recherchen bin ich auf Folgendes gestoßen:
1. Es gibt eine Datei namens /var/flash/multid.leases, wo die leases von multid abgelegt werden. So weit, so gut...
2. Im Netz gibt es einige Howtos, die empfehlen, diese Datei zu ändern, um seine eigenen IPs den Hosts zuzuweisen. Diese Howtos funktionieren bei mir nicht. Wahrscheinlich, weil ich dnsmasq habe.
3. dnsmasq und seine FREETZ-spezifische Patches benutzen aktiv die besagte Datei. Damit dnsmasq in die Datei schreiben kann, wird "character device" zum Flash (AVM-Lösung) durch Symlink zu /tmp/multid.leases ersetzt. Ferner wird dnsmasq so gepatcht, dass in der Datei tatsächlich leases landen.
4. Es geht sogar weiter: Als Leases stehen dort Wunschnamen vom jeweiligen Host (also nicht aus hosts, sondern die Namen, die sich DHCP-Klient wünscht, wenn in hosts keine Einträge zur jeweiligen MAC-Adresse existieren). Leider werden aber diese Namen nicht mehr vom multid ausgewertet. Wahrscheinlich arbeitet multid nicht mehr mit dieser multid.leases, oder das Format der Datei hat sich geändert oder etwas ähnliches.
5. Und genau an der Stelle habe ich die Vermutung, dass vice_pres doch Recht haben konnte, und dass es irgendwann mal doch auf diese Art und Weise möglich war, Namen vom dnsmasq zu multid zu "transferieren". Es scheint aber heutzutage leider nicht mehr zu funktionionieren. Und das ist das eigentliche Problem.

Meine Fragen:
a) Wer hat bei uns dnsmasq an FREETZ angepasst? Kann sich dieser Mensch bitte outen und uns etwas zu diesem Trick mit /tmp/multid.leases verraten? Warum musste diese Datei von dnsmasq beschrieben werden?
b) Wie wird die Datei gefüllt und warum verschwindet sie teilweise komplett (bzw. wird komplett geleert), wenn man multid oder dnsmasq neu startet?
c) Hat jemand Ahnung oder zumindest Vermutung dazu, wie multid spitz kriegt, dass im Netz neue Geräte auftauchen? Über multid.leases scheint es (zumindest jetzt) nicht mehr zu gehen. Irgendetwer oder Irgendetwas muss beim multid die Erzeugung vom neuen Eintrag in seinen Listen anstoßen. Ich suche schon sehr lange verzweifelt nach dieser Möglichkeit. Weder mit "ctlmgr_ctl" noch mit "msgsend multid" hatte ich bis jetzt Erfolg. Vielleicht hat da jemand ein Paar Tipps für mich?

Edit: multid.leases wird vom dnsmasq nicht richtig beschrieben. Zum Vergleich:
AVM:
Code:
...
wlease 00:11:22:33:44:55 192.168.123.21 1346640715 "MeinPC1" . 00:11:22:33:44:55 ""
lease 00:55:22:11:44:33 192.168.123.22 1346634303 "MeinPC2" . 00:55:22:11:44:33 ""
...
dnsmasq:
Code:
...
lease 00:11:22:33:44:55 192.168.123.21 1346640717 "MeinPC1"
lease 00:55:22:11:44:33 192.168.123.22 1346634305 "MeinPC2"

...
Zu einem schein die Erkennung LAN/WLAN nicht mehr zu funktionieren (lease anstatt wlease), zum anderen hat AVM inzwischen das Format der Datei geändert.

MfG
 
Zuletzt bearbeitet:
Hallo Hermann,

also ich bin derjenige, der zuletzt an dem Patch "rumgewurstelt" hat, das aber nur aufgrund dessen, dass der Patch ein Segmentation-Fault verursacht hat (wie Du diesem Ticket entnehmen kannst). An sich gibt es den Patch schon quasi von Anfang an, s. r16.

Wenn ich es richtig verstehe, dann hat sich das Format insofern geändert, dass
  • bei Verbindungen über WLAN wlease statt lease geschrieben wird (gleich die Frage, wie heißen denn wlan-interfaces der Fritz!Boxen)
  • in jeder Zeile hinten 3 Einträge hinzugekommen sind: "ein Punkt" "nochmal die MAC-Adresse" "zwei Quote-Zeichen"

Ich könnte den Patch so anpassen, dass er alles im neuen Format rausschreibt, damit Ihr zunächst testen könnt, ob das richtige Format irgendwas bewirkt. Sollte es Euch weiterbringen, dann würde sich Frage stellen: seit wann hat sich da was geändert, muss man irgendeine Fallunterscheidung einbauen "Boxen mit altem Format" vs. "Boxen mit neuem".

Grüße,
Gene

Edit: Der Patch enthält bereits die Zeile
Code:
lease->ifrname && strcmp(lease->ifrname, "wlan") == 0 ? "wlease" : "lease"
Also müsste er für wlan wlease rausschreiben, es sei denn ifrname ist nicht gesetzt oder einen anderen Namen hat.
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Statistik des Forums

Themen
244,840
Beiträge
2,219,267
Mitglieder
371,543
Neuestes Mitglied
Brainbanger
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.