Zum Inhalt springen

Nat


frydyada

Empfohlene Beiträge

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.:D 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.:)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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ß.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...