frage zu dns servern

E

Ehemaliger Benutzer 6901

Gast
ich hab mir mit meinem gefährlichem halbwissen grad eben mal son paar gedanken zu der internetsperre gemacht. soweit ich das verstanden hab weiß mein browser wenn ich meinetwegen youtube.com eingebe ja noch nich wo er mich hinverbinden soll, weil in der informatik nunmal alles mit zahlen läuft. also fragt er bei dem dns server (im normalfall meines providers) nach der ip adresse von youtube.com und bekommt dann eben diese. (oder auch nicht, wenns gesperrt ist, bekommt er dann die von der stoppseite)

ist doch soweit grob richtig oder? :huh:

so nun kann ich ja einen ungefilterten dns server nehmen und der gibt mir dann die richtige adresse und leitet mich nicht zur stoppseite weiter. jetzt endlich die frage ^^: wenn ich einmal die ip habe weil ich zb über nen freien dns server auf youtube gekommen bin und die jetzt einfach in die adresszeile des brwosers eingebe (während ich wieder den dns server meines providers nehme) komm ich dann gleich auf youtube? weil eigentlich kennt mein browser die adresse ja jetzt - muss nicht mehr "nachfragen"
 
Grundsätzlich kann ein Client (dein Rechner, oder der DNS-Server deines Providers) das Ergebnis getätigter Anfragen an einen DNS-Server in einem Cache (Zwischenspeicher) speichern. Der DNS-Cache des Betriebssystems ist allerdings nicht all zu groß, so dass ältere Einträge irgendwann von neueren Einträgen überschrieben werden. Außerdem überlebt der Cache vermutlich einen Neustart des Rechners nicht. Weiterhin ist die TTL, die Lebensdauer, eines Eintrags im Cache zu berücksichtigen. Nach dem Ablauf der TTL muss der Name erneut von einem übergeordneten DNS-Server geholt oder aufgelöst werden.

Grundsätzlich halte ich dein Vorhaben, die wichtigen Adressen erst einmal von einem freien DNS-Server auflösen zu lassen und dann wieder den DNS-Server deines Providers zu verwenden, für dauerhaft wenig erfolgversprechend.
 
Die Frage hab ich anders verstanden. Isaac will wissen, ob man über die Angabe der IP direkt zum Server verbindet, ohne DNS, Cache und Co.

Imho klappt das, ist aber auch nur gefährliches Halbwissen meinerseits. *g*
 
Mit dem Server verbindet man dann schon. Aber ob man auch die Seite sieht, die man sehen möchte, ist nicht gesagt. Der Webserver entscheidet nämlich oft anhand des angefragten Domainnamens, welche Seite er anzeigen soll.

Wenn ich in meinen Firefox in die Adresszeile "www.google.de" eingebe, dann wandelt der Browser das in eine Anfrage an den Server um, die so anfängt:
Code:
GET / HTTP/1.1
Host: www.google.de

Anhand des Wertes hinter Host weiß der Server, welche Seite ich angezeigt haben möchte. Wenn ich einfach "74.125.39.99" in die Adresszeile eingebe, dann bekomme ich zwar auch die Google-Seite zu sehen, aber dies nur, weil die Server sowieso nur diese Seite ausliefern. Die Anfrage fängt dann nämlich so an:
Code:
GET / HTTP/1.1
Host: 74.125.39.99

Probieren wir das bei Spiegel-Online, dann funktioniert das nicht.
Code:
$ host www.spiegel.de
www.spiegel.de has address 195.71.11.67

Wenn ich aber die IP-Adresse von Spiegel einfach im Browser aufrufe, erhalte ich ein 403 - Forbidden. Hier lässt der Server keine Anfragen zu, die nicht "www.spiegel.de" als Host mitsenden.
 
Das andere Problem müsste sich unter Windows über einen Eintrag in der Datei 'hosts' lösen lassen. (Wenn ich das noch richtig entsinne)
 
Würde ich bei Seiten wie google oder youtube nicht empfehlen. Beide Seiten werden (wie viele andere derartig große Seiten) von mehreren unterschiedlichen Servern bereitgestellt. Dazu sind den Domains mehrere IP-Adressen zugewiesen (A-Records). Bei einer Anfrage an einen DNS-Server für diese Domain erhält der Client dann eine (unvollständige) Liste von IPs, die für die Domain eingetragen sind. Der Browser fragt dann eine dieser IPs (normalerweise die erste, weshalb die Reihenfolge variiert) an.
Code:
$ host www.google.de
www.google.de is an alias for www.google.com.
www.google.com is an alias for www.l.google.com.
www.l.google.com has address 74.125.39.99
www.l.google.com has address 74.125.39.103
www.l.google.com has address 74.125.39.147
www.l.google.com has address 74.125.39.104
www.l.google.com has address 74.125.39.106
www.l.google.com has address 74.125.39.105
$ host www.youtube.com
www.youtube.com is an alias for youtube.l.google.com.
youtube.l.google.com is an alias for youtube-ui.l.google.com.
youtube-ui.l.google.com has address 74.125.39.101
youtube-ui.l.google.com has address 74.125.39.139
youtube-ui.l.google.com has address 74.125.39.138
youtube-ui.l.google.com has address 74.125.39.100
youtube-ui.l.google.com has address 74.125.39.113
youtube-ui.l.google.com has address 74.125.39.102

Wenn man sich einfach eine dieser IP-Adressen rauspickt und in die /etc/hosts (bzw. unter Windows das Äquivalent dazu, IIRC c:\windows\system32\drivers\etc\hosts) schreibt, kann es passieren, dass der Server mit genau dieser IP einmal nicht erreichbar ist.

Wer sich Gedanken darüber macht, dass sein Provider möglicherweise DNS-Poisoning betreibt, der sollte sich einfach einen freien DNS-Server suchen. Das ist völlig legal.