Como evitar que a porta seja usada por outro serviço como abertura de uma?

Como evitar que a porta seja usada por outro serviço como abertura de uma?

Tenho vários serviços em execução em portas consecutivas (escutando-as) em um intervalo restrito (1024+). De vez em quando preciso reiniciar esses serviços e acontece que um dos serviços está usando a porta de outro serviço como porta local para conectar-se ao banco de dados. Como resultado, outro serviço reclama por não conseguir escutar na porta agora ocupada. Preciso determinar manualmente o serviço com netstat para forçar a mudança de porta reiniciando esse mesmo serviço para que a porta agora esteja livre para ser usada por outro serviço legítimo.

Existe algum método para impedir que a porta seja usada como abertura e permitir que ela seja aberta apenas no modo de escuta?

Sistema: Linux

Atualmente usando o intervalo de portas de 9000 a 9100

Responder1

Normalmente essas portas já devem estar fora do intervalo de portas "efêmeras" (que não é o mesmo que portas sem privilégios). O intervalo é definido pelonet.ipv4.ip_local_port_range sysctl, e no meu sistema mostra 32768–60999 por padrão.

Se local_port_range for alto o suficiente, significa que a porta 9000 nunca deve ser escolhida automaticamente como porta de origem (embora isso não impeça a execução de programasexplicitamentevinculação a esta porta).

Você também pode adicionar suas portas ao net.ipv4.ip_local_reserved_portssysctl (via /etc/sysctl.d); esta opção usa uma lista separada por espaços de números de porta individuais.

informação relacionada