"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Bestimmten Server/Dienst in geschlossenem Netzwerk automatisch finden

XeroXs 04.08.2015 - 12:19 4937 44
Posts

XeroXs

doh
Avatar
Registered: Nov 2000
Location: Lieboch
Posts: 10304
Grüß euch

Ich bin auf der Suche nach einer Möglichkeit ein Stück Software automatisch zu Konfigurieren in einem Netzwerk... mir fehlts da aber an Basiswissen was da überhaupt so möglich ist.. deshalb hier meine Frage.

Konkret gehts um ein Stück Software dass in einem geschlossenen Netzwerk lauft. Dieses Stück Software soll einmal kompiliert und dann ausgeliefert werden, und in verschiedenen Netzwerken dann zusammen mit einer Serverkomponente laufen.

Das Problem ist nun - wie wird die Serverkomponente gefunden? Üblicherweise bekommt der Server einen Namen wie serverkomponente.unseredomain.at. Der aktuelle Zugang war es entweder die Clients nachträglich auf diesen Namen zu konfigurieren (blöd bei vielen Clients), oder doch die Clients vorzukonfigurieren. Das heißt aber für jeden Kunden eigene Pakete usw... blöd.

Mir fallen ein paar Möglichkeiten ein, die mir aber allesamt nicht sonderlich gut gefallen. Wie würdet ihr hier richtig vorgehen? Clients sind übrigens mobile Applikationen.. sofern das wichtig ist.

spunz

Super Moderator
Super Moderator
Avatar
Registered: Aug 2000
Location: achse des bösen
Posts: 11120
Da gibt es verschiedene Möglichkeiten, am einfachsten wäre wohl beim Kunden jeweils in den notwendigen Zonen die "serverkomponente" als Alias anzulegen. Sofern es keine WinCE 4.x Clients sind, findet da jedes OS den Weg zum gewünschten Host.

ZARO

Here to stay
Avatar
Registered: May 2002
Location: Wien 22
Posts: 954
Nur Hostnamen benutzen, der lokal konfigurierter DNS suffix wird dann für DNS abfrage benutzt und du landest beim richtigem Server.
Setzt natürlich ein paar naming rules voraus.

XeroXs

doh
Avatar
Registered: Nov 2000
Location: Lieboch
Posts: 10304
Okay.. ich merke schon ich hab da ein paar wichtige Informationen vergessen.

Zwei Dinge die noch wichtig sind:

- Es kann mehrere Server in einem Netzwerk geben.. da müsste der Benutzer dann den richtigen wählen können. Damit kann ich leider kein fixes Alias vergeben. Einfach durchzählen geht leider auch nicht, dann weiß der User nämlich nicht welcher seiner ist.. :/

- Der Zugriff auf die Netzwerkinfrastruktur ist nur sehr eingeschränkt möglich.

Mein Zugang wäre folgender momentan:
- Clients haben eine Liste an möglichen Namen hinterlegt (unter anderem einen generischen/ein Alias wie von spunz empfohlen)
- Clients scannen beim ersten Start die Liste durch. Werden mehrere erkannt kann der User wählen

Aber hier ist definitiv noch Optimierung möglich.. Ich dachte an einen Mechanismus ähnlich dem Discovern einer NetzwerkKamera bei der man die IP nicht kennt sie aber trotzdem findet.. weiß leider nicht genau wie das genau funktioniert...

Redphex

Legend
RabbitOfNegativeEuphoria
Avatar
Registered: Mar 2000
Location: Kadaverstern
Posts: 11812
Ich würd sagen üblicherweise rennen solche discovery-gschichtn über broadcasts.

der client schickt einen bc, wenn sich ein server angesprochen fühlt, schickt er auch einen mit seinen Infos (IP, Name, wwi), der client zeigts dann an.

//edit
haken is halt, dass das aufs subnet begrenzt ist.
Bearbeitet von Redphex am 04.08.2015, 13:03

Denne

Here to stay
Avatar
Registered: Jan 2005
Location: Germany
Posts: 2801
Würde wohl den Ansatz von Redphex nutzen.
Beim ersten Start der Programms sendet der Client eine Broadcast-Nachricht und merkt sich die IP-Adressen von den Servern, die antworten (falls diese fixe IP-Adressen haben), damit bei den nächsten Starts er direkt die in Frage kommenden Server ansprechen kann.

XeroXs

doh
Avatar
Registered: Nov 2000
Location: Lieboch
Posts: 10304
Das klingt sehr gut. Werd mal bissl suchen wie man das so (richtig) macht... oder habts ihr paar Quellen zufällig?

..oh der /Edit von Redphex tut dann doch weh.. glaub das könnte ein Problem darstellen. das muss ich checken.

roscoe

tinkerer
Avatar
Registered: Mar 2005
Location: 1050 Wien
Posts: 685
Das ist meines Erachtens der Einsatzfall, für den service records erfunden wurden.

XeroXs

doh
Avatar
Registered: Nov 2000
Location: Lieboch
Posts: 10304
Seh ich das richtig, die werden am DNS eingetragen?

roscoe

tinkerer
Avatar
Registered: Mar 2005
Location: 1050 Wien
Posts: 685
Ja.

Ist die Basis davon, dass Du zB im Active Directory nicht wissen musst, welche Server bestimmte Dienste anbieten, Du kannst über geeignete Abfragen an den DNS herausfinden, welche das sind.

XeroXs

doh
Avatar
Registered: Nov 2000
Location: Lieboch
Posts: 10304
Ok.. möchte nicht sagen dass es deshalb durchfallt aber da wäre eine Lösung abseits der Infrastruktur durchaus wünschenswert.

Broadcasts kann man ja offenbar schon in andere (bestimmte) Subnetze schicken.

Der Server kennt ja das Subnetz der Clients - das ist kein Problem. Jetzt müsste halt der Server sehr häufig (alle paar Sekunden?) einen Broadcast verschicken den dann ein Client empfängt.. nicht ganz so schön. Anders herum wärs natürlich besser... aber das geht so nicht.
Bearbeitet von XeroXs am 04.08.2015, 14:26

roscoe

tinkerer
Avatar
Registered: Mar 2005
Location: 1050 Wien
Posts: 685
Was hältst Du von folgendem Ansatz:

* Dienstserver.kundendomain.tld wird in den Kunden DNS eingepflegt mit einem A/AAAA Record

"Dort" ist ein Dienst installiert, der die aktuelle Serverlandschaft für Deine Server kennt und diese der SW beim Start auf Anfrage mitteilt.

XeroXs

doh
Avatar
Registered: Nov 2000
Location: Lieboch
Posts: 10304
Sobald ich da was am DNS eintragen kann/muss ist die Lösung etwas einfacher.. aber genau das würde ich gerne vermeiden.

roscoe

tinkerer
Avatar
Registered: Mar 2005
Location: 1050 Wien
Posts: 685
"Geschlossenes" Netzwerk - interpretiere ich das richtig, dass die Geräte dort keinen Internetzugang haben?

XeroXs

doh
Avatar
Registered: Nov 2000
Location: Lieboch
Posts: 10304
Genau.
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz