Wie erstelle ich einen TCP-server hinter einem router (NAT) ohne Umleitung Konfiguration erforderlich
Das Szenario ist das folgende. Ich habe zwei Maschinen A und B:
A: Client (hinter NAT)
B: Server (hinter NAT)
Möchte ich Sie B, um in der Lage sein zu hören auf einem bestimmten port, so dass Ein Pakete verschicken kann zu B-durch, dass bestimmte TCP-port und erhalten keine Antwort. Wenn beide Maschinen sind nicht hinter einem NAT-es ist ziemlich straight-forward-Prozess. Aber wie mache ich es so arbeiten, dass es funktioniert, auch wenn B hinter einem router, ohne ihn zu gehen, ändern Sie die router-Konfiguration aktivieren port-forwarding etc...
Angenommen, wie peer-to-peer-Programme wie torrent-clients arbeiten, ohne dass der Benutzer etwas konfigurieren?
- Haben Sie vielleicht mehr Glück auf serverfault.com
- Ich nehme an, diese Frage ist wie schreibt der server hinter NAT, anstatt, wie es zu konfigurieren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alternative zu einem proxy-server ist ein match-making-server. Anstelle von Proxys der Verkehr, der match maker nur verhandelt, bis die peers können miteinander sprechen. Dies beinhaltet die Suche nach der externen öffentlichen IP-Adressen der peers und reden jedem ein, so dass die firewall/router weiß, dass die peers kommunizieren möchten.
Dies wird als Loch Stanzen und oft hat es zu tun, um die match-maker eher als die Kollegen selbst. Nachdem das Loch gestanzt werden, obwohl der match maker kann sagen, die Kollegen über einander, und Sie direkt miteinander kommunizieren können.
Antwort am Beispiel von Peer-to-Peer-Programme, und im Allgemeinen: Es ist eine Technologie namens Universal Plug and Play der NAT-Router verwenden können, um Kunden erlauben, sich hinter Sie zu setzen-ports nach außen. Das ist es, was bittorrent-clients nutzen können, so dass die anderen clients direkt eine Verbindung zu Ihnen herstellen.
Müssen Sie entweder:
Port-Weiterleitung einrichten von nat
gateway vor dem server in der Maschine Ihre server-software läuft, und der client
verbinden Sie die IP-Adresse, die
gateway.
Erstellen Sie einen proxy-server sitzen
dazwischen die 2 nat gatewys so beide
Ihre server und client eine Verbindung herstellen kann
zu, dass. Sowohl Ihre server-und client -
einrichten einer Verbindung zu diesen
proxy die Vermittlung der Daten
zwischen diesen 2 verbindungen.
Loch-Stanz-mäßig gut-verstanden, die für die UDP-Kommunikation, sondern es können zuverlässig verwendet werden, um set-up, peer-to-peer-TCP-streams. Hier ist auch der sehr ausführliche Artikel auf, die TCP und UDP:
http://www.brynosaurus.com/pub/net/p2pnat/