Perché Windows Firewall blocca le connessioni LAN in entrata verso httpd, nonostante una regola del firewall?


2

(Simile a questa domanda , Lo so, tuttavia la risposta non era una soluzione.)

Ho appena installato Apache 2.4 come servizio su Windows 7 Professional e l'ho configurato correttamente, tuttavia è accessibile solo dai client LAN se disattivo Windows Firewall. (I client LAN scadono se Windows Firewall è in esecuzione). Poiché il problema non è presente quando si disabilita Windows Firewall, non presumo che si tratti di un errore nella configurazione di httpd. Abilitare la registrazione dei pacchetti rilasciati con Windows Firewall su mi lascia con un file di registro vuoto, il che mi lascia perplessi. Se Windows Firewall sta effettivamente bloccando / rilasciando i pacchetti in ingresso sulla porta 80, perché non dovrebbe registrarlo? Ancora meglio, perché Windows Firewall continuerà a bloccare le connessioni nonostante la mia regola del firewall?

Ho implementato una regola firewall in entrata con le seguenti opzioni: Action: Allow the connection. Service: Apache2.4. TCP Port: 80. Local IP: Any. Remote IP: Local Subnet. Ho verificato che la regola si applichi a tutti i percorsi di rete. Questo non risolve il problema. Non credo che la regola non sia valida.

In esecuzione netstat -ao ha prodotto il seguente risultato rilevante con Windows Firewall attivato o disattivato. 10.0.0.76 è l'host su cui sto eseguendo httpd su:

Active Connections
Proto  Local Address          Foreign Address        State           PID
TCP    10.0.0.76:80           Traxus-GD65:0          LISTENING       9104

Se httpd funziona davvero, dovrei vedere a LISTEN stato su IP 10.0.0.76:80 per PID 9104 (il PID di httpd al momento dell'esecuzione del comando), ed effettivamente è lì. Si è verificato che il server Apache funzioni correttamente, restringendo la causa del problema a Windows Firewall.

Ecco l'output dalla corsa netsh advfirewall firewall show rule name="Apache HTTP Server" dir=in:

Rule Name:                            Apache HTTP Server
----------------------------------------------------------------------
Enabled:                              Yes
Direction:                            In
Profiles:                             Domain,Private,Public
Grouping:
LocalIP:                              Any
RemoteIP:                             LocalSubnet
Protocol:                             TCP
LocalPort:                            80
RemotePort:                           All
Edge traversal:                       No
Action:                               Allow
Ok.

Inoltre, ecco l'output rilevante della corsa netstat /bn con Windows Firewall disabilitato:

Active Connections
  Proto  Local Address          Foreign Address        State
  TCP    10.0.0.76:80           10.0.0.209:49019       ESTABLISHED
 [httpd.exe]
  TCP    10.0.0.76:80           10.0.0.209:49020       ESTABLISHED
 [httpd.exe]

Il 10.0.0.209 l'indirizzo è il mio client LAN. Queste due connessioni compaiono solo quando Windows Firewall è disabilitato e dopo che ho collegato il client.


Puoi per favore darci un? netsh advfirewall firewall show rule name=all dir=in Puoi usare name=Apache o qualcosa del genere se conosci il nome della tua regola.
Ryan Ries

Ho aggiunto il risultato alla domanda.
Floofies

Prova a cambiarlo su porta remota = qualsiasi.
Ryan Ries

La modifica di "Porta remota" su "Tutte le porte" era inefficace.
Floofies

Qual è la parte rilevante dell'output di netstat /bn? Controlla anche che il PID che hai trovato sia il vero PID del servizio Apache.
Ben N
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.