GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cuál es el número máximo de puertos?

Solución 1:

(2^16)-1, o 0-65,535 (el -1 se debe a que el puerto 0 está reservado y no disponible). (editado porque o_O Tync me recordó que no podemos usar el puerto 0, y Steve Folly me recordó que pediste el puerto más alto, no la cantidad de puertos)

Pero probablemente estés haciendo esto de la manera incorrecta. Hay personas que argumentan a favor y en contra de los puertos no estándar. Digo que son irrelevantes excepto para el escáner más casual, y el escáner más casual puede mantenerse a raya usando software actualizado y técnicas de firewall adecuadas, junto con contraseñas seguras. En otras palabras, las mejores prácticas de seguridad.

Solución 2:

1-65535 están disponibles, y los puertos en el rango 1-1023 son los privilegiados ones:se necesita ejecutar una aplicación como root para poder escuchar estos puertos.

Solución 3:

Aunque 1-65535 son puertos TCP legítimos y es cierto que 1-1023 son para servicios de puerto bien conocidos. Puede encontrarse con problemas aleatorios con sus propios servicios si se inician después de establecer un puerto efímero. Para aquellos que no lo sepan, 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, podría estar bien 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 de rango de puertos efímeros del sistema en su servidor. En sistemas linux se hace en dos pasos:

  • Dinámicamente
  • Permanentemente

Se deben realizar ambos pasos, a menos que planee reiniciar (en cuyo caso no se necesita el paso Dinámico). Para configurar su rango hasta 40000 a 65535, haga lo siguiente:

Dinámico

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 entender el propósito de su servidor. Reducir demasiado el rango puede generar otros problemas.

¡Feliz codificación! (o lo que sea que hagas)


Linux
  1. ¿Cuáles son los puertos necesarios para abrir en el cortafuegos?

  2. ¿Cuál es el tamaño máximo de un valor de variable de entorno de Linux?

  3. ¿Cuál es el número máximo de direcciones IP que se pueden asignar a una computadora determinada?

  4. ¿Cómo determinar el número máximo a pasar para hacer la opción -j?

  5. ¿Qué es el sistema de archivos NSFS?

¿Qué es el Shell en Linux?

Cómo encontrar el número de puerto de un servicio en Linux

Abrir un puerto en Linux

¿Qué limita el número máximo de conexiones en un servidor Linux?

Compruebe el Número de conexiones activas en el puerto 80?

¿Cuál es la forma correcta de abrir un rango de puertos en iptables?