staging.inyokaproject.org

Brauche etwas Denkhilfe (DNS Eintrag)

Status: Gelöst | Ubuntu-Version: Xubuntu 16.04 (Xenial Xerus)
Antworten |

PcDoc2000

Avatar von PcDoc2000

Anmeldungsdatum:
4. Februar 2010

Beiträge: 899

Hi,

Ich hab mir einen neuen Router gekauft, der mein aktuelles Modem/Router-Etwas ablösen soll. Bin froh, dass die Krücke endlich weg ist, auch wenn ich von der Fritzbox auch nicht grad begeistert bin, speziell was WLAN Signal angeht. Da ist das Teil von der Telekom (A1) deutlich besser!

Aber gut, geht nicht um das Modem bzw. den Router sondern um ein bereits gelöstes Problem. Ich würde die Hintergründe nur gerne besser verstehen. Ohne näher auf das Problem eingehen zu wollen (bei Bedarf gerne), würde mich der Dialog Netzwerkeinstellungen (nicht den Netzwerkverbindungen) interessieren.

Ich dachte immer die Netzwerkeinstellungen bei Xubuntu schreiben nur in /etc/hosts und hostname und bilden nur ein UI dafür. Wenn der Hostname über den Dialog geändert wird, werden die Änderungen auch in /etc/hostname gespeichert. Gibt man neue Alias an, werden diese auch in /etc/hosts gespeichert. So weit so gut, aber was macht das mittlere Tab und wo werden diese Einträge gespeichert? DNS Eintrag war bei mir aus irgendeinem Grund auf die IP vom Router fix eingetragen und hat "unsichtbar" den DNS Server, zugewiesen vom DHCP Server, "überschrieben". Bei ifconfig wurde der korrekte DNS Server angezeigt, hat aber nicht funktioniert. Sobald ich diesen Eintrag hier wieder auf 127.0.1.1 gesetzt hab ging auch wieder alles.

Ist das sowas wie ein übergeordneter DNS Eintrag? Was ist der Sinn davon und wofür wird er normal verwendet?

Wäre schön wenn einer der Netzwerkgurus seine Weiseheit teilen könnte um etwas Licht in mein Dunkel zu bringen!

Danke schon mal!

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

  • Ubuntu Desktops verwenden grundsätzlich einen lokalen DNS-Server als Cache. Es hängt von der Version ab, welches Programm hierfür verwendet wird, beispielsweise eine abgespeckte Version von dnsmasq, dnsmasq oder systemd-resolve. NetworkManager konfiguriert das automatisch.

  • Die DNS-Namensauflösung auf dem lokalen Rechner wird immer über die Datei /etc/resolv.conf konfiguriert; dies geschieht heutzutage immer über einen Manager für diese Datei; somit darf man an dieser Datei nichts direkt ändern oder man wird mit Störungen bei der DNS-Namensauflösung dafür bestraft.

  • Die DNS-Namensauflösung auf dem lokalen Rechner soll natürlich den eigenen DNS-Cache benutzen, somit muss in der Datei /etc/resolv.conf immer eine Zeile nameserver mit einer Adresse aus dem Bereich 127.0.0.0/8 angegeben werden und es darf auch nur einen einzigen Namensserver (den lokalen DNS-Cache) geben. (Sonst Straf', s.o.!)

  • Der lokale DNS-Server als DNS-Cache bezieht seine Weisheit von anderen DNS-Servern, die von ihm als forwarder befragt werden. Diese stehen nicht in der Datei /etc/resolv.conf, sondern im Systemlog oder können auch (jedenfalls bei 18.04) über

    systemd-resolve --status | grep Server -A3 

    ermittelt werden.

elektronenblitz63

Avatar von elektronenblitz63

Anmeldungsdatum:
16. Januar 2007

Beiträge: 29307

Hi,
unter 16.04 wird das nicht funktionieren, da systemd-resolve standardmäßig nicht aktiv ist (ab Buntu 17.xx)! Prüfe mittels:

1
nmcli dev show | grep DNS
  • wenn Du die /etc/resolv.conf manuell überschrieben hast, dann ist damit der erforderliche Symlink auf die /var/run/resolvconf/resolv.conf kaputt

  • prüfe und repariere bei Bedarf:

1
2
ls -l /etc/resolv.conf
sudo ln -s -f /var/run/resolvconf/resolv.conf /etc/resolv.conf

Bei korrekter Konfiguration wird dann über den lokalen DNS-Cache (dnsmasq_base) 127.0.1.1/53 aufgelöst. Test:

1
nslookup www.google.com

PcDoc2000

(Themenstarter)
Avatar von PcDoc2000

Anmeldungsdatum:
4. Februar 2010

Beiträge: 899

kB schrieb:

  • Ubuntu Desktops verwenden grundsätzlich einen lokalen DNS-Server als Cache. Es hängt von der Version ab, welches Programm hierfür verwendet wird, beispielsweise eine abgespeckte Version von dnsmasq, dnsmasq oder systemd-resolve. NetworkManager konfiguriert das automatisch.

  • Die DNS-Namensauflösung auf dem lokalen Rechner wird immer über die Datei /etc/resolv.conf konfiguriert; dies geschieht heutzutage immer über einen Manager für diese Datei; somit darf man an dieser Datei nichts direkt ändern oder man wird mit Störungen bei der DNS-Namensauflösung dafür bestraft.

  • Die DNS-Namensauflösung auf dem lokalen Rechner soll natürlich den eigenen DNS-Cache benutzen, somit muss in der Datei /etc/resolv.conf immer eine Zeile nameserver mit einer Adresse aus dem Bereich 127.0.0.0/8 angegeben werden und es darf auch nur einen einzigen Namensserver (den lokalen DNS-Cache) geben. (Sonst Straf', s.o.!)

  • Der lokale DNS-Server als DNS-Cache bezieht seine Weisheit von anderen DNS-Servern, die von ihm als forwarder befragt werden. Diese stehen nicht in der Datei /etc/resolv.conf, sondern im Systemlog oder können auch (jedenfalls bei 18.04) über

    systemd-resolve --status | grep Server -A3 

    ermittelt werden.

Ok, danke das hilft schon mal viel weiter! Mir war schon klar, dass Ubuntu da mit einem lokalen DNS-Server arbeitet als Cache, aber die Hintergründe haben mir etwas gefehlt (und tun das immer noch! 😉 )

Gehe ich recht in der Annahme, dass er sich dann mit dem primary/secondary DNS Server im Netzwerk abgleicht? Mit anderen Ubuntu Rechnern im Netzwerk kann er das ja eigentlich nicht, da 127.0.0.0. Nachdem du von forwarder gesproche hast, meinst du das geht über den lokalen DNS Server hinaus direkt zum DNS vom Provider zum Bsp?

@elektronenblitz63: Danke, aber wie gesagt besteht kein Problem mehr was gelöst werden muss, mir ging es ums Verständnis! Man will sich ja auch weiter bilden und grad mit Linux und Neztwerken hab ich noch nicht viel gemacht. Meine Netadmin Zeit mit Windows Netzwerken ist auch schon etwas her (10-15 Jahre...).

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

PcDoc2000 schrieb:

[…] Nachdem du von forwarder gesproche hast, meinst du das geht über den lokalen DNS Server hinaus direkt zum DNS vom Provider zum Bsp?

Das hängt davon ab, welche Information der DHCP-Server (also z.B. Dein Router (als Gerät)) an die Klienten verteilt. Es sind mindestens zwei Verfahren üblich und sinnvoll:

  1. Der Router in der Funktion als DHCP-Server im LAN kündigt sich selbst als DNS-Server an. Dann fragt der lokale DNS-Cache ihm unbekannte DNS-Namen beim Router-Gerät an, und dieses Router-Gerät fragt wiederum ihm unbekannte Namen bei den DNS-Servern an, die es vom Internet-Provider gelernt hat. Man hat dann effektiv einen zweistufigen DNS-Cache im LAN, wobei die gelernten DNS-Namen von einem Rechner auch allen anderen Rechnern im LAN ohne zusätzlichen Internet-Verkehr verfügbar sind.

  2. Der Router in der Funktion als DHCP-Server im LAN kündigt die vom Internet-Provider gelernten DNS-Server an. Dann fragt der lokale DNS-Cache ihm unbekannte DNS-Namen direkt bei den Servern im Internet an.

  3. Eine Variante von 2 hat man, wenn man im Router-Gerät anstelle der vom Provider vorgesehenen selbst andere DNS-Server einträgt.

PcDoc2000

(Themenstarter)
Avatar von PcDoc2000

Anmeldungsdatum:
4. Februar 2010

Beiträge: 899

  1. Ist klar und deckt sich mit meinem bisherigen Verständnis von dem Prozess. Wo bei ich immer dachte, dass es da einen generellen Abgleich gibt und nicht nur auf "Anfrage". Anfragen nur wenn nicht über die vorhandenen Infos abgedeckt.

  2. Wie würde das ablaufen in einem NAT-Netzwerk? Würde dann wirklich vom Router die externe DNS Server Adresse über DHCP kommuniziert und diese von jedem Client direkt angesprochen werden? Wäre das nicht unnötiger Traffic, wenn man jetzt von einem 1-Computer-Netzwerk absieht (wie es sicher in einigen/vielen Haushalten der Fall ist).

Gehen solche direkten Anfragen auch über Port 53 wie normale DNS Anfragen?

Danke nochmal für deine Antworten!

Bearbeitet von kB:

Formatierung der Aufzählung verbessert.

DJKUhpisse Team-Icon

Supporter, Wikiteam
Avatar von DJKUhpisse

Anmeldungsdatum:
18. Oktober 2016

Beiträge: 18245

Natürlich geht das über einen NAT, genau wie du auch 8.8.8.8 direkt als DNS nutzen kannst, ohne einen lokalen Server, egal ob auf dem Router oder Rechner.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9837

PcDoc2000 schrieb:

1. Ist klar und deckt sich mit meinem bisherigen Verständnis von dem Prozess. Wo bei ich immer dachte, dass es da einen generellen Abgleich gibt […]

Was meinst Du mit „generellen Abgleich“?

2. Wie würde das ablaufen in einem NAT-Netzwerk?

Ob Dein Router NAT macht oder nicht, ist für DHCP im lokalen LAN und die IP-Adressen für die DNS-Server unerheblich.

Würde dann wirklich vom Router die externe DNS Server Adresse über DHCP kommuniziert und diese von jedem Client direkt angesprochen werden? […]

Ja, in dem von mir beschrieben 2. Fall (und auch dem 3. Fall, der ja ein Spezialfall zu 2 ist) ist das so.

Gehen solche direkten Anfragen auch über Port 53 wie normale DNS Anfragen?

Port 53 ist für DNS reserviert und wird allgemein für alle DNS-Abfragen benutzt. „Direkte“ wie „indirekte“ Anfragen sind bei DNS gleichermaßen „normal“, da DNS inhärent rekursiv arbeitet. Das ist im Protokoll (RFC1035) so vorgesehen: https://www.ietf.org/rfc/rfc1035.txt

PcDoc2000

(Themenstarter)
Avatar von PcDoc2000

Anmeldungsdatum:
4. Februar 2010

Beiträge: 899

kB schrieb:

PcDoc2000 schrieb:

1. Ist klar und deckt sich mit meinem bisherigen Verständnis von dem Prozess. Wo bei ich immer dachte, dass es da einen generellen Abgleich gibt […]

Was meinst Du mit „generellen Abgleich“?

So hätte ich mir das vorgestellt: Client geht online und fragt mal beim DNS Server an, ob die local gecachten Informationen noch aktuell sind bzw. ob er was neues hat und bringt somit den localen Cache auf den aktuellen Stand. Ich bin nochmal in mich gegangen und bin mir recht sicher, das woran ich mich da erinnert habe war nur ein Firmen interner Standortabgleich der bei uns durchgeführt wurde.

Ja, in dem von mir beschrieben 2. Fall (und auch dem 3. Fall, der ja ein Spezialfall zu 2 ist) ist das so.

Gehen solche direkten Anfragen auch über Port 53 wie normale DNS Anfragen?

Port 53 ist für DNS reserviert und wird allgemein für alle DNS-Abfragen benutzt. „Direkte“ wie „indirekte“ Anfragen sind bei DNS gleichermaßen „normal“, da DNS inhärent rekursiv arbeitet. Das ist im Protokoll (RFC1035) so vorgesehen: https://www.ietf.org/rfc/rfc1035.txt

Danke! Das stopft eine kleine Wissenslücke! Muss mich wieder etwas eingehender mit dem Thema beschäftigen! ☺ Hier setzte ich mal auf gelöst!

Antworten |