RMI mit Rechner und mehr als einer Netzwerkkarte

SotDNeo

Grünschnabel
Hallo,

ich habe ein Problem mit RMI Registry und einem System mit mehreren Netzwerkkarten.

Szenario:
Linux Suse 10.x mit Java 1.6 und laufender RMI Registry
Alles läuft gut mit Rechner die am Interface 1 (10.239.XXX.XXX) hängen.
Clients am Interface 2 (10.247.XXX.XXX) sehen die Registry, bekommen eine Antwort, aber kommen dann nicht weiter. Sinngemäß erhalten diese als Antwort: Angefragter Dienst ist mir bekannt und lauscht an 10.239.XXX.XXX:55555.
Das Problem ist, dass der Client an dem Interface 2 den Server unter dieser Adresse nicht erreichen kann, da dieser die Adresse 10.247.XXX.XXX hat. Wie kann ich das Problem umgehen? Kann ich dem Aufrufer nach dem LookUp des Dienstes manuell eine vorkonfigurierete IP mitgeben? Ich könnte dann auf dem Server noch ein mapping einführen, dass alle Ports des Interface 1 auf die des Interface 2 mapped, damit der Server auch auf 10.247.XXX.XXX lasucht. Ist so etwas möglich? Wenn nicht, was bleibt mir noch, um an die Dienste zu kommen?

Gruß
DaNeo
 
Hallo Thomas,

ich hatte das eine Tutorial bereits durchgesehen, das andere war mir neu, aber bei beiden muss ich sagen, dass ich nicht sagen kann, wir mir das weiterhelfen soll.

Wie bereits beschrieben, klappt das Ganze auf einem Interface. Ich habe auch gesehen, dass ich expizit sagen kan, mit welcher Netzwerkkarte (bzw. IP) sich ein Service bei der Registry melden kann, das war mir alles klar.

Was mir nicht klar ist, wie ein Service gleichzeitig über 2 Netzwerkkarten funktioniert.
Ich kann den Service ja immer nur mit einer IP an die Registry binden. Dann ist dieser Service aber aus dem anderen Netz nicht erreichbar.
Ich melde den Service "erzeugeBericht" mit der IP 10.239.22.202 an der Registry an. Die Registry lauscht auf Port 1099. Jetzt Spreche ich die Registry vom Client (10.247.5.55) mit lookup("erzeugeBericht","10.247.10.1:1099") an. Die Registry antwortet und teilt mir mit, dass der gesuchte Service auf 10.239.22.202 Port 55879 lauscht. Ich kann aber von diesem Client die 10.239.22.202 nicht erreichen.
Ich kann den Service nicht erneut auf dem Server starten und ihn mit einer anderen IP an die Registry melden.

Habe ich etwas in den Tutorials übersehen, was mir dabei hilft?

Gruß
Daniel
 
Zurück