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-Key: 248316

Url: https://administrator.de/contentid/248316

Printed on: April 19, 2024 at 13:04 o'clock

Member: brammer
brammer Sep 05, 2014 at 11:08:21 (UTC)
Goto Top
Hallo,

Gegenfrage: wieso arbeitet eure Firewall auf einem High Port?

brammer
Member: Nagus
Nagus Sep 05, 2014 at 11:56:40 (UTC)
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
Member: colinardo
Solution colinardo Sep 06, 2014, updated at Sep 07, 2014 at 09:00:15 (UTC)
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
Member: Nagus
Nagus Sep 06, 2014 at 10:12:23 (UTC)
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
Member: colinardo
colinardo Sep 06, 2014 updated at 10:35:07 (UTC)
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.
Member: Nagus
Nagus Sep 06, 2014 at 22:20:10 (UTC)
Goto Top
Die FW ist extrem restriktiv eingestellt ... aber da müssen nun die Kollegen mit dealen!
THX
Nagus