frydyada Geschrieben 30. Juli 2009 Geschrieben 30. Juli 2009 Hallo an alle, ich brauche bitte Hilfe bezüglich NAT. Ich habe in JAVA einen Instant Messanger gebastelt, der leider hinter Routern, die Source-NAT machen, nicht funktioniert. Da ich innnerhalb meiner Pakete und Anfragen die IP des Clients versenden muss, aber im Voraus das Natting nicht kenne, ist nun meine Frage folgende: gibt es eine Möglichkeit Router (unabhängig vom Modell oder Hersteller) zu fragen, welches Natting sie für die Client-IP verwenden? Oder existiert vielleicht sogar die Möglichkeit die NAT-Tabellen des Routers abzufragen? Vielen Dank schon im Voraus. Zitieren
flashpixx Geschrieben 30. Juli 2009 Geschrieben 30. Juli 2009 Ich denke eine generelle Möglichkeit wirst Du nicht haben. Wenn Client A eine Nachricht an B schickt und beide hinter einem Router sitzen, dann hast Du Source-Nat. Bei Client B muss das Port-Forwarding eingerichtet sein, dass dann Destination-Nat macht. Wir mir scheint hast Du auf dem Client sowohl Server, wie auch Client Socket implementiert und damit musst Du auch Portforwarding einrichten, denn woher soll der Router sonst wissen, wenn auf Port X eine Nachricht ankommt, an welchen Rechner er es leiten soll. Das Portforwarding kann auch automatisch per UPnP durch Deinen Client am Router einrichten lassen, sofern es dieser unterstützt und aktiviert hat. UPnP ist aber immer als Sicherheitsrisiko einzustufen, so dass es meist deaktiviert ist. Phil Zitieren
Crash2001 Geschrieben 31. Juli 2009 Geschrieben 31. Juli 2009 Meinst du jetzt reines NAT (Network Adress Translation => interne auf externe IP), oder NAT/PAT (Port Adress Translation -> interne IP auf Port einer externen IP)? Wenn beim NAT eine IP-Adresse immer der gleichen externen zugewiesen ist, ist das kein Problem. Wird hingegen NAT-Overloading genutzt (mehrere interne IPs teilen sich eine externe IP, wobei immer nur an eine interne IP weitergeleitet wird), dann wirds schon schwer. Und bei NAT/PAT, wirds dann nochmal schwerer. Dabei wird ja erst vom Router bei der ausgehenden Initialisierung der Verbindung festgelegt, auf welchem Port jeweils geantwortet werden soll - und das dynamisch. ansonsten musst du feste Ports festlegen, die auf den jeweiligen Client weitergeleitet werden. Zitieren
ardcore Geschrieben 3. August 2009 Geschrieben 3. August 2009 gibt es eine Möglichkeit Router (unabhängig vom Modell oder Hersteller) zu fragen, welches Natting sie für die Client-IP verwenden? Oder existiert vielleicht sogar die Möglichkeit die NAT-Tabellen des Routers abzufragen? Nein, da es aber nur 4 Formen von NAT gibt hast du ja ne 1:4 Chance dass es funktioniert. Aber selbst wenn du weisst was für NAT gemacht wird, wird es dir nichts bringen. NAT-Tabellen eines Routers einfach so Abfragen? Wäre schön doof wenn das gehen würde. :upps Gruss, ardcore. Zitieren
frydyada Geschrieben 4. August 2009 Autor Geschrieben 4. August 2009 Danke erstmal an alle für die Antworten. Das Problem ist folgendes: Wenn ich den IM Client im privaten Netzwerk laufen lasse, ist es kein problem. Ich kenne die Client IP und die Server IP, also kein Problem. Wenn ich jetzt den Client irgendwohin mitnehme, z.B. zu einem Kumpel oder ein Firmennetzwerk, habe ich ein Problem, wenn der Client-Rechner keine öffentliche IP-Adresse hat und ein Router ein Source-NAT verwendet. Die IP des Servers ist kein Problem, da dieser eine feste öffentliche IP hat, die ich im Client eingeben kann. Ich möchte nur am Client herausbekommen, wie das Source-NAT für die interne Client-Rechner-IP aussieht. Das Problem ist, dass es funktionieren muss, ohne das Natting des Routers zu kennen. Weiß vielleicht jemand, wie das andere Instant Messenger lösen? Die kann man ja auch überall ohne Vorwissen laufen lassen. Danke und Gruß. Zitieren
ardcore Geschrieben 4. August 2009 Geschrieben 4. August 2009 Weiß vielleicht jemand, wie das andere Instant Messenger lösen? Die kann man ja auch überall ohne Vorwissen laufen lassen. Danke und Gruß. Weil es denen ganz egal ist wie die Source-IP-Adresse des Clients lautet!? Gruss, ardcore. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.