Portas do Amazon-EC2 não abertas apesar da configuração dos Grupos de Segurança e do iptables

2

Acabei de alugar um servidor Amazon EC2, feito para hospedar um aplicativo node.js que escuta o cliente na porta 9001.

Configurei os Grupos de segurança e adicionei regras de entrada e saída nessa porta . Não há firewall (Amazon Linux) e eu desabilitei completamente o iptables.

Um sudo netstat -plunta | grep LISTEN retorna isso:

tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      2064/sshd           
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      2104/sendmail       
tcp        0      0 0.0.0.0:9001                0.0.0.0:*                   LISTEN      3207/node           
tcp        0      0 127.0.0.1:27017             0.0.0.0:*                   LISTEN      2146/mongod         
tcp        0      0 :::80                       :::*                        LISTEN      2303/httpd          
tcp        0      0 :::22                       :::*                        LISTEN      2064/sshd       

Meu aplicativo node.js está escutando nesta porta e em todos os endereços, com o comando server.listen(9001, "0.0.0.0");

No entanto, um nmap do servidor retorna isso:

Portscan scan report for 172.31.47.81
Host is up.
All 1000 scanned ports on 172.31.47.81 are filtered

Portscan done: 1 IP address (1 host up) scanned in 2.32 seconds

Como alternativa, fazer um nmap no meu telefone informa que apenas a porta 80 está aberta.

Se eu executar o aplicativo node.js no servidor e fizer um telnet <ip_server> 9001 , ele funcionará. No entanto, se eu fizer a mesma coisa no meu computador pessoal, recebo um erro de tempo limite.

Eu sei que esta questão foi abordada várias vezes, mas nenhuma das soluções que tentei funcionou. Eu posso fazer ping no servidor, usar o ssh para conectar-me a ele, mas o aplicativo node.js não funcionará, e qualquer uma das portas que devem estar abertas na verdade não estão (mesmo tentando conectar através de um navegador ao servidor da web funciona, apesar de o httpd estar configurado com um website adequado, pelo que a porta 80 também não está aberta).

Alguma idéia de como corrigir isso?

    
por pie3636 29.03.2015 / 23:22

1 resposta

2

All 1000 scanned ports on 172.31.47.81 are filtered

Como, de fato, eles deveriam ser.

Existem vários intervalos de endereços IPv4 reservados para uso em redes privadas.

10.*.*.*
172.16.*.* through 172.31.*.*
192.168.*.*

Qualquer endereço nesses intervalos não pode ser acessado diretamente pela Internet.

link

link

As instâncias do EC2 sempre têm um endereço IP privado associado a elas e, às vezes, um IP público acessível externamente. Esses endereços externos são alocados dinamicamente no lançamento da instância de um pool (e desalocados quando a instância é interrompida ou encerrada, ponto no qual o endereço volta ao pool) ou podem ser reservados continuamente pelo cliente e associados / desassociados a instâncias e retidos para a reutilização subsequente do cliente (nesse caso, eles são chamados de "Endereços IP Elásticos").

Internamente para a implantação EC2 de um cliente em uma determinada região (e através de túneis VPN em VPC), as instâncias podem se referenciar por seu IP privado (e devem , porque estão livres de custos de transporte de dados) ... mas através da Internet, as instâncias só podem ser acessadas pelo seu endereço IP público (também conhecido como "externo"), que é visível no console ... embora, do ponto de vista da instância (ou seja, ifconfig , etc.) o único endereço conhecido é o privado.

A infra-estrutura do EC2 faz a conversão de endereços de rede (NAT) de forma transparente entre o público externo e o endereço privado interno.

Se você estiver acessando a instância por ssh de fora, o endereço IP que você está usando para estabelecer a conexão ssh será o que você precisará usar para acessar outros serviços também.

    
por 31.03.2015 / 06:24