Egal ob man es "NAT-Fehler", "lowid" oder "Problem mit port forwarding" nennt. Es handelt sich immer um die selbe Situation. Man befindet sich hinter einem Router und möchte gerne eine P2P-Anwendung benutzen, wie z.B. Emule, Bittorrent oder Shareazza, doch leider melden diese Programme lediglich einen Fehler und laden nur mit kleiner Geschwindigkeit.
Bild 1: Netzwerk mit Router Warum geschieht das?
Nun wenn man "hinter einem Router" sitzt, dann ist zuerst mal der eigene Rechner aus dem Internet garnicht erreichbar, sondern eben nur der Router. Der Router leitet dann auch nur den Verkehr zum Rechner weiter, der auch eindeutig dort hin gehört. Diese Übersetzung von Internetadresse (IP) in die lokale Adresse, die dabei von Statten geht, nennt man
Network Adress Translation (NAT).
Entgegen der einschlägigen Meinung von "Experten" handelt es sich hier nicht um eine Firewall und auch nicht um etwas, das man einfach ausschalten kann. Vielmehr ist so ein NAT bzw. ein virtuelles NAT (weil die lokalen Adressen im Internet nicht vorkommen) schlichtweg notwendig.
Aber warum gehen dann genau P2P-Andwendungen nicht?
Bei diesen Anwendungen haben wir einen speziellen Fall. In der Regel nimmt ein Computer ja meist Verbindung zu anderen auf, z.B. eben um eine Internetseite aufzurufen. Da kontaktiert der lokale Computer den Server im Internet, was der Router bemerkt und es sich in seiner NAT-Tabelle notiert. Kommen jetzt die Daten vom Webserver zurück, so weiß der Router an welchen Rechner er sie weiterleiten muss.
Bei P2P-Anwendungen funktioniert das anders. Man startet z.b. Emule und dieser wartet dann auf
eingehende Verbindungen. Jetzt weiß der Router natürlich nicht bescheid und kann alle eingehenden Pakete keinem Rechner zuordnen, er verwirft also diese Verbindungen, die für den Betrieb von z.B. Emule notwendig gewesen wären.
Was kann man dagegen tun?
Jetzt kommen wir zum interessanten Kernstück des FAQs. Wie kann ich trotz NAT irgendwelche Programme wie Emule verwenden? Die Antwort lautet "port forwarding", "port mapping" bzw. manchmal auch "virtual server".
Alle Anwendungen kommunizieren auf verschiedenen Ports. Das sind einfach Nummern, damit der Rechner unterscheiden kann zu welcher Anwendung, welche Daten gehören, wenn sie übers Netzwerk reinkommen.
Wir müssen also zuerst rausfinden auf welchem Port die Leute im Internet versuchen unsere Anwendung zu erreichen. Bei Emule und Bittorrent z.B. kann man das im Programm selbst einstellen.
Standardports Emule:
TCP 4661
TCP 4662
UDP 4665
UDP 4672
Standardports Bittorrent:
TCP 6[FONT=Verdana]881-6999
(von 6881 bis 6999...)
Standardports Shareaza:
[/FONT]TCP 6346
TCP 6881
Wenn man jetzt also diese Information besitzt, muss man nur noch seinem Router mitteilen "Leite bitte immer alles auf Port xyz auf meinen Rechner abc um". Wie das im Einzelnen geht, lässt sich sehr schwer beschreiben. Da hilft wirklich nur ein Blick ins Handbuch.
In der Regel bedient man sich dazu der http-Konfigurationsoberfläche des Routers. Man tippt also in seinen Browser "http://192.168.0.1" (Die IP bitte durch die des Routers ersetzen, sollte ebenfalls im Handbuch stehen).
Auf dieser Oberfläche sucht man sich einen Konfigurationspunkt der irgendwas mit "Virtual Server", "NAT", "Port Forwarding" oder auch "Port Weiterleitung" zu tun hat. In der Regel sind solche Optionen unter Oberpunkten wie "Spezial" oder "Experte" versteckt.
Hat man nun endlich die Einstellungsmöglichkeit gefunden (nahezu jeder Router hat sowas... einfach suchen) so gibt man die zu öffnenden Ports, nebst Protokoll (TCP oder UDP) an und sagt dem Router wohin der Traffic gehen soll, dazu benötigt man die eigene IP-Adresse des eigenen Rechners. Manche Oberflächen lassen dies einfach auswählen, bei anderen muss man es selbst eintippen.
Sollte man die eigene IP nicht wissen so genügt es über Start->Ausführen->"cmd" eine Eingabeaufforderung zu öffnen und den Befehl "ipconfig /all" abzuschicken. Wie auf dem Bild zu sehen, sieht man sofort die nötige IP.
Bild 2: Eingabeaufforderung
Nachdem man alle Ports im Router weitergeleitet hat, ist in der Regel ein Neustart des Routers notwendig. Diesen also durchführen lassen und wenn man dann wieder online ist kann man damit beginnen seine gewünschte P2P-Anwendung zu testen.
Sollte das Problem wider erwarten doch nicht verschwinden, so bitte nochmal alle Einstellungen überprüfen. Viel mehr ist nicht zu tun.
Eine letzte Anmerkung noch zum Schluß: Seit Servicepack 2 verfügt Windows XP über eine eigene Firewall. In dieser müssen natürlich auch die Ports der Andwendungen erlaubt werden, sonst hilft alle Konfiguration des Routers nichts. 