Loopback....dnsmasq....etc.

Status
Für weitere Antworten geschlossen.

Moppel_thl

Benutzer
Mitglied seit
23. Sep 2011
Beiträge
153
Punkte für Reaktionen
4
Punkte
18
Hallo zusammen.
Ich habe ein paar Verständnisfragen zu „loopback“ bzw. „dnsmasq“.Eigentlich habe ich davon (noch) keine Ahnung, bin aber lernwillig :)

So, ich verbinde mein Iphone über einen Dyndns-Account mit meiner DS; und das sowohl von ausserhalb als auch über das eigene Wlan. Wenn ich das nun richtig verstanden habe, kann mein Router ( mit DD-WRT ) „loopback“. Richtig?

Heißt dies nun, dass der ganze Verkehr trotzdem über das Internet geht? Oder sagt mein Router: „Halt, Iphone. Da du eh auf ein Gerät innerhalb meines Netzes willst, kannste dir den Weg sparen und ich leite dich direkt an die 192.168.xxx.xxx um?

Ich wäre für ein paar klärende Worte sehr dankbar.

Gruss
Thomas
 

jan_gagel

Benutzer
Mitglied seit
05. Apr 2010
Beiträge
1.890
Punkte für Reaktionen
1
Punkte
0
Hallo,

also das Loopback sollte so funktionieren, daß der Router erkennt, daß eigentlich eine interne Adresse angesprochen wird und der Traffic so innen bleibt und nicht ins Internet geht. Das erkennt der Router dann anhand der IP-Adresse, denn es gibt öffentliche IPs und private IPs.

dnsmasq ist ein kleiner aber feiner DNS-Server. Das hat jetzt erstmal noch nichts mit dyndns zu tun, bzw. sorgt dyndns meist für Verwirrung. Ein DNS-Server ist nix anderes wie eine Art Telefonbuch. Meist gibt es (vereinfacht gesagt) eine Tabelle, in der IP-Adressen und PC-Namen gegenüber stehen.

Ersten Kontakt mit dnsmasq hatte ich übrigens auch auf einem DD-WRT-Router. Dort habe ich in der /etc/hosts alle meine lokalen PCs, Macs, iPhones und dergleichen eingetragen. Wird der dnsmasq-Router (nicht mein Internet-Router) als DNS-Server eingetragen, können die PCs dann darüber DNS-Anfragen für lokale Geräte abrufen. Wenn der dnsmasq-Router (den dnsmasq gibts auch für die DiskStation: SynoDNSmasq) dann auch noch einen DNS-Server im Internet kennt (und auch das Internet-Gateway eingetragen ist) kann er auch öffentliche Namen und IPs auflösen. Also braucht man nicht zwei Einträge, für intern und extern.

Ich würde eine saubere DNS-Namensauflösung einer Loopback-Funktion vorziehen. Denn da kann ich zumindest selbst bestimmen und auch nachweisen, wo welche Anfrage hin geht. Ach so, ich hab den dyndns-Namen als Alias hinter der lokalen IP meiner DiskStation (im dnsmasq) eingetragen. Also liefert die Anfrage auf meine dyndns-Adresse die lokale IP zurück und nicht die öffentliche IP.

Was jetzt noch hinzu kommt bei der Namensauflösung. Es gibt bei Windows neben der DNS-Namensauflösung (wie sie bei allen anderen Betriebssystemen angewendet wird) auch noch eine andere Möglichkeit. Diese Netbios-Würfelei und Schreierei (funktioniert mittels Broadcast-Benachrichtigungen auf Netzwerkebene) hat durchaus ihr Eigenleben. Manchmal funktioniert sie, manchmal nicht. Manchmal wird zur DNS-Namensauflösung gegriffen, manchmal funktioniert die Netbios-Namensauflösung. Gerade weil dieses Netbios-System ziemlich Fehleranfällig ist, dann auch nicht über Router-Grenzen hinweg funktioniert (Stichwort Subnetze) und auch weil ich nur noch ein Windows-System in Verwendung habe, hab ich mich für die DNS-Namensauflösung via dnsmasq entschieden.

Ciao Jan
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Ich würde auch im LAN einem sogn Split-DNS den Vorzug geben und Zugriffe innerhalb des LAN auf den dyndns Namen via DNS auf die LAN IP der DS umbiegen. Dann muss man sich schonmal nicht mit dem Loopback des Routers auseinandersetzen. Habe schon ganz komische Sachen gesehen mit dem Loopback resp der NAT-Reflection, auch bei "besseren" Firewalls als einem einfachen Homerouter
 

JudgeDredd

Benutzer
Mitglied seit
12. Nov 2009
Beiträge
1.071
Punkte für Reaktionen
10
Punkte
64
Hallo,

ich nutze mal die Gelegenheit und hänge mich mal mit einer Frage rein :)
Auf meiner DS läuft zur Zeit DNSmasq zur Auflösung meiner internen IP Geräte. Soweit sogut.

Nun ist es aber so, das z.B. mein mobiles Endgerät mit der Audiostation-App über meine DynDNS Adresse eingerichtet ist. Bedeutet also, sobald ich ins WLAN verbinde, würde die loopback Funktion meines Routers greifen, da ich die DynDNS Adresse (noch) nicht im DNSmasq konfiguriert habe.
Da aber die IP-Pakete beim loopback durch die Firewall und das NAT des Routers müssen, wäre mir ein "umgehen" des loopback lieber.
Jetzt kommt der kleine Haken an der Sache. Im NAT habe ich Portweiterleitungen definiert (also der externe Port der Audiostation <> interner Port der Audiostation).

Kann mir jemand einen Tip geben, wie ich in der Konfiguration es hinbekomme, das eine Anfrage an meine "externeAdresse:externerPort" an "interneAdresse:internerPort" geroutet wird ?
Bisher habe ich in der DNSmasq-Konfig "addn-hosts=meineHostListe.txt" eingetragen über die ich meine IP-Geräte auflöse. Allerdings ohne Angabe von Ports.

Gruß,
Andreas
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
wenn der innere und der äussere Port unterschiedlich sind wird es schwierig via DNS. Denn dem DNS sind Ports egal. Das bleiben imho nur 3 Optionen: 1. via loopback und damit durch NAT und Firewall 2. die Anwendung direkt auf dem korrekten internen Port ansprechen oder 3. auf der DS selber mittels NAT-Regeln den äusseren Port auf den internen mappen. Bei 3. könnte der Client auf den äusseren Port ohne Loopback zugreifen und das NAT der DS würde das Portmapping (wie der Router) machen
 

Moppel_thl

Benutzer
Mitglied seit
23. Sep 2011
Beiträge
153
Punkte für Reaktionen
4
Punkte
18
Okay, besten Dank für die Antworten. Dann werde ich mich einmal mit dem Paket "SynoDNSmasq" beschäftigen.

Sehe ich es denn richtig, dass
1. das Paket SynoDNSmasq auf der DS installiert & konfiguriert wird
2. SynoDNSmasq nur für das "Umbiegen" der dyndns-Adresse auf die interne Adresse zuständig ist
3. alle anderen Anfragen im internen Netz weiterhin über den Router laufen, bzw. der darin eingetragene DNS-Server meines ISP für "Internet-Anfragen" zuständig ist.

Muss ich eigentlich zwingend das Paket "SynoDNSmasq" auf der DS laufen haben, oder würden auch ein paar Einträge im Router selber ausreichend sein?

Gruss
Thomas
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
2. nein der DNS muss für alles zuständig sein weil wenn 3. die Anfragen via Router laufen dann gehst du via loopback. Der DNS auf der DS muss der default DNS für alle Clients im LAN sein (zumindest für jene Clients, die die DS intern via dyndns Namen ansprechen sollen)
 

JudgeDredd

Benutzer
Mitglied seit
12. Nov 2009
Beiträge
1.071
Punkte für Reaktionen
10
Punkte
64
@jahlives
vielen Dank für Deine Antwort, auch wenn sie mir so gar nicht gefällt :rolleyes:. Leider habe ich schon befürchtet, das mein Vorhaben nicht so einfach umzusetzen ist.
Punkt 1 bedeutet wieder viel Hirnschmalz in die Firewall-Objekte und -Regeln zu stecken und Punkt 2 ist meine aktuelle Vorgehensweise.
Bei Punkt 3 würde das für die DS Ports ja funktionieren, aber (leider) habe ich noch diverse andere IP-Geräte mit WebGUI auf denen sich der Port nicht anpassen lässt und somit eine Weiterleitung im Router notwendig wird um auch extern Zugriff zu bekommen.

Hat jemand vielleicht eine Router Empfehlung mit objektorientierter Firewall/DNS-Server/NTP-Server ?

Gruß,
Andreas
 

jan_gagel

Benutzer
Mitglied seit
05. Apr 2010
Beiträge
1.890
Punkte für Reaktionen
1
Punkte
0
Hallo nochmal,

also der dnsmasq (egal wo er läuft) ist vergleichbar mit einem richtigen DNS-Server. Findet er in seiner Liste eine IP oder einen Namen nicht, fragt er seinen nächsten bekannten DNS-Server (bezieht die Daten aus den Betriebssystem-Einstellungen für DNS / Gateway). Leider kann man nicht wählen zwischen internen und externen DNS-Servern, denn jeder Client geht davon aus, daß die ihm bekannten DNS-Server identisch sind und identische Antworten liefern. Also landen am DNSmasq alle Anfragen, sobald er in den DNS-Einstellungen am Client eingetragen ist. Auch Internet-Adressen werden dann über den DNSmasq aufgelöst. Das ist auch eine ziemlich elegante Angelegenheit, denn wann immer man eine Seite sperren möchte, trägt man einfach den Namen in die Tabelle mit ein. So sperre ich z. B. lästige ADS-Geschichten. Ich leite das einfach auf meine DS mit aktiviertem Webserver um, was dann einen 404er zurück gibt.

Das Auflösen vom dyndns-Namen als interne IP ist eine Alias-Funktion. Sieht bei mir so aus:

192.168.xxx.xxx (Tabulator) diskstation-name-intern (Tabulator) Alias-Name/dyndns-Name

Ist dies so im dnsmasq eingetragen, der dnsmasq-Server (hier wohl die DiskStation) in den DNS-Einstellungen am PC eingetragen, kann man mittels "nslookup dyndns-name" dann eine Abfrage starten und sieht ob hier entweder die öffentliche IP oder die interne IP zurück geliefert wird. Ggf. muß der dnsmasq neu gestartet werden, wenn man Änderungen vornimmt.

Eine saubere DNS-Namensauflösung ist eigentlich überhaupt nicht so schwer, besonders mit dem DNSmasq, welcher sich ja über eine einzige Konfigurations-Datei administrieren läßt. Da ist das ganze Loopback-Gefrickel ziemlich unübersichtlich und funktioniert nur vielleicht irgendwie.

Der DNSmasq hat auch noch weitere Möglichkeiten, bietet DHCP-Funktionalität und kann IPs an bestimmte Geräte (MAC-Adresse) binden bzw. reservieren. Geräte, die sich eine dynamische IP holen, werden automatisch mit ihrem Hostnamen in die DNS-Tabelle eingetragen und sind folglich auch auflösbar, ganz automatisch.

Ciao Jan

P. S.: Der SynoDNSmasq könnte den Ruhezustand der DS / den Platten verhindern. Ist die DS aus, funktioniert natürlich dann auch kein Internet mehr, wenn die DS als DNS-Server eingetragen ist.
 

Puppetmaster

Benutzer
Sehr erfahren
Mitglied seit
03. Feb 2012
Beiträge
18.991
Punkte für Reaktionen
629
Punkte
484
Guten Morgen!

Kurze Frage:
es gibt ja den von Synology als Paket angebotenen DNS-Server. Inwieweit ist der vergleichbar mit DNSmasq? Bzw. was sind Vor- und Nachteile?
Hat da jemand Erfahrung mit?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
@judge
viel mehr als eine NAT Regel an der DS ist das eigentlich ned ;-) für den Punkt 2
Code:
iptables -t nat -I PREROUTING -p tcp --dport XXXX -j DNAT --to 127.0.0.1:YYYY
übersetzt den "externen" TCP Port XXXX auf den localhost und Port YYYY
 

Moppel_thl

Benutzer
Mitglied seit
23. Sep 2011
Beiträge
153
Punkte für Reaktionen
4
Punkte
18
Hallo nochmal,


Das Auflösen vom dyndns-Namen als interne IP ist eine Alias-Funktion. Sieht bei mir so aus:

192.168.xxx.xxx (Tabulator) diskstation-name-intern (Tabulator) Alias-Name/dyndns-Name

Hallo.

Würde man dies dann auch so im DD-WRT Router eintragen können, anstelle das dnsmasq-Paket der DS zu nehmen? Denn in meinem kleinen Netz ist das m.M. nach ein bisschen überdimensioniert, wenn die DS das übernähme.

P. S.: Der SynoDNSmasq könnte den Ruhezustand der DS / den Platten verhindern. Ist die DS aus, funktioniert natürlich dann auch kein Internet mehr, wenn die DS als DNS-Server eingetragen ist.

Yep. Auch schon alleine aus diesen Gründen.

Gruss
Thomas
 

jan_gagel

Benutzer
Mitglied seit
05. Apr 2010
Beiträge
1.890
Punkte für Reaktionen
1
Punkte
0
Guten Morgen!

Kurze Frage:
es gibt ja den von Synology als Paket angebotenen DNS-Server. Inwieweit ist der vergleichbar mit DNSmasq? Bzw. was sind Vor- und Nachteile?
Hat da jemand Erfahrung mit?

Also vom Prinzip her ist der DNSmasq ein "kleiner" DNS-Server, der einfach zu konfigurieren ist, auch einen DHCP-Server mitbringt. Aber er kann nur eine Zone verwalten (also mehrere DNS-Domains).

Der DNS-Server von Synology setzt, wie ich das sehe, den "named" ein, also einen ausgewachsenen DNS-Server. Er kann Zonen verwalten und bietet vielleicht noch andere Vorteile. Für mich hat das Dingens aber einen gewaltigen Nachteil, denn es ist nicht so einfach zu konfigurieren. Ich sichere mir meine DNSmasq-Konfig und die /etc/hosts einfach mal weg und gut is.

Da der DNSmasq auch auf Routern läuft, verbraucht er wohl auch weniger Ressourcen als der DNS-Server von Synology. Insgeheim hatte ich damals gehofft, sie würden den DNSmasq nehmen.


Würde man dies dann auch so im DD-WRT Router eintragen können, anstelle das dnsmasq-Paket der DS zu nehmen? Denn in meinem kleinen Netz ist das m.M. nach ein bisschen überdimensioniert, wenn die DS das übernähme.

Wenn auf dem Router auch der DNSmasq läuft, würde das auch so gehen. Ich habe bei mir eine "alte" Fonera rumliegen, auf der DD-WRT läuft. Das ist jetzt kein Router im klassichen Sinne, denn die hängt einfach als Client im Netz, übernimmt aber den Part des 1. DNS-Servers und VPN-Server. Mehr nicht, könnte mir vorstellen, daß dadurch das DNS-Responding da schneller läuft. Auf meiner DS212+ läuft auch der DNSmasq, hier als 2. DNS-Server (falls die Fonera mal abstürzt) und die DS macht auch DHCP.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
named ist bind und damit der mit Abstand am häufigsten eingesetzte DNS-Server :) bind kommt vom isc und die haben auch den (wohl auch am meisten verbreiteten) dhcp Server. isc-bind und isc-dhcp arbeiten sehr gut zusammen, falls man dynamische Updates der Zonen haben will, sobald ein Client eine IP vom dhcp erhalten hat.
Der bind ist etwas komplexer zum Einrichten, aber man gewöhnt sich schnell daran :) Die Möglichkeiten von bind lassen dnsmasq sehr alt ausschauen
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat