/etc/resolv.conf austauschen

3dfxatwork

Neuer User
Mitglied seit
22 Jul 2005
Beiträge
112
Punkte für Reaktionen
0
Punkte
0
Hallo

ich habe mir ein kleines Script geschrieben, welches erkennt ob ein rechner an ist, oder nicht, und dann entsprechend die Datei "/etc/resolv.conf" ändert, danach starte ich dnsmasq mit "/mod/etc/init.d/rc.dnsmasq" neu. Leider wird die Datei wieder mit den Originalwerten überschrieben, woher kommen diese Daten, sodass ich diese überschreiben kann?
Die Datei "/tmp/resolv.conf" ist es nicht, denn wenn ich beide Dateien überschreibe, sind nach dem neustart von Dnsmasq auch wieder beide mit dem originalen Inhalt gefüllt.

Danke für eure Hilfe.

MFg Matthias
 
Der dnsmasq liest die Daten aus /var/flash/multid.leases.

MfG Oliver
 
olistudent schrieb:
Der dnsmasq liest die Daten aus /var/flash/multid.leases.
Ne, da schreibt sie die leases rein, so dass sie im Webinterface angezeigt werden können.

/tmp/resolv.conf und /etc/resolv.conf sind quasi das selbe (das eine ist nur ein Symlink auf das andere). Kann mich nicht erinnern, dass sie beim Neustart des dnsmasq neu geschrieben wird. Eigentlich wird sie nur in modhosts beschrieben, falls du im ATA Mode bist, aber das sollte beim Neustart des dnsmasq keine Rolle spielen.

Zum Neustarten solltest du `/mod/etc/init.d/rc.dnsmasq restart' verwenden oder stoppst du ihn vorher mit `/mod/etc/init.d/rc.dnsmasq stop'.

Ich gehe davon aus, dass multid (der in rc.dnsmasq auch neugestartet wird) die resolv.conf wiederherstellt. Du kannst ja mal folgendes versuchen die roten Zeilen aus der rc.dnsmasq rauszunehmen und dann ein `/mod/etc/init.d/rc.dnsmasq restart'.
Code:
        restart)
                [highlight]multid -s > /dev/null 2>&1[/highlight]
                stop nomultid
                sleep 1
                start nomultid
                [highlight]multid > /dev/null 2>&1[/highlight]
                ;;
Oder schau mal in der dnsmasq Doku nach, ob du dnsmasq über ein Signal zum erneutem Einlesen der Konfiguration bewegen kannst.

Mfg
danisahne
 
Ich habe den DNSMASQ immer mit
Code:
/mod/etc/init.d/rc.dnsmasq stop
sleep 1
/mod/etc/init.d/rc.dnsmasq start
neugestartet, verwendet man restart, wird die Datei "/etc/resolv.conf" nicht verändert, wenn man sie zuvor überschreibt. Nur stehen im Webinterface von AVM immer noch die alten Werte, damit komme ich aber klar. Wenn ich das richtig sehe, dann müsste man noch die Datei "/var/flash/multid.leases" mit aktualisieren?
Ich teste nachher mal ob die Datei bei dem restart befehl auch wirklich neu eingelesen wird.
Ansonsten hab ich noch in der man Page folgendes gefunden:
Code:
[B]-n, --no-poll[/B]   
Don't poll [I]/etc/resolv.conf[/I] for changes

NOTES: 
When it recieves a SIGHUB, dnsmasq clears its cache and then re-loads [I]/etc/hosts[/I]. If [B]--no-poll[/B] is set SIGHUB also re-reads [I]/etc/resolv.conf[/I]. SIGHUB does NOT re-read the configuration file.
Und in dnsmasq --help
Code:
[B]-n, --no-poll [/B]
Do NOT poll [I]/etc/resolv.conf[/I] file, reload only on SIGHUB.

Wenn ich das richtig interpretiere, dann liest der mit der startoption --no-poll bei dem Signal SIGHUB die /etc/resolv.conf neu ein, wenn ja wie sendet man so ein Signal aus der shell ?

Ich melde mich später nocheinmal ob es so funktioniert hat.

MFG Matthias
 
Signale kann man mit kill senden.
 
Hallo,

das klappt jetzt so wenn man den dnsmasq nicht mit stop start sondern mit restart neustartet.
Ich wollte soeben nochmal gucken, damit auch im Webinterface die richtigen namensserver drin stehen, da ist mir aufgefallen, dass "/var/flash/multid.leases" nur vergebene IPs mit Namen und Macs enthält, diese hat also nichts mit den Namensservern zu tun. Denn ich benötige den DHCP nicht (dies übernimmt mein VPN Gateway), ich benötige den dnsmasq nur als non caching dns proxy. Mein Script ändert nur die DNS Server der Box, falls das VPN Gateway an oder aus ist, sodass dnsmasq anfagen stets an den richtigen Server weiterleitet, damit keine Verzögerungen auftreten.

MFG Matthias
 
3dfxatwork schrieb:
Ich wollte soeben nochmal gucken, damit auch im Webinterface die richtigen namensserver drin stehen, da ist mir aufgefallen, dass "/var/flash/multid.leases" nur vergebene IPs mit Namen und Macs enthält, diese hat also nichts mit den Namensservern zu tun.
danisahne schrieb:
Ne, da schreibt sie die leases rein, so dass sie im Webinterface angezeigt werden können.
Hab ich oben schon erwähnt.

Mfg
danisahne
 
Kostenlos!

Statistik des Forums

Themen
248,471
Beiträge
2,292,174
Mitglieder
377,914
Neuestes Mitglied
Thiemo1968