Não é possível pingar meu endereço IP

0

Eu não consigo pingar meu próprio endereço IP para minha máquina rodando Ubuntu. Eu tentei fazer ping na máquina com um VPS externo, mas ainda não tive sorte. Eu abri a porta 80 (TCP), embora eu não ache isso necessário. Acredito que seja algo relacionado às configurações do firewall, mas não consigo descobrir.

Muito obrigado!

    
por NSPredator 27.10.2015 / 22:16

1 resposta

0

ping usa algo chamado pacotes ICMP, o que não é relacionado aos pacotes TCP, como os que transportam uma carga HTTP.

Se você quiser que ping (e outros protocolos IP que podem depender do ICMP) funcionem, você precisa configurar o firewall para passar pacotes ICMP (talvez filtrando apenas aqueles que são de seu interesse, veja abaixo) e também as respostas que são gerados a partir desses pacotes. (Com o firewall certo, você também pode manter o estado, mesmo que o ICMP seja essencialmente sem estado. Mas isso não é essencial para o ping funcionar.)

Eu adicionaria os tipos de pacotes ICMP que você deseja transmitir, mas eles já são discutidos em security.se:

Em geral, você quer algo parecido com isto (isso é supercozinha, apenas com os detalhes relevantes):

[Host A] < - (internet ou rede não confiável) - > [Firewall] < - [Host B] - >

O tráfego entre o Host A e o Host B é filtrado dependendo da natureza do tráfego e do estado desse tráfego. Às vezes, o Host B e o Firewall são os mesmos. Isso não faz muita diferença, já que o Firewall em si é um tipo de host virtual em alguns aspectos.

Para diferentes tipos de cargas ICMP podem ser enviadas do Host A para uma rede que ele sabe que está no ou atrás do Firewall (ele não sabe qual, geralmente). Esse tráfego deve ser passado pelo Firewall, enviado para o Host B, e a resposta do Host B deve ser recebida como parte da conversação, NATted, e enviada de volta para o Host A.

Assim, este tráfego tem que ser passado de forma ambas , o que às vezes é importante para os firewalls.

A primeira coisa a verificar é se os pacotes ICMP do tipo em que estamos interessados (suas referências aqui e nos comentários dizem quais nos quais nos importamos) estão realmente sendo passados pelo Firewall e enviados para o Host B. ser algum registro ou interface de algum tipo que nos permite inspecionar e consultar o Firewall, tenho certeza.

Uma vez que sabemos que esse tráfego está passando, precisamos ter certeza de que ele está sendo enviado para o Host B (ou passado para a pilha IP no host local) e que a resposta também está sendo passada.

Os detalhes de "como fazer o iptables funcionar" estão além do escopo desta questão, mas outros podem ter mais dicas para você. Ou talvez esses detalhes possam ser encontrados em outra resposta do SO.

Um truque é salvar suas regras de firewall em um arquivo e criar um novo conjunto de regras que basicamente "passe tudo e registre, NAT tudo fora e registre" que você habilita para o teste. Então veja se os pings estão passando. isto é, prove que é o firewall que é o problema.

    
por jdv 27.10.2015 / 22:20