Estou trabalhando na configuração do Apache no meu roteador (no qual instalei o Tomato, um pacote de firmware customizado baseado em linux). Eu consegui instalar o Apache, e acredito que o configurei corretamente, mas não consigo obter o padrão "It works!" página para carregar.
Executando o netstat, posso ver o valor no incremento da coluna "Recv-Q" toda vez que tento acessar o arquivo servido pelo navegador, mas é como se o Apache não respondesse ou não ao pedido. Seguir o error_log do Apache também não produz nada.
Alguém vê alguma coisa óbvia, ou tem algumas sugestões de coisas para tentar fazer as coisas funcionarem? Posso fornecer informações adicionais que ajudem?
Exemplo de saída do netstat (veja a quinta entrada com o endereço "::: www":
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp 0 0 localhost:52698 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:1338 0.0.0.0:* LISTEN
tcp 4 0 :::www :::* LISTEN
tcp 0 0 :::domain :::* LISTEN
tcp 0 0 :::ssh :::* LISTEN
tcp 0 0 :::telnet :::* LISTEN
tcp 0 0 localhost:52698 :::* LISTEN
tcp 0 0 :::1338 :::* LISTEN
udp 0 0 localhost:38032 0.0.0.0:*
udp 0 0 0.0.0.0:5038 0.0.0.0:*
udp 0 0 0.0.0.0:domain 0.0.0.0:*
udp 0 0 0.0.0.0:bootps 0.0.0.0:*
udp 0 0 0.0.0.0:60648 0.0.0.0:*
udp 0 0 0.0.0.0:49518 0.0.0.0:*
udp 0 0 0.0.0.0:38000 0.0.0.0:*
udp 0 0 :::domain :::*
raw 0 0 0.0.0.0:255 0.0.0.0:* 255
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 13850 /opt/var/apache2/run/cgisock.1325
Conteúdo do error_log do Apache:
[Wed Feb 13 16:05:16 2013] [notice] Digest: generating secret for digest authentication ...
[Wed Feb 13 16:05:16 2013] [notice] Digest: done
[Wed Feb 13 16:05:16 2013] [info] APR LDAP: Built with OpenLDAP LDAP SDK
[Wed Feb 13 16:05:16 2013] [info] LDAP: SSL support available
[Wed Feb 13 16:05:16 2013] [info] mod_unique_id: using ip addr 192.168.253.1
[Wed Feb 13 16:05:17 2013] [notice] Apache/2.2.20 (Unix) DAV/2 configured -- resuming normal operations
Atualização: Parece que o firewall está bloqueando as solicitações recebidas, mesmo que eu tenha aberto a porta 80 (e 443).
Mensagens do firewall (informações de endereços removidos, x = local, y = remoto):
Feb 13 16:53:15 UBERnet user.warn kernel: DROP IN=vlan2 OUT= MACSRC=xx:xx:xx:xx:xx:xx MACDST=yy:yy:yy:yy:yy:yy MACPROTO=0800 SRC=yyy.yyy.yyy.yyy DST=xxx.xxx.xxx.xxx LEN=48 TOS=0x00 PREC=0x20 TTL=57 ID=48272 DF PROTO=TCP SPT=43229 DPT=80 SEQ=3727060622 ACK=0 WINDOW=65535 RES=0x00 SYN URGP=0 OPT (0204056404020000)
iptables -L output:
Chain INPUT (policy DROP)
target prot opt source destination
DROP all -- anywhere anywhere state INVALID
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
shlimit tcp -- anywhere anywhere tcp dpt:ssh state NEW
shlimit tcp -- anywhere anywhere tcp dpt:1338 state NEW
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
ACCEPT udp -- anywhere anywhere udp spt:bootps dpt:bootpc
ACCEPT tcp -- anywhere anywhere tcp dpt:1337
ACCEPT tcp -- anywhere anywhere tcp dpt:1338
logdrop all -- anywhere anywhere
ACCEPT tcp -- anywhere anywhere tcp dpt:www
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere tcp dpt:www
Chain FORWARD (policy DROP)
target prot opt source destination
all -- anywhere anywhere account: network/netmask: 192.168.253.0/255.255.255.0 name: lan
ACCEPT all -- anywhere anywhere
DROP all -- anywhere anywhere state INVALID
TCPMSS tcp -- anywhere anywhere tcp flags:SYN,RST/SYN TCPMSS clamp to PMTU
monitor all -- anywhere anywhere
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
wanin all -- anywhere anywhere
wanout all -- anywhere anywhere
ACCEPT all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
Chain logdrop (2 references)
target prot opt source destination
LOG all -- anywhere anywhere state NEW limit: avg 1/sec burst 5 LOG level warning tcp-sequence tcp-options ip-options macdecode prefix 'DROP '
DROP all -- anywhere anywhere
Chain logreject (0 references)
target prot opt source destination
LOG all -- anywhere anywhere limit: avg 1/sec burst 5 LOG level warning tcp-sequence tcp-options ip-options macdecode prefix 'REJECT '
REJECT tcp -- anywhere anywhere reject-with tcp-reset
Chain monitor (1 references)
target prot opt source destination
RETURN tcp -- anywhere anywhere WEBMON --max_domains 1000 --max_searches 1000
Chain shlimit (2 references)
target prot opt source destination
all -- anywhere anywhere recent: SET name: shlimit side: source
logdrop all -- anywhere anywhere recent: UPDATE seconds: 60 hit_count: 4 name: shlimit side: source
Atualização: Como uma observação, eu consegui fazer o lighttpd funcionar apenas com o ajuste do iptables, então parece que era um problema específico da configuração do Apache.