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!
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.
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
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“.
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.
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.
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.
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.
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.
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.
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.
>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
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.
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).
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.
>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
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.
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.