Forum: PC-Programmierung Namensauflösung DIY


von Jens (Gast)


Lesenswert?

Hallo,

ich habe einen Rechner in einem Netzwerk mit/ohne DNS Server. Auf diesem 
Rechner läuft Linux.

Ich würde gerne realisieren, dass dieser Rechner im Netzwerk - egal ob 
mit oder ohne DNS Server und was auf diesem konfiguriert ist - dieser 
auf einen bestimmten Namen reagiert.

Wenn auf diesem Rechner beispielsweise ein Webserver installiert ist, 
soll dieser vom Netzwerk über die Url http://meinwebserver aufgerufen 
werden können.

Ich möchte keine Konfiguration am Netzwerk zu ändern, sondern höchstens 
an dem entsprechenden Rechner.

Ich weiß, dass es für Linux und Windows/Bonjour eine Lösunge mit Avahi 
und http://meinwebserver.local gibt.

Ist dort irgendeine Lösung möglich? Ich befürchte, dass wenn ich über 
einen Router gehe, dieser diese eigene Namensauflösung evtl. blockieren 
könnte.

Vielen dank schonmal!

von Guest (Gast)


Lesenswert?

Eintrag im hosts File erstellen.

C:\Windows\System32\drivers\etc

von Jens (Gast)


Lesenswert?

Ich möchte nur auf dem Server einen Eintrag machen, nicht auf jeden 
Clienten. Wenn ein neuer Rechner in das Netzwerk kommt, soll dieser - 
ohne irgendwelche paraetrierung - über http://meinwebserver diesen 
sofort finden können.

von Martin (Gast)


Lesenswert?

Hallo Jens.

Das wird so nicht gehen. Jeder Rechner (wenn DHCP genutzt wird) bekommt 
vom DHCP Server neben der IP auch den DNS Server mitgeteilt. Diesen 
fragt er nach der IP zu seinem aktuell benötigten Namen - wenn er lokal 
nicht verfügbar ist. Dort müsstest du also deine Webserver mit DNS X 
irgendwie registrieren - sonst wird das nichts.


Martin

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nun, genau deshalb hat Apple doch Bonjour eingeführt, damit man sowas
hinbekommt.  Heißt ja nicht umsonst „zeroconf“.

Ansonsten hängt es von deinem DHCP-Server ab, die Fritzboxen können
sowas auch.  Sie benutzen den vom DHCP-Client vorgegebenen Namen
(sofern eindeutig) und registrieren ihn in ihrem DNS dann als
„<name>.fritz.box“.

von Ruediger A. (Firma: keine) (rac)


Lesenswert?

Hallo Jens,

Du unterliegst einem sehr typischen Verständnisproblem, was DNS angeht. 
Es ist grundsätzlich nicht möglich, daß irgendein Knoten in einem 
Netzwerk "sich selber" einen auflösbaren DNS Namen zuteilt, erst recht 
nicht im Internet (sonst würde ich meinem PC sofort den Namen einer 
großen deutschen Bank geben, die Kundenanfragen an die Bank an mich 
umleiten, Passwörter abfischen und mich zur Ruhe setzen... ;-)) Die DNS 
Infrastruktur setzt darauf auf, daß weltweit repliziert jeder Name auf 
eine (verläßliche) IP Adresse abgebildet wird.

Es gibt proprietäre Lösungen wie dyndns, bei denen Du aber (in der Regel 
recht umfangreiche) Software auf dem Knoten installieren musst, die ihre 
Adresse dann an eine Website weiterleiten und damit lokal auflösen 
können (dann bist Du immer ein Knoten innerhalb einer Domäne, so wie 
http://xyz.dyndns.org). Allerdings haben solche Architekturen viele 
Nachteile (kostenüflichtig bzw. unzuverlässig in kostenlosen Varianten, 
setzen Online voraus, lange Umlaufzeiten etc pp).

Alternativ gibt es Infrastrukturen, die zwischen DHCP und lokalen 
Auflösungen arbitrieren können, also bei jeder Zuordnung einer 
dynamischen IP Adresse einen Namenseintrag im lokalen DNS updaten.

Dazu kommen so Dinge wie daß der Rechner (selbst wenn so etwas wie Du 
willst möglich wäre) ständig Online sein müsste, weil es von außen nicht 
möglich ist (und nicht wünschenswert wäre), einen Rechner über einen 
Router "zwangszuverbinden."

Dein Wunsch ist so alt wie die Computergeschichte - meine Kunden träumen 
immer wieder von wartungsfreien, selbsterkennenden und 
selbstkonfigurierenden Systemen, in denen der Endkunde (und damit der 
Support der Firmen, die die Systeme vertreiben) keinerlei 
Verwaltungsarbeit mehr hat. Das ist aber vielfach nicht mit der Realität 
vereinbar.

Ich hoffe, daß ich dein Anliegen nicht missverstanden habe.

von Jens (Gast)


Lesenswert?

Ich rede nur von einem lokalen Netzwerk, mit wenigen Rechnern.

Beispielsweise nehme ich einen simplen Switch und verbinde diesen mit 
drei Rechnern. Jetzt gibt Rechner A im Browser http://meinwebserver ein.

Was sendet Rechner A dann raus, wenn ihm die Namensaufllösung unbekannt 
ist? Und kann Rechner B, wo der Webserver ist, auf diese Anfrage 
reagieren - und somit Rechner A mitteilen, dass er "meinseberver" ist?

Aber so wie du es ausgedrückt hast, soll das nicht möglich sein.

von Tr (Gast)


Lesenswert?

Schau mal ob du in deinem Router einen DNS oder Host Eintrag anlegen 
kannst. Bei den üblichen Heimroutern wäre das die richtige Stelle, nicht 
der Server.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Jens schrieb:
> Was sendet Rechner A dann raus, wenn ihm die Namensaufllösung unbekannt
> ist?

Sein Resolver fragt den DNS-Server nach dem Namen.  Dazu hängt
er der Reihe nach die Domain-Suffixe an, die ihm als Suchreihenfolge
konfiguriert worden sind und fragt, ob der entsprechende Name
auflösbar ist.

Bei der Fritzbox funktioniert das dann dadurch problemlos, weil sie
(in ihrer Eigenschaft als DHCP-Server) jedem DHCP-Clienten den
Suffix „fritz.box“ als Suchreihenfolge mit aufdrängt.  Wenn sich
dein Server nun im DHCP-Request bei der Box mit „meinwebserver“ als
sein lokaler Hostname meldet und dieser im DNS-Server der Box noch
zu haben ist, so registriert sie die per DHCP gerade ausgeteilte
IP-Adresse in ihrem eigenen DNS auf „meinwebserver.fritz.box“.

Kommt danach ein Client, dann hängt dieser bei der Suche nach
„meinwebserver“ den vom DHCP-Server vorgegebenen Suffix „.fritz.box“
an, sucht den Namen, und bekommt die vom DHCP-Server dafür als letztes
vergebene IP-Adresse zurück.

Bonjour funktioniert ein bisschen anders (da es keine dedizierten
Server gibt), aber das Prinzip ist durchaus ähnlich.

von Daniel A. (daniel-a)


Lesenswert?

Es stimmt, das Windows und Apple sich propertitären mist für die lokale 
Namensauflösung ausgedacht haben. Dessen verfahren funktionieren nur 
innerhalb des selben subnets, da dessen zweck die bekanntmachung von 
sevices im eigenen netzwerk, aka. dem momentanen subnet. Die 
bekanntmachung erfolgt mittels multicast, und multicast packete werden 
eigentlich nie von einem router, firewall, etc. in andere Subnetze 
geroutet. Solange alle rechner im gleichen Netzwerk stehen, und den 
gleichen service nutzen. Windows domänen auf dem Android oder iPhone 
kann man vergessen, Bonjour und mDNS ist auf windows nicht direcht 
unterstützt.

Wiso willst du keinen DNS+DHCP Server nutzen? Jedes netzwerkfähige Gerät 
unterstützt DNS vollständig (abgesehen von search domains auf Windows). 
Die meissten router haben bereits einen DNS+DHCP Server integriert und 
unterstützen das automatische hinzufügen des DHCP Client identifiers zur 
DNS, womit man dann ohne weitere Konfiguration von jedem Gerät im 
gleichen Netzwerk über dessen hostnamen auf dieses zugreifen kann. Die 
einzige voraussetzung ist, dass die Rechner DHCP verwenden, und der DNS 
Server auf den Router gesetzt wird, was bei heutigen Routern eigentlich 
standartmassig gemacht wird.

von Jan L. (ranzcopter)


Lesenswert?

Jens schrieb:
> Was sendet Rechner A dann raus, wenn ihm die Namensaufllösung unbekannt

bei IP: eine DNS-Anfrage an seinen konfigurierten Nameserver; der ist 
entweder statisch, oder dynamisch zugewiesen (DHCP).
Vorher guckt er per Default noch in seiner 'hosts'-Datei nach.

> ist? Und kann Rechner B, wo der Webserver ist, auf diese Anfrage
> reagieren - und somit Rechner A mitteilen, dass er "meinseberver" ist?

Ja - z.B. wenn B den DNS für A bereitstellt, und B für A die 
entsprechenden Zonendaten besitzt.

von Daniel A. (daniel-a)


Lesenswert?

Jens schrieb:
> Beispielsweise nehme ich einen simplen Switch und verbinde diesen mit
> drei Rechnern. Jetzt gibt Rechner A im Browser http://meinwebserver ein.

Ein switch hat keinen DHCP oder DNS server. Dann kann man auf dem Server 
einen DHCP und DNS Server laufen lassen, der den anderen Rechenern eine 
IP gibt und dns auflösung für die Serveradresse macht.

von jbi (Gast)


Lesenswert?

>Wiso willst du keinen DNS+DHCP Server nutzen?

Er will nichts auf den Clients konfigurieren, vergisst aber das auch 
eine feste IP eingetragen sein könnte - dann ist nix mit DHCP und so...

Gruß J

von Daniel A. (daniel-a)


Lesenswert?

jbi schrieb:
>>Wiso willst du keinen DNS+DHCP Server nutzen?
>
> Er will nichts auf den Clients konfigurieren, vergisst aber das auch
> eine feste IP eingetragen sein könnte - dann ist nix mit DHCP und so...
>
> Gruß J

In dem fall wäre aber entweder der Client falsch konfiguriert, oder er 
hat keinen ausreichenden Zugriff auf das Netzwerk. In dem fall ist es 
natürlich einfach nicht möglich.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Daniel A. schrieb:
> Dessen verfahren funktionieren nur innerhalb des selben subnets, da
> dessen zweck die bekanntmachung von sevices im eigenen netzwerk, aka.
> dem momentanen subnet. Die bekanntmachung erfolgt mittels multicast, und
> multicast packete werden eigentlich nie von einem router, firewall, etc.
> in andere Subnetze geroutet.

Der Sinn von Multicast war und ist es schon, dass die Pakete
auch geroutet werden können.  Natürlich muss man das dem Router
auch konfigurieren, dass er das darf.

Der ursprüngliche Namensdienst von Windows dagegen basierte auf
Broadcasts, die nicht geroutet werden und bei einem hinreichend
großen Netz verdammt viel Traffic durch die Gegend posaunen.  Da
ist Multicast ein richtiger Fortschritt dagegen.

Apples Protokoll ist übrigens nicht proprietär (im Gegensatz zu
vielen Dingen, die Apple sonst macht).

von Daniel A. (daniel-a)


Lesenswert?

Jörg W. schrieb:
> Der Sinn von Multicast war und ist es schon, dass die Pakete
> auch geroutet werden können.  Natürlich muss man das dem Router
> auch konfigurieren, dass er das darf.

Ja, ich weiss, deshalb sage ich ja auch eigentlich. Ich habe bisher 
noch bei keinem Router und/oder Firewall herausgefunden, wie man 
Multicast traffic zwischen Subnetzen routen kann.

von jbi (Gast)


Lesenswert?

>In dem fall wäre aber entweder der Client falsch konfiguriert, oder er
>hat keinen ausreichenden Zugriff auf das Netzwerk. In dem fall ist es
>natürlich einfach nicht möglich.

Ja darauf wollte ich ja hinaus, solange man nicht sicher stellen kann 
das auch dhcp am client voreingestellt ist - brauch man sich doch gar 
nicht weiter bemühen. Gruß J

von Matthias Q. (zaphod_beeblebrox)


Lesenswert?

Geanu dafür gibt es doch DNS...?

Stell dir das ganze mal wie ne Landkarte vor.

Ich wohne in in Hamburg, du in München. Wenn du jetzt nach Hamburg 
willst gibt es zwei möglichkeiten:
- Du weißt wo Hamburg ist (aus einem Eintrag in deiner /etc/hosts) oder
- du weißt es nicht und musst jemanden Fragen.

Im letzteren Fall fragt du immer an der Araltankstelle nebenan weil 
die Frau hinterm Tresen entweder in Geographie gut aufgepasst hat oder 
schon mit jedem Trucker der Welt in der Kiste war... Jedenfalls weiß sie 
von so ziemlich jedem Ort in Deutschland wo er ist. Wenn sie es nicht 
weiß, weiß sie aber wiederum, wen sie fragen muss (bei DNS genauso).

DNS ist in wirklich jedem Betriebssystem/IP-fähigen Gerät implementiert, 
dass ich kenne. Entweder DHCP & DNS-Host eintragen lassen oder feste IP 
und DNS-Host eintragen oder feste IP und /etc/hosts aktuell halten. 
Andere sinnvolle Kombinationen gibts eigentlich nicht.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Daniel A. schrieb:

> Ja, ich weiss, deshalb sage ich ja auch eigentlich. Ich habe bisher
> noch bei keinem Router und/oder Firewall herausgefunden, wie man
> Multicast traffic zwischen Subnetzen routen kann.

http://www.cisco.com/c/en/us/td/docs/ios/12_2/ip/configuration/guide/fipr_c/1cfmulti.html

von Jim M. (turboj)


Lesenswert?

jbi schrieb:
>>Wiso willst du keinen DNS+DHCP Server nutzen?
>
> Er will nichts auf den Clients konfigurieren, vergisst aber das auch
> eine feste IP eingetragen sein könnte - dann ist nix mit DHCP und so...

Das kommt in der Praxis nicht mehr vor. Alle Heimrouter haben DHCP 
Server eingebaut. Alle Betriebssysteme für Enduser haben DHCP fürs 
Netzwerk per default an.

Wer manuell eine IP Addresse konfigurieren kann, der kann auch leicht 
wieder auf DHCP umstellen.

Wenn der Geiz-ist-Geil Plasterouter keinen konfigurierbaren DHCP Server 
mitbringt, muss man sich halt eine Fritzbox oder was noch besseres 
hinstellen.

Übrigens geht auch ein abgehalfterer PC mit Linux (z.B. Fli4l) oder 
ähnlichen Router Betriebssystemen. Der hat aber einen mir unsympatischen 
Strombedarf.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.