Port forwarding

Tiim

Mitglied
Hallo zusammen

Ich möchte gerne auf meinem Computer gerne einen Server einrichten. Dieser ist aber nur im gleichen Lan zu erkennen, wenn ich meinen Router nicht so einstelle, dass er den Port des Servers weiterleitet. Genau das möchte ich jedoch verhindern, da dieser Server auch häufig in anderen Netzen laufen soll. Da der Port des Servers mir egal ist und sie auch wechseln darf, würde ich gerne ein Java Programm schreiben, welches die weitergeleiteten, offenen Ports erkennt, und den Server gleich auf diesen Port einstellt. Ist das überhaupt möglich mit Java, oder werde ich die Router trotzdem einstellen müssen?

Gruss Tim
 

homer65

Top Contributor
Wahrscheinlich ist das auch per Java Programm möglich.
Aber warum selber programmieren?
Gibt doch per SSH gut funktionierende Portweiterleitungen.
 
T

tuxedo

Gast
Um zu erkennen welche Ports weitergeleitet werden, müsste deine Anwendung

a) die IP des Routers kennen/herausfinden
b) wissen wie man den Router nach den weitergeleiteten Ports fragt

Das ganze hat aber noch einen Haken: Du setzt damit voraus, dass jemand den Router konfiguriert, bevor er den Server in Betrieb nimmt. Denn Portweiterleitung benötigt immer die Ziel-IP sowie den Port. Deine Anwendung könnte also nur schauen, ob für die IP des Rechners, auf der die Anwendung läuft, eine Portweiterleitung bereits existiert. Das schränkt den "Vorteil" den das erkennen der Weiterleitung hätte schon ein. Mal ganz zu schweigen von der Komplexität die das herausfinden der Weiterleitung mit sich bringt. Das funktioniert bei jedem Router(Hersteller/Modell) etwas anders.

UPnP könnte eine Lösung sein. Doch wird das nicht von allen Herstellern/Modellen unterstützt, und wenn, dann ist das in den meisten Fällen im Router per Default deaktiviert.

Meine persönliche Meinung zu dem Thema:

Lass den Server immer auf dem selben Port laufen und schau, dass in allen Netzen in denen diese Serverkiste zum einsatz kommen soll, du

a) eine fixe IP hast
b) für diese IP eine feste Portweiterleitung eingerichtet ist

Denn: Einrichten musst du die Portweiterleitung so oder so. Da führt kein Weg dran vorbei wenn die Serveranwendung immer und überall zuverlässig funktionieren soll (UDP Hole-Punching hat auch seine schwächen...). Was würde dir das erkennen dieser Konfuguration dann bringen?!

- Alex
 

Tiim

Mitglied
Dieser Server soll nur ab und zu laufen, seine Ip und den Port werden den Benutzern bekanntgegeben. Da die Ip addresse so immer wechselt, spielt es keine Rolle, ob auch der Port sich ändert. Ich hätte es am liebsten, wenn man den Server ohne irgendeine Konfiguration bei verschiedenen Netzten zum Laufen bringt. Desshalb wollte ich die offenen Ports erkennen um wie gesagt keine Routerkonfiguration vornehmen zu müssen.

/Edit: gibt es vlt auch Ports die per default offen sind?
 
T

tuxedo

Gast
Es reicht nicht am Router zu sagen "Mach Port 1234 auf". Eine Port-Weiterleitung ist immer nach dem Schema "Leite alles was an Port 1234 kommt an die Interne IP 1.2.3.4 Port 1234 weiter". Ergo kannst du maximal für DEINE AKTUELLE IP suchen ob was offen ist. Aber da da per default nix offen ist und deine IP immer mal wieder wechselt, ist das alles Käse. Du kommst um eine Konfiguration nicht drum rum. Ok, wie gesagt gibt's noch UPnP und UDP Hole-Punching. Aber da gibt's so viele Probleme/Nachteile, dass man nicht zu 100,00% sicher sagen kann das das immer funktioniert. Von daher: Manuell Konfigurieren.
 

Tiim

Mitglied
Vielen dank. Ich habe das Prinzip des Port forwardings vorhin nicht genau verstanden ich dachte das sei wie eine Firewall, bei der man einfach ports öffnen muss..

@homer65 die IP hätte sich geändert, da der Server auf einem anderen Computer ausgeführt wird, welcher in einem anderen Netzwerk währe, da der Server nur gestartet wird, wenn er gebraucht wird, und zwar vom ersten Benützer, alle ändern verbinden sich dann zu dem.

Fazit: Ich werde wohl bei jedem Benützer den Router einstellen müssen, oder einen free webhoster finden, der .jar Dateien startet.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
H Mysql port forwarding Netzwerkprogrammierung 5
P Sockets +Port Forwarding = Chaos Netzwerkprogrammierung 4
JavaDevOp Socket Status von UDP-Port prüfen (PortUnreachableException funktioniert nicht?) Netzwerkprogrammierung 32
FrankenDerStein Socket UDP Multithreading für ein Port Netzwerkprogrammierung 2
T multithreaded multiport socketListener beendet TCP-Port-Listening Netzwerkprogrammierung 16
C Proxy Server - Antwort auf welchem Port Netzwerkprogrammierung 1
precoc Port Listener Netzwerkprogrammierung 2
Rudolf Socket An welchen Port sendet ein Mailserver zu einem anderen Mailserver Netzwerkprogrammierung 8
C Socket Connection refused bei Internetverbindung - Welcher Port? Netzwerkprogrammierung 5
S Port abhören Netzwerkprogrammierung 11
M Gleicher Port für Senden und Empfangen ? Netzwerkprogrammierung 17
Dit_ UDP Port testen | Ping Google? Netzwerkprogrammierung 7
J Port lauschen Netzwerkprogrammierung 2
D Weiterer Thread auf Port 843 horcht Netzwerkprogrammierung 7
Dit_ UDP Port bestimmen | Windows, MAC, Linux... Netzwerkprogrammierung 2
J UDP port packete lesen,wenn dieser besetzt ist Netzwerkprogrammierung 3
T Java Mail port ändern Netzwerkprogrammierung 4
1 Socket Immer offener Port? Netzwerkprogrammierung 11
R wie prüfe ich ob ein port frei is ? Netzwerkprogrammierung 7
S Port auf einer bestimmten IP-Adresse auslesen? Netzwerkprogrammierung 6
X Port scannen/schicken Netzwerkprogrammierung 4
W scan remote UDP port Netzwerkprogrammierung 6
M Socket Herausfinden ob server auf port läuft Netzwerkprogrammierung 8
F UDP Receive und Send am gleichen Port Netzwerkprogrammierung 3
G Port freigeben Netzwerkprogrammierung 3
J GSM Modem an Serial Port ansteuern (AT commands) Netzwerkprogrammierung 2
T Server ohne Port Netzwerkprogrammierung 4
Schandro Herausfinden ob hinter einem Port bereits ein ServerSocket steckt Netzwerkprogrammierung 2
ABstraCT Applet multipler port Zugriff möglich ? Netzwerkprogrammierung 5
ABstraCT Telnet port Zugriff problem (public IP) Netzwerkprogrammierung 12
T ohne Port Freigabe. Netzwerkprogrammierung 6
K Problem mit Com-Port-Komunikation Netzwerkprogrammierung 57
G "Port already in use" RMI über SSL Netzwerkprogrammierung 9
S port lauschen Netzwerkprogrammierung 2
feuervogel Sockets - Lokalen Port aber nicht IP bestimmen Netzwerkprogrammierung 3
G port scanner Netzwerkprogrammierung 6
S Port mithören Netzwerkprogrammierung 9
P jakarta.HttpClient: Port bei GetMethod angeben Netzwerkprogrammierung 3
A port noch belegt Netzwerkprogrammierung 3
K Port 13 nur einmal abfragbar? Netzwerkprogrammierung 2
R Problem mit mehreren Anfragen auf demselben Port Netzwerkprogrammierung 2
TRunKX Ein Port mehrere Verbindungen? Netzwerkprogrammierung 7
H Port abhören Netzwerkprogrammierung 3
F freien Port finden Netzwerkprogrammierung 7
S GEHT DAS? - Nur eine Frage! (Printer Port direkt ansteuern?) Netzwerkprogrammierung 4
T Kann man jeden Port für Programm verwenden? Netzwerkprogrammierung 2
T PORT 80 überwachen Netzwerkprogrammierung 12
G an port lauschen Netzwerkprogrammierung 10
K nicht physikalische com port ansprechen ? Netzwerkprogrammierung 3
S SSLSocketFactory.createSocket(String hostname, int port),wo? Netzwerkprogrammierung 5
G Port belegt nach Server restart Netzwerkprogrammierung 5
R Port trotz aktiver Firewall nutzen ! Netzwerkprogrammierung 9
G Proxy oder Forwarding? Netzwerkprogrammierung 16

Ähnliche Java Themen


Oben