Esta publicación brinda orientación sobre cómo reservar un rango de puertos específico en los sistemas CentOS/RHEL cuando estos puertos son necesarios para una aplicación de terceros. Por ejemplo, se necesita un rango de puertos entre "10000 y 15000" para que lo use la aplicación A y uno necesita un rango de puertos entre "20000 y 25000" para que lo use la aplicación B. Los puertos entre "10000 y 15000" y " 20000 a 25000″ se reservarán exclusivamente para la aplicación A y B.
En el lado del sistema operativo CentOS/RHEL, uno tiene que reservar un rango de puertos que necesita la aplicación de terceros, y es importante tener en cuenta que el rango de puertos no reservará estrictamente el puerto para una aplicación específica, sino en el lado de la aplicación. es donde uno tiene que establecer el puerto que utilizará esa aplicación específica.
Para cambiar el rango de puertos, simplemente modifique el archivo proc/sys/net/ipv4/ip_local_port_range y cambie los respectivos valores deseados.
1. Compruebe el intervalo de puertos actual:
# cat /proc/sys/net/ipv4/ip_local_port_range
Por ejemplo:
# cat /proc/sys/net/ipv4/ip_local_port_range 32768 61000
o
# sysctl net.ipv4.ip_local_port_range
Por ejemplo:
# sysctl net.ipv4.ip_local_port_range net.ipv4.ip_local_port_range = 32768 61000
2. Modifique el rango de puertos con los valores deseados:
# echo 10000 25000 > /proc/sys/net/ipv4/ip_local_port_range
o
# sudo sysctl -w net.ipv4.ip_local_port_range="10000 25000"
3. Modificar el archivo /etc/sysctl.conf
Edite el archivo de configuración /etc/sysctl.conf archivo, para realizar cambios de forma permanente y añadir la siguiente línea:
# vi /etc/sysctl.conf net.ipv4.ip_local_port_range = 10000 25000
Para reservar uno o más puertos específicos fuera del rango de puertos reservado en 'ip_local_port_range ” para un propósito específico, agregue el puerto al siguiente archivo:
/proc/sys/net/ipv4/ip_local_reserved_ports
Notas
ip_local_port_range – 2 ENTEROS
Define el intervalo de puertos locales que utilizan TCP y UDP para elegir el puerto local. El primer número es el primero, el segundo el último número de puerto local. Si es posible, es mejor que estos números tengan una paridad diferente (uno par y otro impar). Los valores predeterminados son 32768 y 60999 respectivamente.
ip_local_reserved_ports:lista de rangos separados por comas.
Especifique los puertos que están reservados para aplicaciones de terceros conocidas. Estos puertos no se utilizarán para las asignaciones automáticas de puertos (por ejemplo, al llamar a connect() o bind() con el número de puerto 0). El comportamiento de asignación de puertos explícito no ha cambiado.
El formato utilizado tanto para la entrada como para la salida es una lista de rangos separados por comas (por ejemplo, "1,2-4,10-10" para los puertos 1, 2, 3, 4 y 10). Escribir en el archivo borrará todos los puertos previamente reservados y actualizará la lista actual con la que se proporcionó en la entrada.
Nota :Las configuraciones de ip_local_port_range e ip_local_reserved_ports son independientes y ambas son consideradas por el núcleo al determinar qué puertos están disponibles para las asignaciones automáticas de puertos.Puede reservar puertos que no están en el ip_local_port_range actual, por ejemplo:
$ cat /proc/sys/net/ipv4/ip_local_port_range 32000 60999 $ cat /proc/sys/net/ipv4/ip_local_reserved_ports 8080,9148
aunque esto es redundante. Sin embargo, esta configuración es útil si más adelante se cambia el rango de puertos a un valor que incluirá los puertos reservados.