Windows Server 2008 - Connessione a 127.0.0.1


9

Sono in esecuzione Windows Server 2008 R2, abbiamo un'applicazione che si collega da (si lega a) un IP pubblico sul server a 127.0.0.1:8334 [si connette a un servizio in ascolto su 0.0.0.0:8334]

In Windows 2003, non ci sono stati problemi con questo. Possiamo collegarci usando TCP da 1.2.3.4 [es.] A 127.0.0.1:8334 bene.

In Windows 2008, troviamo che le connessioni TCP dall'ip pubblico, ad es. Da 1.2.3.4 a 127.0.0.1:8334, falliscono, anche. ma il servizio accetta connessioni da 127.0.0.1 a 127.0.0.1:8334 e da 127.0.0.1 a 1.2.3.4:8334.

Ho provato a disattivare il firewall di Windows, a configurarne la registrazione ecc. (Non sono state visualizzate voci di registro utili), senza risultato. È un problema con il nuovo stack di rete?

modifiche

1.2.3.4 sta tentando di connettersi a localhost [127.0.0.1] sulla stessa macchina

Il file Hosts è il file host predefinito di Windows 2008.

Informazioni sul controllo di loopback, interessanti. Provato ... non ha funzionato. È stato effettuato un controllo incrociato per verificare che l'ID abbia fatto tutto correttamente.

Mi chiedo se esiste una soluzione che utilizza NAT o un altro modo per inoltrare le porte: se inoltro 127.0.0.1:port a 1.2.3.4:port, funzionerebbe? Dato che l'app è in ascolto su 0.0.0.0:port rileverà le connessioni su 1.2.3.4:port

Il file HOSTS contiene localhost 127.0.0.1 - tuttavia, il file hosts viene utilizzato solo nelle ricerche di nomi host. In questo caso, la nostra applicazione non cercherebbe alcun nome host, poiché l'indirizzo IP 127.0.0.1 è codificato (anziché il nome host localhost). Quindi il file HOSTS non entrerebbe in gioco qui.

Per quanto riguarda le porte sopra la 1024 [pensi di riferirti al problema MaxUserPort forse?] L'ho provato provando una semplice connessione alla porta 445 - funziona da 127.0.0.1, non funziona quando mi collego dall'IP sorgente 1.2.3.4. 445 è un servizio Windows standard, quindi dovrebbe funzionare!

Attualmente non eseguire NAT o RRAS sulla macchina ... mi chiedevo se ci fosse un modo per eseguire il reinstradamento - Immagino che non funzionerà poiché lo stack TCP / IP rifiuterà il pacchetto prima che raggiunga l'interfaccia di loopback per reindirizzare.

Stampa del percorso che avevo verificato: sembra che gli IP pubblici siano stati instradati per primi, quindi infine 127.0.0.0 netmask 255.255.255.0 e 127.0.0.1 netmask 255.255.255.255 entrambi al loopback.

Modifica Sembra che abbia trovato la risposta sul motivo del problema. Ho usato eventvwr.msc, abilitato la registrazione di Winsock, disattivato altri servizi, ho appena provato questo test di connessione. Si è verificato un errore che in esadecimale è stato mappato su STATUS_INVALID_ADDRESS_COMPONENT quando l'ho cercato su Google.

Mi ha portato a: http://social.msdn.microsoft.com/Forums/en-US/wfp/thread/d7cb6138-3f67-4467-a068-8325f56739ba

Il che ha confermato che si tratta di una modifica in base alla progettazione in WFP per Vista / 7 / Server 2008 [piattaforma filtro Windows].

[Vedi risposta di Anupama Vasanth]

Sembra che dovrò percorrere la strada difficile e riscrivere il codice [difficile perché significa trattare con i gestori!]

Grazie per avermi aiutato a individuare / confermare il problema!


Nella tua descrizione, 1.2.3.4 e 127.0.0.1 sono sulla stessa macchina? Cosa hai per loro nel file hosts?
Gennady Vanin Геннадий Ванин

Risposte:


1

Non dimenticare, in Windows 2008, il firewall è attivato per impostazione predefinita. Questo potenzialmente può bloccare tutto e tutto il traffico anche sull'interfaccia di loopback. Inoltre, se si esegue il binding a 0.0.0.0, si accettano connessioni su TUTTE le interfacce. Il firewall lo bloccherebbe comunque. Potresti provare a disattivare il firewall durante il test ... e quindi a riaccenderlo. Non ho avuto problemi di connessione a vari programmi che ho sviluppato su 127.0.0.1.


0

Prova a connetterti a 127.0.0.2 in Vista / win2k8 e versioni successive - sembra divertente ma funziona. Ha avuto risultati positivi con questo in passato


-3

Sono certo che sia collegato alla funzionalità di sicurezza del controllo di loopback anche se non riesco a ottenere dettagli approfonditi su come viene implementato, solo su come superarlo:

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

E per "APPLICA A" Windows 2008, vedere http://support.microsoft.com/kb/896861


Bene, cosa c'è esattamente nel tuo file HOSTS? Non ho W2008. Vuoi dire che non c'è "127.0.0.1 localhost" lì?

Ho anche letto da qualche parte che l'installazione W2008 predefinita non consente di comunicare con porte superiori a 1024.


Puoi inviare feedback su MS Windows Server 2008 direttamente al team MS tramite

e loro risponderanno

Se si è tentato di disattivare il "controllo di loopback" tramite il metodo di modifica del Registro di sistema, è necessario riavviare. Un altro - no.

NAT all'interno della macchina? 127.0.0.1 non viene inoltrato o instradato, credo di si, è interno, è possibile scollegare la scheda di rete, il 1.2.3.4 scomparirà ma 127.0.0.1 continuerà ad essere lì.

Qual è l'output del tuo (Run -> cmd -> route print)?

C'è ancora un momento, stavo pensando, anche se non so come metterlo insieme.

127.0.0.1 è localhost (interfaccia), è un nome con etichetta singola e considerato locale. 1.2.3.4 è un nome non a marchio singolo.

Possibili problemi con questo è che tale nome potrebbe essere stato considerato esterno


Puoi provare, separatamente:

  1. Disabilitazione (se abilitata e abilitata se disabilitata) IPv6 sulla scheda di rete?

  2. Inserire un nome con etichetta singola per 1.2.3.4 nel file HOSTS?


Qual è la descrizione dell'evento corrispondente, EventID, ecc. In eventvwr.msc per mancata comunicazione da 1.2.3.4 a 127.0.0.1:8334?


"445 è un servizio Windows standard"

È per SMB-diretto su TCP / IP? per la condivisione di file? CIFS?

Non così affidabile ... Viene costantemente violato dagli aggiornamenti rapidi di MS. Leggere:

("La navigazione di NetBIOS tra le sottoreti potrebbe non riuscire dopo l'aggiornamento a Windows Server 2008") - http://blogs.technet.com/b/networking/archive/2008/07/25/netbios-browsing-across-subnets-may-fail -Dopo-aggiornamento-per-windows-server-2008.aspx? wa = wsignin1.0

Poi,

"abbiamo lo stesso problema descritto in precedenza con i computer Vista SP2 che tentano di raggiungere una condivisione di file Windows Server 2008 SP1 o SP2. Il servizio di condivisione file è protetto da Windows Firewall con sicurezza avanzata utilizzando una regola predefinita per la condivisione di file (SMB) che richiede un connessione sicura "

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.