Não é possível conectar-se ao próprio host

1

Bem, o problema é simples. Eu tenho o site com base no apache e tentando executar o trabalho cron neste site do mesmo servidor. Digamos que o link do meu site e o cronjob sejam

/usr/bin/curl http://example.com/cron.php

Não funciona, o erro é "curl: (7) não pôde se conectar ao host".

Por que isso pode acontecer?

P.S. O site está funcionando bem e acessível de qualquer outra máquina / cliente externo.

Aqui está uma saída de iptables -S

-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 2222 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

Ping falhou: (ping example.com) - aqui eu usei meu domínio de servidor, é claro:

134 packets transmitted, 0 received, 100% packet loss, time 136759ms
    
por Epsiloncool 24.07.2016 / 15:32

1 resposta

1

Pode ser devido a muitas razões.

/ * Primeiro de tudo, eu tenho que dizer que isso está mais relacionado ao serverfault.com não aqui .

É tão comum não poder acessar o endereço externo da rede de dentro da própria rede interna, pois o tráfego do endereço externo é enviado de volta à rede interna. Portanto, é bem provável que seja um problema de DNS e, como mencionei anteriormente nos comentários, você pode usar um URL diferente para sua rede local e para tráfego interno, ou seja, usar DNS dividido.

BTW, Dependendo do tipo de conexão que você tem, talvez não consiga acessar nada se o IP externo for o mesmo que o IP do servidor , portanto, esteja ciente das configurações de topologia e gateway da rede . Eu não sou um especialista em rede, então eu só posso ajudá-lo com a administração do sistema - é por isso que eu recomendo serverfault.com , não este lugar.

BTW, isso é algo útil - embora tenha sido no sistema Windows não Linux, rede é rede - que eu encontrei no SuperUser.com, eu acho que isso pode te ajudar muito, e aqui está o que < strong> JakeGould disse em sua resposta:

My money is on some kind of NAT loopback setting on your router being reset or deactivated. NAT loopback allows you to access port-forwarded services—like web services on port 80—on your router’s external IP address as well as the internal IP address.

Is your router perhaps an ISP-supplied router/modem combo? It could be that your ISP reset or upgraded the router/modem firmware and the NAT loopback settings were munged in the process. Many ISPs reserve the right to remotely access the router/modem the provided you with to perform routing maintenance at times and something like NAT loopback is a fairly non-standard setting that could be easily overlooked—or ignored—during such a reset. Now I am not condoning your ISP reseting your equipment without your knowledge, but just putting that out there as something that might happen if you are using ISP supplied equipment.

I would recommend going into your router’s config to see if NAT loopback options—or something similar sounding—exists and see if adjusting that clears things up.

Enquanto isso, devido ao que você disse sobre Ping failure , é possível adicionar uma regra ICMP personalizada em iptables , já que o Ping opera enviando uma solicitação de eco do ICMP (Internet Control Message Protocol) (Tipo 8) pacotes para o host de destino e aguardando uma Resposta de eco ICMP (Tipo 0), a sintaxe é muito fácil:

$ iptables -A INPUT -s x.x.x.x -p ICMP --icmp-type 8 -j ACCEPT

#OR if you don't know ICMP type numbers

$ iptables -A INPUT -s x.x.x.x -p ICMP --icmp-type echo-request -j ACCEPT

BTW, saiba que sua sintaxe da tarefa do cron deve ser algo assim:

 # ┌───────────── min (0 - 59)
 # │ ┌────────────── hour (0 - 23)
 # │ │ ┌─────────────── day of month (1 - 31)
 # │ │ │ ┌──────────────── month (1 - 12)
 # │ │ │ │ ┌───────────────── day of week (0 - 6) (0 to 6 are Sunday to
 # │ │ │ │ │                  Saturday, or use names; 7 is also Sunday)
 # │ │ │ │ │
 # │ │ │ │ │
 # * * * * *  command to execute

Recomendamos que você encontre o problema e descubra o que causa esse problema verificando as configurações de rede e de sistema que você criou ou está definido e, em seguida, tente uma solução. Evite fazer coisas a menos que você saiba o que é .

    
por 24.07.2016 / 18:15