• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Grundlagen-Frage: IM (kopete) über DSL-Router?

newbie

Newbie
Hallo zusammen,

mache mal wieder meinem Nick alle Ehre und poste eine Grundlagen-Frage:
Ich habe hier SuSE9.2 und kopete hinter einem DSL-Router (FritzBox).
Das einrichten der Konten usw. hat auch alles gut funktioniert und ich bin online. Was ich noch nicht testen konnte, ist, ob auch jemand mit mir einen Chat beginnen kann. Und das ist auch meine Frage:
Wenn das jemand versucht, muß doch der jeweilige IM-Server versuchen meinen Client zu erreichen, oder? Und das wahrscheinlich auf einem bestimmten Port, oder?
Jetzt habe ich das NAT in meiner Fritzbox aber nicht verändert und auch die UPnP nicht aktiviert.
Wie soll das dann also gehen? Muß ich bestimmte Ports für die verschiedenen Protokolle freigeben? Wenn ja, welche?

Danke für jede DAU-fähige Antwort! :)

newbie
 

gaw

Hacker
Ich kenne zwar die Konfiguration der Fritz Box nicht, aber es ist schon so, dass eine D-NAT konfiguriert werden muss. Dabei geht es weniger um den Port (...dann hätten wir ein Portforwarding) sondern um ein Auswählen der richtigen Adresse. An einem Router lassen sich in der Regel mehr als ein Rechner anschließen. Von außen ist aber nur eine Adresse sichtbar. Wir haben also eine logisch nicht eindeutige Situation, da sich theoretisch mehrere Rechner hinter einem Router befinden können die alle Kopete benutzen. Aber selbst wenn nur einer Kopete benutzt löst dies unser Problem nicht. Auf der Vermittlungsschicht spielen Paketinhalte keine Rolle und auf der Transportschicht wird nur eine Portnummer vermittelt. Aus diesen Informationen - und nur die sollte ein Router verwenden - lässt sich bei neuen Verbindungsanfragen von außen eben nicht erkennen an welchen Host (Rechner) die Pakete zu senden sind.
Theoretisch existieren zwei Möglichkeiten mit dieser Mehrdeutigkeit umzugehen. Auf dem Router läuft ein Service der statt des Originalservers die Vermittlung und Verteilung des Services übernimmt, dann haben wir einen Proxy oder auch Relay Agent. Oder wir legen auf dem Router fest zu welcher Adresse Anfragen auf den Zieport Nummer xxx geleitet werden. Dazu wird die Ziel-Adresse im IP-Header überschrieben. Das wird als D-NAT beschrieben. Für die rücklaufenden Pakete müssten wir eigentlich ein S-NAT einrichten. Da aber in den meisten Fällen in diesem Szenario ein allgemeines S-NAT konfiguriert ist (Masquerading, Internet Connect Sharing u.a.) werden Pakete die von den Host mit privaten Adressen stammen eh mit der offiziellen internettauglichen Quelladresse des Routers versehen, so dass die explizites Konfiguration eines rückläufigen S-NAT entfällt. Außerdem besitzen die meisten Implementierungen entsprechende Routinen und merken sich die IP-Adressen der transformierten Verbindungen und leiten die zugehörigen rücklaufenden Verbindungen automatisch an die entprechenden Adressen.

Da ich mir nicht vorstellen kann das auf deiner Fritzbox ein Proxy oder Relay-Agent von Kopete läuft wirst du wahrscheinlich ein D-NAT konfigurieren müssen. Wie sich das uaf deinem Router einrichten läßt solltest du dem Handbuch entnehmen.


Mit freundlichen Grüßen
gaw
 
OP
N

newbie

Newbie
Danke gaw für die ausführliche Antwort!

Das hat meine Vermutung bestätigt, das ich die einzelnen Ports an den einen rechner weiterleiten muß, da die FritzBox wirklich nur ein einfaches portforwarding unterstützt. Oder habe ich das falsch verstanden?

Offen ist noch die Frage, welche Ports ich für die verschiedenen IM's weiterleiten muß. Gibt es da eine Übersicht?

Gruss
newbie
 

gaw

Hacker
Noch einmal, obwohl fälschlicherweise oft so genannt ist das in erster Linie ein D-NAT, oder ist der Zielport von Kopete auf deinem Rechner ein anderer?
Ein Portforwarding findet nur dann statt wenn auch die Portnummer verbogen wird.


Mit freundlichen Grüßen
gaw

ps: Ich kenne mich mit TCP/IP Firewalls und Port ein wenig aus, Kopete benutze ich nicht. Aber vielleicht hilft ein Kopete Portnummern im Google
 
OP
N

newbie

Newbie
Nein, am Port habe ich nichts verändert.

Evtl. habe ich ein echtes Grundlagenproblem. Ich versuche mal mein Verständnis zu posten:
Code:
kopete auf meinem Rechner1 baute eine Verbindung z.B. zum ICQ-Server auf 
-> Fritz verändert die private IP auf die öffentliche IP und merkt sich die Anfrage 
-> ICQ antwortet an die öffentliche IP 
-> Fritz übersetzt die IP auf die private und leitet die Anfrage an Rechner1 weiter
-> kopete ist glücklich

So, aber der Fall der mich verwirrt:
Code:
Ein Freund1 sieht menen online-Status und will mir eine Nachricht senden
-> msg an ICQ-Server
-> ICQ leitet die Anfrage an meine öffentliche IP weiter (Port?)
-> ???

Woher weiss Fritz als nun, dass er diese Anfrage an Rechner1 weiterleiten soll?

Sorry, ist wirklich Basic....

newbie
 

gaw

Hacker
Weil du vermutlich D-NAT auf der Fritzbox durch die Portfreigabe konfiguriert hast. Bei der Fritzbox wird dadurch der Zugriff auf einen der angeschlossenen Rechner angezeigt. Es wird also D-NAT angewendet. Das hereinkommende Paket von deinem Freund hat die Zieladresse des Routers (der Fritzbox). Dort erhält dieses Paket eine neue IP, nähmlich des Rechners der bei der Portfreigabe engetragen wurde. Alle ankommenden Pakete die zu dieser Kopete-Verbindung gehören werden erhalten die neue Ziel IP-Adresse und werden weitergereicht. Weil die Ziel (engl. Destination) IP umgeschrieben wird heißt diese Technik Destination-Network Address Translation oder kurz D-NAT. Die rücklaufenden Pakete erhalten die Adresse des Senders. Als Quelladresse erhalten sie die Adresse des Rechners hinter dem Router. Auf dem Router wird diese Quelladresse auf eine routfähige Adresse, die des Routers umgeschrieben.

Mit freundlichen Grüßen.
gaw
 
Oben