Windows Server 2008 - Conectando ao 127.0.0.1


9

Estou executando o Windows Server 2008 R2, temos um aplicativo que se conecta de (vincula a) um IP público no servidor a 127.0.0.1:8334 [se conecta a um serviço que escuta em 0.0.0.0:8334]

No Windows 2003, não havia nenhum problema com isso. Podemos nos conectar usando o TCP de 1.2.3.4 [por exemplo] a 127.0.0.1:8334.

No Windows 2008, descobrimos que as conexões TCP do IP público, por exemplo, 1.2.3.4 a 127.0.0.1:8334, até falham. mas o serviço aceita conexões de 127.0.0.1 a 127.0.0.1:8334 e 127.0.0.1 a 1.2.3.4:8334.

Tentei desligar o firewall do Windows, configurar seu registro, etc. (nenhuma entrada de log útil apareceu), sem sucesso. Isso é um problema com a nova pilha de rede?

Editar% s

1.2.3.4 está tentando conectar-se ao host local [127.0.0.1] na mesma máquina

O arquivo hosts é o arquivo host padrão do Windows 2008.

Informação de verificação de loopback, interessante. Tentei ... não funcionou. Verificado para verificar se eu tinha feito tudo corretamente - eu tenho.

Estou querendo saber se existe uma solução usando NAT ou alguma outra maneira de encaminhar portas - se eu encaminhar 127.0.0.1:port para 1.2.3.4:port, isso funcionaria? Como o aplicativo escuta em 0.0.0.0:port, ele seleciona conexões em 1.2.3.4:port

O arquivo HOSTS contém o host local 127.0.0.1 - no entanto, o arquivo hosts é usado apenas em pesquisas de nome de host. Nesse caso, nosso aplicativo não procuraria nenhum nome de host, pois o endereço IP 127.0.0.1 é codificado nele (em vez de localhost). Portanto, o arquivo HOSTS não entra em jogo aqui.

Quanto às portas acima de 1024 [acho que você se refere ao problema MaxUserPort, talvez?] Eu testei isso tentando uma conexão simples à porta 445 - funciona a partir de 127.0.0.1, não funciona quando eu conecto do IP de origem 1.2.3.4. 445 é um serviço padrão do Windows, portanto, deve funcionar!

Atualmente não executando o NAT ou o RRAS na máquina ... estava pensando se havia uma maneira de fazer o redirecionamento - acho que não funcionará, pois a pilha TCP / IP rejeitará o pacote antes que ele atinja a interface de loopback para redirecionar.

Impressão de rota que eu verifiquei - parece bom, os IPs públicos roteados primeiro e, finalmente, 127.0.0.0 máscara de rede 255.255.255.0 e 127.0.0.1 máscara de rede 255.255.255.255 para loopback.

Editar Parece que encontrei a resposta sobre o motivo do problema. Eu usei eventvwr.msc, habilitei o log do Winsock, desliguei outros serviços, apenas tentei este teste de conexão. Ocorreu um erro que, em hexadecimal, foi mapeado para STATUS_INVALID_ADDRESS_COMPONENT quando eu o pesquisei no Google.

Isso me levou a: http://social.msdn.microsoft.com/Forums/en-US/wfp/thread/d7cb6138-3f67-4467-a068-8325f56739ba

O que confirmou que essa é uma alteração de design no WFP para Vista / 7 / Server 2008 [plataforma de filtragem do Windows].

[Ver resposta de Anupama Vasanth]

Parece que terei que seguir o caminho difícil e reescrever o código [difícil porque significa lidar com gerentes!]

Obrigado por me ajudar a localizar / confirmar o problema!


Na sua descrição, 1.2.3.4 e 127.0.0.1 estão na mesma máquina? O que você tem para eles no arquivo hosts?
Gennady Vanin Геннадий Ванин

Respostas:


1

Não se esqueça, no Windows 2008, o firewall está ativado por padrão. Isso potencialmente pode bloquear todo e qualquer tráfego, mesmo na interface de loopback. Além disso, se você ligar para 0.0.0.0, estará aceitando conexões em TODAS as interfaces. O firewall ainda bloquearia isso. Você pode tentar desligar o firewall durante o teste ... e depois ligá-lo novamente. Não tive problemas ao conectar-me a vários programas que desenvolvi no 127.0.0.1.


0

Tente conectar-se ao 127.0.0.2 no Vista / win2k8 e superior - parece engraçado, mas funciona. Teve resultados positivos com isso no passado


-3

Estou certo de que ele está conectado ao recurso de segurança de verificação de loopback, embora não possa obter detalhes detalhados de como ele é implementado, apenas como superá-lo:

http://chillicode.wordpress.com/tag/loopback-check/

E para "APLICAR AO" Windows 2008, consulte http://support.microsoft.com/kb/896861


Bem, o que exatamente está no seu arquivo HOSTS? Eu não tenho o W2008. Você quer dizer que não há "127.0.0.1 localhost" lá?

Também li em algum lugar que a configuração padrão do W2008 não permite a comunicação com portas maiores que 1024.


Você pode enviar comentários sobre o MS Windows Server 2008 diretamente à equipe da MS através

e eles responderão

Se você tentou desativar a "verificação de loopback" através do método de edição do Registro, será necessário reiniciar. Outro - não.

NAT dentro da máquina? 127.0.0.1 não é encaminhado ou roteado, acredito que seja interno, você pode desconectar a placa de rede, seu 1.2.3.4 desaparecerá, mas 127.0.0.1 continuará lá.

Qual é a saída do seu (Run -> cmd -> route print)?

Há mais um momento, pensei, embora não saiba como montar.

127.0.0.1 é host local (interface), é nome de rótulo único e considerado local. 1.2.3.4 é um nome que não é um rótulo único.

Os possíveis problemas com isso são que esse nome pode ter sido considerado externo


Você pode tentar, separadamente:

  1. Desativando (se estiver ativado e ativando se estiver desativado) IPv6 no adaptador de rede?

  2. Colocando um nome de rótulo único para 1.2.3.4 no arquivo HOSTS?


O que é a descrição do evento correspondente, o EventID etc. no eventvwr.msc por falha na comunicação de 1.2.3.4 a 127.0.0.1:8334?


"445 é um serviço padrão do Windows"

É para SMB-direto sobre TCP / IP? para compartilhamento de arquivos? CIFS?

Não é tão confiável ... Ele está sendo constantemente invadido por hotfixes da Microsoft. Ler:

("A navegação NetBIOS nas sub-redes pode falhar após a atualização para o Windows Server 2008") - http://blogs.technet.com/b/networking/archive/2008/07/25/netbios-browsing-across-subnets-may-fail -depois de atualizar para o Windows Server 2008.aspx? wa = wsignin1.0

Então,

"temos o mesmo problema descrito anteriormente com as máquinas Vista SP2 tentando alcançar um compartilhamento de arquivos do Windows Server 2008 SP1 ou SP2. O serviço de compartilhamento de arquivos é protegido pelo Firewall do Windows com segurança avançada, usando uma regra predefinida para SMB (Regra Predefinida para Compartilhamento de Arquivos). Conexão segura"

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.