질문은 간단합니다. 나는 아파치 기반 사이트를 가지고 있고 동일한 서버의 사이트에서 크론 작업을 실행하려고 합니다. 예를 들어 내 웹사이트는http://example.com그리고 크론잡은
/usr/bin/curl http://example.com/cron.php
작동하지 않습니다. 오류는 "curl: (7) 호스트에 연결할 수 없습니다"입니다.
왜 이런 일이 발생합니까?
PS 웹사이트는 잘 작동하며 다른 외부 컴퓨터/클라이언트에서 액세스할 수 있습니다.
이것은 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 example.com) - 물론 여기서는 서버 도메인을 사용했습니다.
134 packets transmitted, 0 received, 100% packet loss, time 136759ms
답변1
이는 여러 가지 이유 때문일 수 있습니다.
/*우선 이 사건과 전혀 관련이 없다는 점을 말씀드리고 싶습니다.서버 장애 네트워크여기엔 없어.*/
외부 주소의 트래픽은 내부 네트워크로 다시 전송되기 때문에 내부 네트워크와 자체 네트워크 모두에서 네트워크의 외부 주소에 도달할 수 없는 것이 일반적입니다. 그래서 아마도DNS 문제, 앞서 설명에서 언급했듯이 로컬 네트워크와 내부 트래픽에 대해 서로 다른 URL을 사용할 수 있습니다. 즉, 분할 DNS를 사용합니다.
그런데 연결 유형에 따라외부 IP가 서버 IP와 동일할 경우 아무 것도 접속하지 못할 수 있습니다.이므로 네트워크 토폴로지와 게이트웨이 구성에 주의하세요. 저는 네트워크 전문가가 아니기 때문에 시스템 관리에 대해서만 도움을 드릴 수 있습니다. 그래서 추천합니다.서버 장애 네트워크, 이곳은 아닙니다.
그런데,이거 유용한 거네- Linux가 아닌 Windows 시스템에 있지만 네트워크는 네트워크입니다. - SuperUser.com에서 이 내용을 찾았는데 많은 도움이 될 것이라고 생각합니다. 여기 있습니다.잭 굴드그의 대답에서 그는 이렇게 말했습니다.
내 돈은 재설정되거나 비활성화되는 라우터의 일종의 NAT 루프백 설정에 있을 것입니다. NAT 루프백을 사용하면 라우터의 외부 IP 주소 및 내부 IP 주소에서 포트 전달 서비스(예: 포트 80의 웹 서비스)에 액세스할 수 있습니다.
귀하의 라우터가 ISP에서 제공하는 라우터/모뎀 콤보일 가능성이 있습니까? ISP가 라우터/모뎀 펌웨어를 재설정하거나 업그레이드했으며 NAT 루프백 설정이 프로세스에서 수정되었을 가능성이 있습니다. 많은 ISP는 때때로 경로 유지 관리를 수행하기 위해 제공하는 라우터/모뎀에 대한 원격 액세스를 예약하며 NAT 루프백과 같은 설정은 재설정 중에 쉽게 간과되거나 간과될 수 있는 상당히 비표준 설정입니다. 이제 저는 귀하의 ISP가 귀하도 모르는 사이에 장치를 재설정하는 것을 용납하지 않지만 귀하가 ISP에서 제공한 장치를 사용할 때 발생할 수 있는 일임을 밝힙니다.
라우터 구성으로 가서 NAT 루프백 옵션(또는 이와 유사하게 들리는 옵션)이 있는지 확인하고 이를 조정하면 문제가 해결되는지 확인하는 것이 좋습니다.
동시에 네가 한 말 때문에핑 실패, Ping은 ICMP(Internet Control Message Protocol) 에코 요청(유형 8) 패킷을 대상 호스트에 보내고 ICMP 에코 응답(유형 0)을 기다리는 방식으로 작동하므로 사용자 정의 ICMP 규칙을 추가할 수 있습니다 iptables
. 구문은 매우 간단합니다.
$ 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
그건 그렇고, 당신의크론 작업 구문다음과 같아야 합니다.
# ┌───────────── 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
본인이 구성했거나 설정한 네트워크 및 시스템 구성을 확인하여 문제를 찾아보고 원인이 무엇인지 찾아낸 후 해결 방법을 시도해 보시기를 권장합니다.그것이 무엇인지 모르면 어떤 일을 하지 마십시오..