Por que o Firewall do Windows está bloqueando as conexões LAN de entrada para o httpd, apesar de uma regra de firewall?

2

(Semelhante a esta pergunta , eu sei, no entanto, a resposta não foi uma solução.

Eu recentemente instalei o Apache 2.4 como um serviço no Windows 7 Professional, e configurei-o corretamente, no entanto, ele só é acessível a partir de clientes da LAN se eu desabilitar o Firewall do Windows. (Os clientes de LAN passam o tempo limite se o Firewall do Windows estiver em execução). Como o problema não está presente ao desativar o Firewall do Windows, não presumo que seja um erro na configuração do httpd. Habilitar o log de pacotes perdidos com o Firewall do Windows me deixa com um arquivo de log em branco, o que me deixa perplexo. Se o Firewall do Windows estiver realmente bloqueando / descartando pacotes de entrada para a porta 80, por que não registrar isso? Melhor ainda, por que o Firewall do Windows continuaria bloqueando as conexões apesar da minha regra de firewall?

Implementei uma regra de firewall de entrada com as seguintes opções: Action: Allow the connection. Service: Apache2.4. TCP Port: 80. Local IP: Any. Remote IP: Local Subnet. Verifiquei que a regra se aplica a todos os locais de rede. Isso não resolve o problema. Não acredito que a regra seja inválida.

A execução de netstat -ao gerou o seguinte resultado relevante com o Firewall do Windows ativado ou desativado. 10.0.0.76 é o host em que estou executando o httpd:

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

Se o httpd estiver de fato funcionando, eu deveria estar vendo um estado LISTEN no IP 10.0.0.76:80 para PID 9104 (o PID do httpd no momento da execução do comando) e, de fato, ele está lá. O servidor Apache está verificado que está funcionando corretamente, limitando a causa do problema ao Firewall do Windows.

Aqui está a saída da execução de 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.

Além disso, aqui está a saída relevante de executar netstat /bn com o Firewall do Windows desativado:

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]

O endereço 10.0.0.209 é meu cliente de rede local. Essas duas conexões só aparecem quando o Firewall do Windows está desabilitado e depois de eu ter conectado o cliente.

    
por Floofies 15.02.2016 / 01:31

0 respostas