Servidor Web Apache não acessível publicamente

2

Eu tenho um servidor web Apache (2.4.10) em execução em uma área de trabalho com o Debian (Jessie, 8).

A área de trabalho possui um endereço IP local estático (192.168.xx) e meu endereço IP WAN (público) também foi corrigido (82.xxx) pelo meu ISP. Um encaminhamento de porta para a porta 80 para esta área de trabalho foi adicionado.

Posso acessar a página da Web da minha LAN sem problemas, mas não consigo acessá-la usando o endereço WAN, de dentro ou de fora da minha casa: recebo um "A página da Web não está disponível - ERR_CONNECTION_REFUSED" do Chrome. Observe que eu posso abrir meu roteador usando o endereço WAN (em outra porta).

A página da web em si não é muito mais que "index.html" com o Hello World.

Tentei ligar o firewall do iptables, não funcionou. Eu tentei uma porta diferente de 80, não funcionou. Eu chamei pelo ISP e a porta 80 não está bloqueada. Eu já me pesquisei no Google. Alguém tem alguma sugestão sobre como tornar o site acessível?

Roberto
fonte
Você já tentou nmap ou netcat para o seu desktop a partir da WAN? (talvez comparando com o mesmo de dentro da LAN). Minha primeira suspeita seria que o encaminhamento de porta não está funcionando por algum motivo. Talvez eu tente transferir a porta 22 também para a área de trabalho e ssh na máquina a partir da WAN, apenas para testar se o encaminhamento de porta está funcionando.
jhaagsma
Eu também não consegui SSH na área de trabalho. Acontece que eu estava usando uma configuração incorreta no encaminhamento de porta.
24416 Roberto

Respostas:

1

Eu resolvi isso!

Graças ao Moonpoint, percebi que o problema estava no encaminhamento de porta. Então, dei uma outra olhada e notei que, para a regra da porta 80, a "Interface WAN" foi definida como "ADSL" (padrão). Não sei o que isso significa, então nunca mudei. Tentei opções diferentes e defini-lo como "ETHWAN" resolveu o problema. Agora posso acessar a página da Web publicamente e adicionei um DDNS sem IP que também funciona.

EDIT: Agora eu aprendi que a interface ETHWAN WAN foi simplesmente a adicionada ao roteador pelo meu ISP e é a interface para conexão de fibra óptica.

Roberto
fonte
0

Quando você declara que tentou desativar o firewall do iptables, mas não obteve êxito, quer dizer que desabilitou o firewall do iptables, mas ainda não conseguiu se conectar ao servidor da Web a partir de um endereço IP externo ou que não conseguiu desativar o host firewall baseado em iptables? Verifique os logs de acesso e erro do Apache do seu site para ver se alguma tentativa de acessar o sistema a partir de um endereço IP externo está registrada em um desses arquivos. Verifique seu /etc/httpd/conf/httpd.confarquivo Apache . Você tem alguma seção semelhante à seguinte em qualquer lugar do arquivo:

<Directory /home/www/example>
      Order Deny,Allow
      Deny from all
      Allow from 192.168 127.0.0.1
 </Directory>

No exemplo acima, o acesso de todos, exceto o endereço do host local , 127.0.0.1, e sistemas na mesma LAN, ou seja, 192.168.xxx.xxx, não é permitido. Se você deseja tornar o servidor acessível ao mundo, um "Negar a todos" seria inapropriado.

Você pode isolar o problema no sistema Debian no qual está executando o servidor web Apache ou no roteador em que você configurou o encaminhamento de porta, desde que não haja equipamentos intermediários de rede, usando o comando tcpdump no sistema Debian Linux. Emita o comando tcpdump -i any port 80como root. Isso fará com que o tcpdump procure apenas conexões na porta 80 em qualquer interface, ignorando outro tráfego. Em seguida, tente conectar-se ao servidor web a partir de um endereço externo. Se tcpdump mostrar o tráfego para a porta 80 que chega ao sistema Linux, o encaminhamento de porta está funcionando corretamente. Se você provavelmente não tiver um problema com o encaminhamento de porta, verifique novamente se está encaminhando a porta 80 para o endereço IP correto do servidor da web.

ponto da lua
fonte
Obrigado por sua resposta. Eu quis dizer que acho que consegui desligar o firewall (segui um tutorial), mas isso não resolveu o problema. httpd.confnão é mais usado no Apache, eu acho. Embora eu poderia encontrar o <Directory>bit no Apache2.conf. Não havia uma declaração semelhante a "Negar tudo": <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>tentei o dcpdump e, de fato, chamadas IP externas não são registradas. Recebo uma atualização quando abro o servidor normalmente. No entanto, tenho certeza de que estou encaminhando a porta 80.
Roberto