Wget, Curl, Yum Fail mas Ping funciona - CentOS 5

5

Atualmente, temos três servidores da Web.

Os servidores um e dois se comportam, mas estou tendo problemas reais com o terceiro.

wget , curl e yum todos falharam em fazer suas conexões - ou seja, todos eles interrompem após resolver o host e tentar uma conexão.

Exemplo (tentei muitos URLs diferentes):

# wget http://rpm.pbone.net/index.php3/stat/4/idpl/13941547/dir/centos_5/com/httpd-2.2.3-43.el5.centos.i386.rpm.html
--2010-09-02 20:00:26--  http://rpm.pbone.net/index.php3/stat/4/idpl/13941547/dir/centos_5/com/httpd-2.2.3-43.el5.centos.i386.rpm.html
Resolving rpm.pbone.net... 85.14.85.4
Connecting to rpm.pbone.net|85.14.85.4|:80... 

... pendure

# curl -v http://rpm.pbone.net/index.php3/stat/4/idpl/13941547/dir/centos_5/com/httpd-2.2.3-43.el5.centos.i386.rpm.html
* About to connect() to rpm.pbone.net port 80
*   Trying 85.14.85.4... 

... pendure

#yum -d9 update
Loading "fastestmirror" plugin
Config time: 0.052
Running "init" handler for "fastestmirror" plugin
Yum Version: 3.2.22
COMMAND: yum -d9 update 
Installroot: /
Setting up Package Sacks
Running "postreposetup" handler for "fastestmirror" plugin
Loading mirror speeds from cached hostfile

... pendure

mas:

# ping rpm.pbone.net
PING gepard.pbone.net (85.14.85.4) 56(84) bytes of data.
64 bytes from gepard.pbone.net (85.14.85.4): icmp_seq=1 ttl=49 time=449 ms
64 bytes from gepard.pbone.net (85.14.85.4): icmp_seq=2 ttl=49 time=448 ms
64 bytes from gepard.pbone.net (85.14.85.4): icmp_seq=3 ttl=49 time=444 ms
64 bytes from gepard.pbone.net (85.14.85.4): icmp_seq=4 ttl=49 time=445 ms
64 bytes from gepard.pbone.net (85.14.85.4): icmp_seq=5 ttl=49 time=457 ms

Estou longe de ser um especialista em servidores, alguém tem alguma indicação de onde começar a resolver isso?

EDITAR:

# netstat -lan | egrep LISTEN
tcp        0      0 0.0.0.0:941                 0.0.0.0:*                   LISTEN      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN      
tcp        0      0 :::80                       :::*                        LISTEN      
tcp        0      0 :::22                       :::*                        LISTEN      
unix  2      [ ACC ]     STREAM     LISTENING     7451   /tmp/.font-unix/fs7100
unix  2      [ ACC ]     STREAM     LISTENING     7678   @/tmp/fam-root-
unix  2      [ ACC ]     STREAM     LISTENING     5824   @/var/run/hald/dbus-3hUBzR5e9e
unix  2      [ ACC ]     STREAM     LISTENING     5087   /var/run/audispd_events
unix  2      [ ACC ]     STREAM     LISTENING     5825   @/var/run/hald/dbus-rDLe61j4bM
unix  2      [ ACC ]     STREAM     LISTENING     5545   /var/run/dbus/system_bus_socket
unix  2      [ ACC ]     STREAM     LISTENING     5616   /var/run/sdp
unix  2      [ ACC ]     STREAM     LISTENING     5749   /var/run/pcscd.comm
unix  2      [ ACC ]     STREAM     LISTENING     5782   /var/run/acpid.socket
unix  2      [ ACC ]     STREAM     LISTENING     7075   /var/run/cups/cups.sock
unix  2      [ ACC ]     STREAM     LISTENING     7585   /var/run/avahi-daemon/socket
unix  2      [ ACC ]     STREAM     LISTENING     7389   /dev/gpmctl
# iptables --list
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
RH-Firewall-1-INPUT  all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
RH-Firewall-1-INPUT  all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain RH-Firewall-1-INPUT (2 references)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     icmp --  anywhere             anywhere            icmp any 
ACCEPT     esp  --  anywhere             anywhere            
ACCEPT     ah   --  anywhere             anywhere            
ACCEPT     udp  --  anywhere             224.0.0.251         udp dpt:mdns 
ACCEPT     udp  --  anywhere             anywhere            udp dpt:ipp 
ACCEPT     tcp  --  anywhere             anywhere            tcp dpt:ipp 
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:http 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 
    
por Michael Robinson 02.09.2010 / 18:15

7 respostas

3

Você tem regras de firewall em vigor que estão bloqueando a saída da porta 80 ou recusando a resposta de entrada recíproca. Estas podem ser regras de firewall de software que podem estar bloqueando a porta 80 especificamente ou todo o TCP (PING é ICMP), verifique com:% iptables -L como ErikA apontou acima.
Também poderia ser um problema de firewall de hardware - é o servidor por trás de um firewall da Cisco? Consulte o seu sysadmin localizar. Se você puder enrolar de outras máquinas, elas terão: 80 abertas. Também é possível, mas improvável, que eles estejam bloqueando você é o lado deles, mas se você não pode enrolar nada (mesmo o google), é o seu lado.

    
por 02.09.2010 / 18:32
1

How would I check that something is listening on port 80, and that there are no firewall rules that would block traffic to oprt 80 from the IP I'm testing from?

  • netstat -anp
  • iptables -vL
por 02.09.2010 / 18:25
1

Bem, o ping usa o ICMP, enquanto todos esses clientes HTTP usam a porta TCP 80. Isso pode ser bloqueado entre a origem e o destino?

    
por 02.09.2010 / 18:38
1

No meu caso, o problema foi causado por cache DNS obsoleto. O seguinte ajudou:

# service nscd restart
    
por 10.07.2013 / 16:41
0

Certifique-se de que algo esteja escutando na porta 80 e também que não há regras de firewall que possam bloquear o tráfego para a porta 80 do endereço IP do qual você está testando.

Para verificar se algo está escutando na porta 80, execute o seguinte a partir do próprio servidor da Web:

$ netstat -lan | egrep LISTEN

Na saída, se você vir uma linha como essa, então algo está escutando na porta 80.

tcp        0      0 0.0.0.0:80            0.0.0.0:*               LISTEN

Se algo estiver realmente escutando na porta 80, é provável que uma regra de firewall esteja bloqueando o tráfego. Você pode verificar suas regras de firewall executando $ iptables --list no servidor da Web.

    
por 02.09.2010 / 18:20
0

Eu não entendo completamente como você está tentando testar isso, mas isso é uma instância do EC2? Nesse caso, verifique se ele está no mesmo "grupo de segurança" que os outros servidores ou se as políticas do grupo permitem a porta 80 e tal.

    
por 02.09.2010 / 22:37
0

Algo entre o seu servidor com comportamento inadequado e rpm.pbone.net está bloqueando as conexões TCP iniciadas pelo servidor com comportamento inadequado com rpm.pbone.net porta 80 como o destino. O ofensor pode ser seu próprio servidor, rpm.pbone.net em si ou qualquer roteador / firewall entre eles. E o que está bloqueado pode ser o pacote de estabelecimento de conexão ou sua resposta.

O primeiro passo na investigação é descobrir quem está bloqueando o tráfego. tcptraceroute rpm.pbone.net 80 deve dizer até onde os pacotes podem ir.

Pode ou não ajudar a executar tcpdump e ver se você recebe algum tipo de resposta (ACK, ICMP ou algo mais estranho) ao seu pacote SYN quando inicia uma conexão de saída para a porta 80.

    
por 02.09.2010 / 23:16