Como Abrir los Puertos del 1 al 1024 Para mis Servidores

Imagen de JesusGalan
0 puntos

Hola a todos:

Tengo programados unos servidores en JAVA que corren por puertos bajos (Obligatoriamente).

En Mi iptables esta todo permitido, pero el los puertos inferiores me dan Error con el mensje : Permission Denied.
Y NO Crea el Servidor.

He visto que ubuntu trae los puertos del 1 al 1024 cerrados. ¿ Como los desbloqueo ?

Gracias por vuestra ayuda de antemano.

 

Imagen de danielGT
+1
0
-1

Por convencion, los puertos del 1 al 1024 estan reservados para distintos protocolos y servicios ya establecidos. Lo recomendable es no usar puertos que esten en ese rango, para abrir un socket TCP de programas de usuario, puedes usar cualquier socket sobre el 1024 y que no este siendo utilizado por otro programa, por ejemplo no puedes usar el puerto 6880 si ya tienes el bittorrent funcionando (no me acuerdo si realmente era el 6880 :P)

Esos programas en java tienes el codigo fuente de ellos? Puedes cambiarselo sin problemas.

+1
0
-1
Imagen de JesusGalan
+1
0
-1

Gracias....

¿ Que significa por convencion, que no hay forma de desbloquearlos para usarlos con mis servidores ?

Os Comento, Mis Servidores (Servicios), Aunque Linux los Trate como Programas de Usuario, Son Servidores http, https, echo,... Que ya se que hay buenos Programas para lo Mismo, Pero, Me parece logico, usar los mios propios.

Entonces , ¿ Hay alguna Forma de Iniciar Mi Servidor (Escrito en Java) por el puerto 80 (o por el 443,...) ? ¿ O de conseguir desbloquear esos Puertos para mis 'Aplicaciones de Usuario'?

Espero vuestra Respuesta. Y Siempre Agradecido.

+1
0
-1
Imagen de flb
+1
0
-1

Después de investigar bastante y hacerme una clase Java de prueba, comprobé que, tal como comentás, no es posible comunicarse a través de puertos con número menor o igual a 1023, salvo que ejecutes esa clase como superusuario.

Mi problema viene porque quería instalar un servidor web apache en una máquina virtual VirtualBox, que gracias al port-forwarding, puede salir al exterior por puertos mayores a 1024. Pero claro, mi intención es que lo haga por el puerto 80, lo cual es imposible si la aplicación que lo demanda (en este caso, el virtualizador) no se ejecuta con privilegios, lo cual preferiría evitar, a menos que sea estrictamente necesario.

Entonces, me sumo a la pregunta: ¿como acceder a dichos puertos con aplicaciones de "usuario común"?

Desde ya muchas gracias

+1
0
-1