LAMP를 사용하여 Ubuntu 서버를 설정하고 외부에서 액세스하려고 합니다.
제가 한:
문제
Ping Failed: TimedOut
터미널에서 IP 주소로 ping을 시도했지만 브라우저를 통해 서버에 연결하려고 할 때 메시지를 받은 후 정지 PING myhost.no-ip.org (66.XXX.XXX.XX) 56(84) bytes of data.
되었습니다 Oops! Google Chrome could not connect to...
.
정보
SSH, SFTP, http를 통해 내 서버에 로컬(192.168.1.127)로 연결할 수 있습니다.
Linksys E320 라우터가 있고 방화벽을 비활성화했습니다.
외부 IP를 제공해야 하는지 알려주세요. 도와 주셔서 감사합니다.
편집하다
80 대신 포트 50005를 수신하도록 /etc/apache2/ports.conf를 수정했습니다 Listen 80
.listen 50005
답변1
내가 틀린 이유
핑을 할 수 없는 이유는 라우터가 결코 에코 요청을 서버에 전달하지 않기 때문입니다. 그러나 이는 라우터 자체가 에코 요청에 응답하지 않는 이유를 설명하지 않습니다. 홈 네트워크에서는 라우터(192.168.1.254)를 직접 ping할 수 있는데 외부에서 ping을 시도하면 작동하지 않는 이유는 무엇입니까?
내 추측으로는
아직 배우는 중이라 정보가 정확하지 않을 수도 있습니다. 나는 주로 다음으로부터 대답을 얻었다.https://community.spiceworks.com/topic/85353-forward-pings-from-the-router-to-the-server-behind-it
핑을 할 수 없는 것은 실제로는 귀하의 잘못이 아니라 IPv4의 제한된 설계로 인한 잘못입니다. 귀하의 라우터에 지정된 IP 주소가 있고 포트 80, 22 및 50005를 선택한 컴퓨터로 전달하도록 설정되어 있다고 가정합니다. 이것은 특정 유형의 NAT(Network Address Translation)인 PAT(Port Address Translation)를 사용하는 라우터입니다.
서버에 ping을 실행하면 ping은 ICMP(Internet Control Message Protocol) 에코 요청 메시지를 전송하고 반환 메시지를 기다립니다.
문제는 ICMP의 수준이 너무 낮아서 포트가 없다는 것입니다. 따라서 라우터는 포트만 전달하므로 핑이 없기 때문에 라우터는 ICMP 에코 요청을 서버로 전달하지 않습니다.
서버가 작동 중인지 확인하기 위해 ping을 사용하는 대신 telnet 25를 사용하여 문제를 해결할 수 있습니다. 아직 서버에 설정하지 않았으므로 어떻게 해야 할지 잘 모르겠습니다.
내가 일을 하게 됐어? 포트포워딩을 하는 대신 Firewall > IP Passthrough로 가서 할당 모드를 "Passthrough"에서 "Default Server"로 변경하고 기본 서버를 노트북 서버가 사용하는 내부 IP(192.168.1.99)로 설정했습니다. ).
이제 핑이 작동합니다. 제 상황이 귀하의 상황과 같은 것인지 솔직히 확신할 수 없으므로 곧 귀하로부터 답변을 받을 수 있기를 바랍니다.