Minha estação de trabalho e meu servidor estão no mesmo segmento LAN e podem executar ping um no outro (e posso fazer ssh no servidor a partir da minha estação de trabalho sem problemas).
Fiz uma instalação padrão do Apache no centos 7.
Iniciei o serviço, mas não consigo navegar até meu servidor web a partir da minha estação de trabalho.
A porta 80 do relatório nmap é filtrada.
Desativei o SELinux no servidor, mas a porta ainda está filtrada.
Aqui está o que netstat -l me dá:
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:smtp 0.0.0.0:* LISTEN
tcp6 0 0 [::]:http [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
tcp6 0 0 localhost:smtp [::]:* LISTEN
raw6 0 0 [::]:ipv6-icmp [::]:* 7
Estranhamente, netstat -na mostra a porta 80 como escuta, mas para ipv6 (embora eu tenha lido em algum lugar, isso não significa necessariamente que ela também não esteja escutando em ipv4)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 64 10.1.1.1:22 10.2.2.2:44939 ESTABLISHED
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:25 :::* LISTEN
raw6 0 0 :::58 :::* 7
Aqui estão partes relevantes do meu /etc/httpd/conf/httpd.conf (que não modifiquei)
<Directory />
AllowOverride none
Require all denied
</Directory>
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Files ".ht*">
Require all denied
</Files>
O serviço parece estar funcionando bem:
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
Active: active (running) since Fri 2015-10-02 08:36:40 EDT; 1h 27min ago
Process: 23294 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
Main PID: 23302 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─23302 /usr/sbin/httpd -DFOREGROUND
├─23303 /usr/sbin/httpd -DFOREGROUND
├─23304 /usr/sbin/httpd -DFOREGROUND
├─23305 /usr/sbin/httpd -DFOREGROUND
├─23306 /usr/sbin/httpd -DFOREGROUND
└─23307 /usr/sbin/httpd -DFOREGROUND
Por que não está escutando na porta 80?
Responder1
Como Michael Hampton comentou em sua postagem, aposto que seu firewall (iptables) está bloqueando seu tráfego.
Desative-o ( systemctl disable firewalld
) ou diga para permitir o tráfego na porta 80 ( firewall-cmd --zone=public --add-port=80/tcp --permanent
).
Responder2
O fato de a porta 80 ser filtrada ou não não é relevante para a saída do netstat. Mesmo que o iptables esteja configurado para bloquear a conexão (DROP ou REJECT) com essa porta, você verá que o Apache está escutando a porta 80.
A questão é que o httpd está configurado para escutar AMBOS os endereços IPv4 e IPv6 (0.0.0.0 e ::) e, nesse caso, o netstat mostra apenas o IPv6. A explicação está aqui:
https://bugs.launchpad.net/ubuntu/+source/net-tools/+bug/657270
Resumindo: nesse caso a conexão IPv6 é capaz de atender AMBOS os protocolos e portanto apenas um soquete é aberto. E como apenas um soquete está aberto, apenas um soquete é mostrado na saída do netstat.
Responder3
Verifique as regras do iptables ( iptables-save
) e veja se a porta 80 é permitida.
Para fins de teste, você pode fazer service iptables stop
ou iptables -F
.