dnsmasq löst nur Namen mit .endung auf

Gandalf2210

Commodore
Registriert
Mai 2010
Beiträge
4.298
Hallo
Ich habe bei mit im Netzwerk auf meinem raspberry pi dnsmasq aufgesetzt.
Der löst auch brav Namen auf, wenn diese die form irgendwas.endung haben.
Nur endung wird nicht aufgelöst, auch wenn es so in der hosts datei steht

192.168.0.1 routerdings.bums wird korrekt aufgelöst,
192.168.0.1 router aber nicht.

Eine Idee, woran das liegen könnte?
mfg Gandalf2210
 
Also '192.168.0.1 router' wäre eingetragen und ein Ping auf 'router' ergibt kein 192.168.0.1 ?
 
Wenn dnsmasq mit --dhcp-fqdn läuft, dann werden DNS-Einträge nur mit dem vollständigen Namen vorgenommen, inkl. Domain.
Schau dir mal die config von dnsmasq an und achte auf

local
domain
expand-hosts


Damit sollte dann je nach lokaler Domain "router" automatisch mit der Domain ergänzt werden, also zB "router.local.net".

Aus der conf.example:

# Add local-only domains here, queries in these domains are answered
# from /etc/hosts or DHCP only.
#local=/localnet/

# Set this (and domain: see below) if you want to have a domain
# automatically added to simple names in a hosts-file.
#expand-hosts

# Set the domain for dnsmasq. this is optional, but if it is set, it
# does the following things.
# 1) Allows DHCP hosts to have fully qualified domain names, as long
# as the domain part matches this setting.
# 2) Sets the "domain" DHCP option thereby potentially setting the
# domain of all systems configured by DHCP
# 3) Provides the domain part for "expand-hosts"
#domain=thekelleys.org.uk
Quelle
 
und was muss ich da jetzt konkret eintragen?
Ich will nur, dass man Namen ohne .endung vergeben kann.
DHCP habe ich dort nicht am laufen

wieso habe ich da überhaupt noch so eine local.net domain Endung?
warum ist router als alleinige domain nicht gültig?

in der resolv.conf steht auch noch

domain localdomain
seach localdomain
nameserver 127.0.0.1
nameserver 192.168.0.1

wobei ich bei den ersten beiden einträgen keine Ahnung hab, wozu die da sind
 
Zuletzt bearbeitet:
Ich kann es nur aus dem Gedächtnis wiedergeben, weil ich kein dnsmasq nutze und es auch zZt nicht testen kann.

local =/lan/
expand-hosts
domain=lan

Jetzt müsste dnsmasq bei einem DNS-Query "router" intern automatisch "router.lan" machen und lokal über die /etc/hosts auflösen. Nach der Änderung musst du natürlich dnsmasq neustarten.
 
wie kommt diese lan Domain denn zu stande?
existiert die bereits, oder wird die von meinem dnsmasq eingeführt?
und warum brauche ich so eine domian erweiterung?

erwähnenswert wäre noch, dass wenn ich router pinge, die Fehlermeldung erst nach 3 Sekunden kommt, irgendeine nicht vorhandene domain.endung aber direkt eine Fehlermeldung ausgibt.

der raspberry selbst kann den router mittels ping router anpingen, nur die anderen Rechner im LAN nicht.
Die mögen nur die Domains mit .endung
 
Zuletzt bearbeitet:
Die Domain wird von dnsmasq anhand der Config erstellt. Damit kannst du dann explizit unterscheiden zwischen öffentlichen und privaten Domains. Als Domain kannst du auch "gandalfsnetzwerk" nehmen und fortan ist der Router genau genommen unter "router.gandalfsnetzwerk" erreichbar. Durch die Information, dass alles in "gandalfsnetzwerk" lokal ist, wird dnsmasq die Anfrage auch nicht zum nächten DNS weiterreichen.

Probier es einfach aus. Ich kann wie gesagt nur aus dem Gedächtnis weiterhelfen. Notfalls nimmst du die Stichworte als Ausgangspunkt für Onkel google.
 
und in die hosts schreibe ich dann router.lan rein?

hat bei mir so leider nicht funktioniert.
local=/lan/
expand-hosts
domain=lan

egal, ob ich in die hosts router schreibe, oder router.lan, in beiden Fällen wird ping router nicht aufgelöst.
 
Ne, in der hosts bleibt "router". Das .lan ergänzt er intern automatisch.

Was kommt denn bei

nslookup router die.ip.von.dnsmasq
nslookup router.lan die.ip.von.dnsmasq

?
 
bei nslookup router 192.168.0.104 (mein DNS)
Name: router
Address: 192.168.0.1

bei nslookup router.lan 192.168.0.104
Name: router.lan
Address 192.168.0.1

wobei das Problem auch nur bei externen Rechnern auftritt.
Der raspberry selbst kann router auflösen.
 
Zuletzt bearbeitet:
Ich habe es jetzt mal 1:1 kopiert und an meine IPs angepasst.
ping router.mydomain.net klappt, ping router aber nicht.
Gefühlt ergänz der also trotz expand-hosts nicht richtig.

EDIT: jetzt wo ich das Problem kenne, kann ich da gezielt weiter suchen
expand-hosts hängt nur an Einträge aus der hosts datei was dran, also wenn ich router.lan anfrage, sucht er nach router in der hosts Datei, und fügt automatisch .lan an.
Was er NICHT macht, sind DNS anfragen zu modifizieren, also er macht NICHT aus router einer router.lan anfrage
Alle google ergebnisse dazu beziehen sich aber auf irgendwelche DDWRT router.

wenn ich an jeden Namen einen . anfüge funktioniert es.
Also ping router.
Ist zwar immer noch keine tolle Lösung, und ich versteh auch nicht, wieso es nicht ohne klappt, aber zur Not tut es das auch
 
Zuletzt bearbeitet:
Hm.. Ja, das kann sein. Ich kann's wie gesagt momentan nicht testen, weil ich kein dnsmasq nutze.


DD-WRT kommt daher, dass dnsmasq bei DD-WRT standardmässig installiert ist und es dafür entsprechend viele Tutorials gibt. Grundsätzlich unterscheidet sich das aber nicht von einer normalen dnsmasq-Installation auf einem Linux-Rechner.


Soweit ich weiß kannst du bei dnsmasq auch in der Config selbst Adressen hinterlegen. Statt "router" in der hosts-Datei zu hinterlegen, könntest du es also auch in der Config machen (glaub die Option heißt auch "address=")


Wenn alle Stricke reißen, gibt es auch noch andere DNS-Server. Beispielsweise bind. Evtl. klappt das mit denen besser.
 
Zurück
Oben