nagus
Goto Top

JAVA Client benutzt high Port (größer 50.000)

Hi,
wir haben hier ein Problem mit dem Java Client unter Windows Terminal Server 2008 und unserer Firewall.

Der Java Client öffnet immer high Ports größer 50.000 und die werden für das Management der Firewall benötigt. (Tritt auch auf einem Windows 7 Rechner auf). Die möchten wir nicht aufmachen, blöderweise startet dann aber Java nicht ....

Gibt es eine Möglichkeit dem Java Client dieses Verhalten abzugewöhnen so dass er niedrigere Ports benutzt??

Danke
Nagus

Content-ID: 248316

Url: https://administrator.de/forum/java-client-benutzt-high-port-groesser-50-000-248316.html

Ausgedruckt am: 22.12.2024 um 11:12 Uhr

brammer
brammer 05.09.2014 um 13:08:21 Uhr
Goto Top
Hallo,

Gegenfrage: wieso arbeitet eure Firewall auf einem High Port?

brammer
Nagus
Nagus 05.09.2014 um 13:56:40 Uhr
Goto Top
Sind Management Ports für eine Fortinet Firewall. Da das von einem DL ist haben wir nicht wirklich Einfluss.
Deine Gegenfrage hilft mir aber nicht weiter. Kann man Java so konfigurieren das es andere Ports nimmt?
Gruß
Nagus
colinardo
Lösung colinardo 06.09.2014, aktualisiert am 07.09.2014 um 11:00:15 Uhr
Goto Top
Hallo Nagus,
Zitat von @Nagus:
Der Java Client öffnet immer high Ports größer 50.000 und die werden für das Management der Firewall benötigt.
wovon reden wir hier, von Source- oder Destination Ports der Clientsoftware?

Wenn es um die Sourceports also die sogenannten Ephemeral ports geht, ist das Betriebsystem und die bind() Funktion dafür zuständig. Neuere Windows OS (ab Vista) verwenden hierfür die Ports die die IANA dafür vorsieht : 49152 - 65535.
Es gibt einen Registry-Eintrag mit dem man bestimmte Port-Bereiche für die Nutzung ausschliessen kann.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Dort einen REG_MULTI_SZ-Eintrag mit dem Namen ReservedPorts anlegen und den auszuschließenden Portrange eintragen, z.B. 50000-52000. Einzelne Ports lassen sich ebenfalls durch Leerzeichen voneinander getrennt eintragen.

Sollte der Registry-Eintrag keine Wirkung zeigen kann das ganze auch mit einem Netsh-Befehl konfiguriert werden.

netsh int ipv4 Add excludedportrange protocol=tcp startport=50000 numberofports=2000
Achtung: Pro Aufruf können immer nur maximal 2048 Ports ausgeschlossen werden!

Grüße Uwe
Nagus
Nagus 06.09.2014 um 12:12:23 Uhr
Goto Top
Hi Uwe,
ich denke das geht in die richtige Richtung! Bin zu wenig Netzwerker um mich präzise auszudrücken ... sorry

einfach auf einem Client Java gestartet (Windows 7, x64) und www.javatester.org aufgerufen führt zu dem folgenden Wireshark mitschnitt:

8 1.795598000 75.98.163.66 192.168.X.X TCP 60 80→49485 [ACK] Seq=1 Ack=2 Win=63 Len=0

Bei uns in der Firma werden immer Ports größer 50.000 geöffnet (Citrix Win TS Farm 2008 oder höher - da bin ich mir gerade ned sicher), wenn auf unsere Applikationen zugegriffen wird. Da werde ich mal unseren Provider drauf ansetzen - die das eigentlich wissen sollten .... naja.

Ich Danke Dir schon einmal!

Viele Grüße
Nagus
colinardo
colinardo 06.09.2014 aktualisiert um 12:35:07 Uhr
Goto Top
Für Acknowledgements müssen keine Ports geöffnet werden wenn du auf dem Router NAT machst. Das sind ja "related" Ports die zu einer Verbindung gehören die der Client in eurem Netz nach draußen aufgebaut hat, und diese muss man nicht freischalten, außer eure Firewall ist extrem restriktiv eingestellt.
Nagus
Nagus 07.09.2014 um 00:20:10 Uhr
Goto Top
Die FW ist extrem restriktiv eingestellt ... aber da müssen nun die Kollegen mit dealen!
THX
Nagus