Me gustaría establecer algunos servicios de Linux en puertos no estándar: ¿cuál es el número de puerto válido más alto?
67
(2 ^ 16) -1, o 0-65,535 (el -1 se debe a que el puerto 0 está reservado y no está disponible). (editado porque o_O Tync me recordó que no podemos usar el puerto 0, y Steve Folly me recordó que solicitó el puerto más alto, no la cantidad de puertos)
Pero probablemente estés haciendo esto de la manera incorrecta. Hay personas que defienden a favor y en contra de los puertos no estándar. Digo que son irrelevantes, excepto para el escáner más informal, y el escáner más informal puede mantenerse a raya mediante el uso de software actualizado y técnicas de firewall adecuadas, junto con contraseñas seguras. En otras palabras, las mejores prácticas de seguridad.
1-65535 están disponibles, y los puertos en el rango 1-1023 son los privilegiados : una aplicación debe ejecutarse como root para escuchar estos puertos.
fuente
Aunque 1-65535 son puertos TCP legítimos y es cierto que 1-1023 son para servicios portuarios bien conocidos. Puede encontrarse con problemas aleatorios con sus propios servicios si se inician después de que se establezca un puerto efímero. Para aquellos que no saben, los puertos efímeros son aquellos que están conectados localmente para puntos finales remotos (o algo por el estilo). Entonces, si escribe un servicio TCP que escucha en el puerto 20001. Puede ser bueno hoy ... y mañana. Pero un día su servicio puede iniciarse e intentar vincularse a 20001 y fallará porque se tomó como un puerto efímero. Hay una solucion. Debe hacer que su administrador, o usted mismo, cambie la política efímera de rango de puertos del sistema en su servidor. En sistemas Linux se realiza en dos pasos:
Deben tomarse ambos pasos, de nada sirve que planee reiniciar, en cuyo caso el paso dinámico no es necesario. Para configurar su rango de 40000 a 65535, haga lo siguiente:
Dinámica
echo 40000 65535 > /proc/sys/net/ipv4/ip_local_port_range
o
sysctl -w net.ipv4.ip_local_port_range="40000 65535"
Permanente
Agregue lo siguiente a /etc/sysctl.conf:
net.ipv4.ip_local_port_range = 40000 65535
Para leer la configuración actual o confirmar el cambio:
/sbin/sysctl net.ipv4.ip_local_port_range
La salida será algo como esto:
net.ipv4.ip_local_port_range = 9000 65500
Asegúrese de comprender el propósito de su servidor. Reducir demasiado el rango puede conducir a otros problemas.
¡Feliz codificación! (o lo que sea que hagas)
fuente