Desde a atualização do Windows 2004, estou lutando com muitos programas e ferramentas que não podem ser vinculados a determinadas portas. Um pouco de pesquisa que encontrei:
netsh interface ipv4 show excludedportrange protocol=tcp
No meu caso, rende (depois de desabilitar o hyper-v, mudei para o Docker baseado em WSL2):
Startport Endport
---------- --------
1131 1230
1231 1330
1331 1430
1431 1530
1735 1834
1835 1934
1943 2042
2043 2142
2143 2242
2243 2342
2343 2442
2443 2542
2543 2642
2643 2742
2743 2842
2843 2942
2943 3042
3129 3228
3229 3328
3329 3428
3429 3528
3831 3930
3931 4030
4031 4130
4131 4230
4231 4330
4531 4630
4631 4730
5241 5340
5357 5357
5458 5557
5558 5657
5658 5757
6040 6139
6140 6239
6933 7032
7033 7132
7133 7232
7233 7332
7333 7432
7633 7732
7733 7832
8001 8100
8101 8200
8201 8300
8301 8400
8401 8500
8501 8600
27972 28071
28072 28171
28172 28271
28272 28371
28572 28671
28672 28771
50000 50059 *
Atualmente, o intervalo de 1431 a 1530 está me impedindo de executar meu banco de dados Oracle. Mas os intervalos reservados mudam após cada reinicialização.
Tentei deletar alguns intervalos com
netsh int ipv4 delete excludedportrange protocol=tcp startport=1431 numberofports=100
mas rende access denied
(no admin cmd).
O que está reservando esses intervalos e como controlá-los?
Encontrei uma resposta neste comentário do GitHub : você pode tentar
para liberar o porto. Isso funcionou para você no Windows 10 2004 e para mim no Windows 10 20H2.
(Na versão anterior do Windows, tive sucesso com um dos seguintes, compare Como posso saber o que está impedindo meu soquete de se ligar a localhost:50060-50959 ).
Embora isso possa desconectar sua rede, não se desespere. Porque, se uma das opções acima funcionar para você, tente o seguinte uma vez para corrigir isso permanentemente:
(adapte o
startport
e onumberofports
às suas necessidades - considere também,ipv6
se necessário).Isso deve sobreviver a um
net start
serviço correspondente, bem como a uma reinicialização, como você pode verificar usandoSe isso resultar
você deve ser bom por um tempo.
A resposta de @yoshpe (relacionada ao Hyper-V) é uma possível causa do problema.
No entanto, a questão era diferente para mim. No meu caso, é porque o Windows começou com suas "portas dinâmicas" configuradas para começar na porta 1025 e terminar na porta 5000. Por isso, quando o Docker Desktop inicializava, ele reservava suas portas dentro do intervalo de portas 1025-5000, que estava (às vezes!) em conflito com as portas que meus próprios programas foram configurados para reservar/usar. (para encaminhamento de porta do meu cluster Kubernetes local para localhost)
Para ver se suas portas dinâmicas estão definidas incorretamente, você pode executar:
Se você vir
Start Port: 1025
, o intervalo de portas dinâmicas está configurado incorretamente. Para corrigi-lo, você precisará configurá-lo para um intervalo mais sensato - evitando as portas <10k. (que normalmente é onde os desenvolvedores colocam seus próprios aplicativos)Para configurá-lo para o intervalo recomendado: (se o seu problema for com ipv6, ajuste o comando de acordo)
Para mais informações, veja aqui: https://stackoverflow.com/a/62359555/2441655
Parece estar relacionado aos problemas do Hyper-V descritos aqui:
Eu adicionei a chave de registro:
Que limpou a maioria das portas reservadas (existem muitos intervalos reservados, como 1612-2111, 2180-2779, etc..)