O servidor virtual EC2 recebe solicitações, mas não pode acessar outro host

0

Eu tenho uma máquina virtual no Amazon AWS Ubuntu onde eu instalei o Apache2, PHP5 e MySql. Tudo estava correndo bem, meu site estava funcionando bem.

De repente, a máquina virtual parou de acessar outros hosts. Isso acontece para todas as solicitações.

Descobri isso quando um script PHP começou a dar erro

'tempo de conexão esgotado' ao usar a função file_get_contents ()

<?php echo file_get_contents('http://example.com'); ?>

Eu fui para a linha de comando do servidor via SSH, e tentei pingar um host externo ping google.com e nada. Eu tentei usar o apt-get para atualizar o sistema sudo apt-get update e também não conecta.

O engraçado é que, se eu tento acessar o site, o servidor geralmente recebe a solicitação e retorna o site para o navegador. ou seja, a conexão com a internet está lá.

Outro detalhe é que o acesso a file_get_contents() PHP que estou tentando fazer também está no mesmo site, não em um site externo, e ainda assim expirou.

Aqui o resultado do comando netstat -lnp:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      957/sshd        
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      1098/mysqld     
tcp6       0      0 :::22                   :::*                    LISTEN      957/sshd        
tcp6       0      0 :::443                  :::*                    LISTEN      1145/apache2    
tcp6       0      0 :::80                   :::*                    LISTEN      1145/apache2    
udp        0      0 0.0.0.0:68              0.0.0.0:*                           560/dhclient    
udp        0      0 0.0.0.0:18032           0.0.0.0:*                           560/dhclient    
udp6       0      0 :::60689                :::*                                560/dhclient    
Active UNIX domain sockets (only servers)
Proto RefCnt Flags       Type       State         I-Node   PID/Program name    Path
unix  2      [ ACC ]     STREAM     LISTENING     8236     785/dbus-daemon     /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     6500     1/init              @/com/ubuntu/upstart
unix  2      [ ACC ]     STREAM     LISTENING     8549     965/acpid           /var/run/acpid.socket
unix  2      [ ACC ]     SEQPACKET  LISTENING     6797     324/systemd-udevd   /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     8919     1098/mysqld         /var/run/mysqld/mysqld.sock

Aqui o resultado de comer iptables-L:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

O que pode estar acontecendo?

    
por Walter Gandarella 09.05.2014 / 13:55

1 resposta

1

Para quem teve o mesmo problema como eu, fui até o final para encontrar o servidor de nomes configurado no ip da amazon.

Então eu editei /etc/resolv.conf e coloquei os nameservers do Google

nameserver 8.8.8.8
nameserver 8.8.4.4

e funcionou. Espero que isso ajude alguém.

    
por Walter Gandarella 04.06.2014 / 21:08