dnsmasq, Release 2.40

Zusätzliche Erläuterung zum DNS:
Beim multid von AVM kann man DNS nicht ausschalten. Wenn aber multid beendet wird und dann dnsmasq gestartet wird, belegt dnsmasq den Port 53 für DNS. Wenn danach multid wieder gestartet wird, kann er den Port 53 nicht mehr öffnen, weil der bereits vom dnsmasq belegt ist. Zum Glück gibt multid dann nur eine Warung aus und stört sich nicht weiter daran.

@hermann72pb
Zwei DHCP Server in einem Netzwerk laufen zu lassen (auch auf verschiedenen Rechnern) ist meistens eine schlechte Idee und funktioniert allenfalls dann, wenn die Konfiguration in beiden Servern gut aufeinander abgestimmt ist.

Zwei DHCP Server auf einem einzigen Rechner laufen zu lassen ist erst recht schwierig, weil auch hier beide den gleichen Port verwenden müßten. Es kann aber sein, daß zumindest einer der beiden DHCP Server nicht mit regulären Ports arbeitet, sondern direkt an der Netzwerk-Schnittstelle aufsetzt, so daß sie sich nicht gegenseitig stören.
 
Ich meinte den DHCP-Server auf der Box. Warum auch immer, aber es geht, wenn man die beiden DHCP-Server aktiv am laufen hat. Man merkt es sogar kaum. Das einzige, was dabei etwas störend ist: DHCP-Server von AVM nutzt seine alten MAC<->IP Zuweisungen, die blöderweise irgendwo gespeichert sind und vom WebIF nicht zu editieren sind. Es scheint aber so zu sein, das dnsmasq-Server Vorrang hat.
Aber lassen wir diese OT-Diskussion. Ich wollte nur los werden, was ich mal beobachtet hatte. Mir ist schon klar, dass man nur einen DHCP-Server nutzen solte und ich kenne auch diese trickige Lösung mit dem Wrapper und dnsmasq.

MfG
 
Was passiert, wenn Du in Deine exhosts folgendes einträgst?
Code:
192.168.178.31 00:50:51:52:53:57 * rechner.rechner[b][COLOR="Red"].fritz.box.[/COLOR][/b]
Wobei Du den Teil "fritz.box" durch das ersetzen solltest, was Du als "Domain" eingetragen hast. Ich würde erstmal herausbekommen wollen, ob sich dnsmasq jetzt tatsächlich an den Punkten in der Datei stört (was eigentlich nicht sein dürfte), oder ob ev. die Fehlermeldung mehr in dem Sinne zu interpretieren ist "Name passt nicht zu meiner konfigurierten Domain - ich lehne ihn ab". Wenn ich mir nämlich die manpage von dnsmasq durchlese, könnte dies durchaus in Betracht kommen (dann müsste man ggf. die Entwickler um eine aussagekräftigere Fehlermeldung bitten).
 
Nein, da ändert sich nichts an der Fehlermeldung:
Code:
Jan 13 18:59:32 fritz user.info multid[847]: stopped.
Jan 13 18:59:32 fritz daemon.info dnsmasq[603]: exiting on receipt of SIGTERM
Jan 13 18:59:34 fritz daemon.info dnsmasq[866]: started, version 2.40 cachesize 150
Jan 13 18:59:34 fritz daemon.info dnsmasq[866]: compile time options: no-IPv6 GNU-getopt no-ISC-leasefile no-DBus no-I18N TFTP
Jan 13 18:59:34 fritz daemon.info dnsmasq[866]: DHCP, IP range 192.168.178.11 -- 192.168.178.200, lease time 12h
Jan 13 18:59:34 fritz daemon.warn dnsmasq[866]: running as root
Jan 13 18:59:34 fritz daemon.info dnsmasq[866]: reading /etc/resolv.conf
Jan 13 18:59:34 fritz daemon.info dnsmasq[866]: using nameserver 192.168.180.2#53
Jan 13 18:59:34 fritz daemon.info dnsmasq[866]: using nameserver 192.168.180.1#53
Jan 13 18:59:34 fritz daemon.info dnsmasq[866]: read /etc/hosts - 10 addresses
Jan 13 18:59:34 fritz daemon.err dnsmasq[866]: [COLOR=Red]bad name at /etc/ethers line 9[/COLOR]
Jan 13 18:59:34 fritz daemon.info dnsmasq[866]: read /etc/ethers - 8 addresses
[EDIT]
Allerding enthält mein Hostname (also das fritz.box bei dir) keine Punkt, aber das wird wohl keinen Unterschied machen.
 
Das Problem mit den Punkten scheint jetzt in Version 2.41 von dnsmasq gelöst zu sein.
 
Die blenden evtl. die Fehlermeldung aus.
Aber Fakt ist doch, dass ein hostname keinen Punkt enthalten darf und somit das ganze eigentlich gar kein Fheler ist ... :confused:

wengi

Ergänzung:
Im Gegensatz zu Domainnamen dürfen Hostnames nur aus den ASCII-Zeichen a-z (Groß-Kleinschreibung ist egal), 0-9 und dem Bindestrich - bestehen. Die einzelnen Labels dürfen nicht mit einem Bindestrich anfangen oder aufhören. Andere Sonderzeichen als der Bindestrich (und der Punkt zwischen den Labels) sind nicht erlaubt, obwohl sie gelegentlich trotzdem verwendet werden.
http://de.wikipedia.org/wiki/Hostname
 
Zuletzt bearbeitet:
Kommando zurück, es ist alles beim alten :(
Ich hatte hinter dem Punkt denselben Namen genommen wie bei Domain (also der Wert hinter -s), damit geht es, ist ja aber sinnlos.

So, nun nochmal die Frage an die Experten (derheimi, RalfFriedl etc.): Sind nun Punkte erlaubt oder nicht? Ich frage das wegen solcher Dinge wie fritz.box (mit Punkt), der Tatsache, dass man bei Windows Namen ohne Punkt nicht aufrufen kann, und wegen des folgenden Satzes aus oben genannten Wikipedia-Artikel
Hostnames bestehen, wie alle Domainnamen, aus mehreren „Labels“, die untereinander durch einen Punkt getrennt werden.
 
Ein "Fully Qualified Host Name (FQHN)" entspricht ungefähr einer vollständigen absoluten Pfadangabe einer Datei in einem Dateisystem. Die Punkte im FQHN entsprechen den Schrägstrichen, die Lese-Reihenfolge ist genau anders herum.

Es ist üblich, daß man, um Schreibarbeit zu sparen, statt dem ganzen FQHN nur den ersten Namen des Rechners eingibt. Implizit wird dann der Default Domain-Name angehängt. Ob man mit Hostname nun nur die Kurzform oder auch die volle Form meint, kommt auf den Zusammenhang an. Der "Voll Qualifiziert Hostname" ist ja offensichtlich auch ein Hostname. Die Unterscheidung ist ähnlich wie wenn ich als Dateiname "/etc/hosts" und "hosts" angebe, wobei "/etc" das aktuelle Verzeichnis ist.

Wenn man "fritz.box" als FQHN auffaßt, dann ist "box" der Domain-Name und "fritz" der Hostname innerhalb dieser Domain. Andere Rechner in der Domäne "box" hätten dann Namen wie "rechner1.box".

Wenn man mit einer /etc/hosts Datei arbeitet statt mit einem DNS-Server, dann gibt es letztlich keine Domain, und man trägt einfach einen Namen mit oder ohne Punkte ein, typischerweise beides, damit beides funktioniert.

Normalerweise kann überall, wo ein Hostname erwartet wird, entweder ein Domain-Name mit Pfad stehen (FQHN). Dieser wird daran erkannt, daß er mindestens einen Punkt enthält. Oder es steht ein kurzer Hostname, an den implizit der Default Domain-Name angehängt wird, um einen FQHN zu erhalten.
Unter Linux wird der Defaul Domain-Name üblichweise in der Datei /etc/resolv.conf angegeben in einer Zeile "search domain.de" oder "search box".
Prinzipiell ist es auch möglich, mehrere Defaul-Domains anzugeben, dann werden bei kurzen Domain-Namen diese Domains nacheinander abgesucht, bis ein Passender Eintrag gefunden wird. Dies entspricht der Suche nach einer Datei in den Verzeichnissen, die in PATH genannt werden.

Im konkreten Fall sollte es zulässig sein, in der Datei /etc/ethers Hostnamen mit oder ohne Punkte einzutragen, solange sich für diese Hostnamen eine IP-Adresse herausfinden läßt. Meine Vermutung ist, daß genau dort das Problem liegt.

dnsmasq ist eine Sammlung von verschiedenen Funktionen über den reinen DNS-Server hinaus, aber ich weiß nicht, wie gut er als "richtiger" DNS-Server für mehrere Zonen geeignet ist.

Vermutlich ist die Namensauflösung innerhalb dnsmasq unabhängig von der sonstigen Namensauflösung im System, da man ja davon ausgehen muß, daß sonstige Programme den DNS-Server verwenden dürfen. Es kann also sein, daß der dnsmasq nicht flexibel genug für diese Konfiguration ist, es kann aber auch sein, daß es nur nicht passend dafür konfiguriert ist.
 
Hallo,

Du hast natürlich vollkommen Recht. Ich möchte noch eine Kleinigkeit ergänzen...
Normalerweise kann überall, wo ein Hostname erwartet wird, entweder ein Domain-Name mit Pfad stehen (FQHN).
Der Satz stimmt im allgemeinen. Allerdings reden wir hier von einem DNS Server! Das bedeutet, dass der Server aussschließlich Hostnamen (Also ohne Punkt) akzeptiert, da ja eben der DNS Server selbst für die Verwaltung und Auflösung der FQDNs zuständig ist.

Es macht schlicht keinen Sinn für einen Domainserver, der die Domain "meinedomain" verwaltet, den Namen "fritz.box" aufzulösen, da er ja nicht für die Domain "box" zuständig ist.
Von dieser Seite kann ich die Entwickler von dnsmasq sehr gut verstehen.

Dass AVM natürlich die Boxen immer unter dem gleichen Namen ansprechen will ist auch verständlich, aber mit einem "100% sauberen" DNS nicht vereinbar.

Beispielconfig:

Ich fahre OpenVPN mit 3 Netzen. Jedes dieser Netze hat einen eigenen Domänennamen. Ich erreiche die drei Boxen unter "fritz.wen", "fritz.domain2" und "fritz.domain3".

Zusätzlich kann ich im jeweiligen Netz immer mit "fritz.box" auf die lokale Fritzbox zugreifen. Das läuft dann über die hosts-Datei.
Zum Verständnis:
Code:
nslookup fritz.box
Server:     fritz.wen
Address:    192.168.201.1

Name:       fritz.box
Address:    192.168.201.1
Die Auflösung von fritz.domain läuft übrigens auch über die /etc hosts.
Allerdings haben in der /etc/ethers dann keine Punkte was zu suchen. Das sind ja die Namen, an die der DNS Server die Domäne anhängt.
Ich habe meine /etc/ethers noch nie bearbeitet.

Mir ist auch klar, dass meine Konfig nicht 100% im Sinne von DNS ist, aber praktikabel.
Alle Klarheiten beseitigt? ;)

wengi

EDIT: Übrigens funktioniert ein nslookup auf der Box selbst (per ssh) nicht sauber. Ich habe noch nicht rausbekommen welchen Server man dann geschickterweise angibt...
 
Zuletzt bearbeitet:
Das Problem ist, daß Die Datei /etc/ethers nichts mit DNS zu tun hat, sondern hier Informationen für den DHCP Server bereitstellt, der auch in dnsmasq integriert ist. Es gibt keinen sachlichen Grund, warum in der /etc/ethers keine Namen mit Punkten sein dürfen, außer, daß dnsmasq techisch anscheinend nicht in der Lage ist, die Namen aufzulösen.
Oder vielleicht ist es auch nur eine Fehlkonfiguration und es gäbe eine Lösung dafür. So genau kenne ich den dnsmasq nicht, und Optionen hat er ja massenhaft.
 
Ich danke euch für die ausführlichen Antworten :)
RalfFriedl schrieb:
Es gibt keinen sachlichen Grund, warum in der /etc/ethers keine Namen mit Punkten sein dürfen, außer, daß dnsmasq techisch anscheinend nicht in der Lage ist, die Namen aufzulösen.
Dem kann ich mich eigentlich nur anschließen, zumal es ja vor 2.40 ging. Der Fehler kommt auch schon beim Neustart von dnsmasq und dem Einlesen der Datei ethers. Und in hosts scheint der Punkt ja zulässig zu sein, denn dort kommt nicht die Meldung bad name at ... Es muss also gar kein Rechner nach so einem Namen mit Punkt fragen, schon die Box ohne Netzwerkverbindung bringt den Fehler. Vielleicht ist es nur ein Programmfehler in dnsmasq, das die ethers-Datei nicht richtig einliest.
 
Es gibt keinen sachlichen Grund, warum in der /etc/ethers keine Namen mit Punkten sein dürfen, außer, daß dnsmasq techisch anscheinend nicht in der Lage ist, die Namen aufzulösen.

Da hast Du _wieder_ vollkommen Recht :)

Allerdings frage ich mich, ob es Sinn macht eine solche Konfiguration für ein Subnet zu machen. Aber über Sinn und Unsinn lässt sich ja bekannterweise viel diskutieren.

dnsmasq hat ja die -s option, die dem DHCP Server den Namen der zuständigen Domäne mitteilt und dies auch an die Clients verteilt.

Die Startoptionen für die fritzbox bei mir (Domäne "wen") sieht z.B. so aus:
Code:
-s wen -S /domain2/192.168.202.1 -S /202.168.192.in-addr.arpa/192.168.202.1 -S /domain3/192.168.203.1 -S /203.168.192.in-addr.arpa/192.168.203.1

wengi

PS: Ich hatte auch mal versucht das Webinterface von dnsmasq für diese Optionen anzupassen, bin aber kläglich gescheitert :(
 
Zuletzt bearbeitet:
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.