[unix] 머신의 IP 주소와 로컬 호스트의 차이점은 무엇입니까

의심은 내 다른 질문 에서 제기되었습니다 . 내 경로에 localhost를 주면 작동합니다. 그러나 내 시스템 IP를 제공하면 작동하지 않습니다.

127.0.0.1은 내 / etc / hosts의 localhost에 매핑됩니다. IP를 localhost에 매핑해야합니까? 변하지 않습니까?

그들은 같지 않습니까?



답변

일부 서비스는 로컬 호스트 IP 주소에서만 수신하도록 구성되어 있습니다.

예를 들어 MySQL 데이터베이스를 예로들 수 있습니다. 동일한 서버에서 실행중인 PHP 응용 프로그램이이 서버에 연결하기를 원하지만 외부 서비스 나 외부의 해커가 연결하지 않기를 원합니다. 127.0.0.1서버의 실제 IP 주소가 아닌 로컬 호스트 주소 만 허용하도록 MySQL을 구성 10.x.x.x하면 ( 예를 들어) 손상 될 가능성이 줄어 듭니다.

따라서 귀하의 질문에 대답하기 위해-예, 다릅니다.

localhost127.0.0.0네트워크에 IP 주소가 부여되고 가상 루프백 네트워크 장치에 제공 lo됩니다. 이 장치는 실제 네트워크 장치 (예 : Wi-Fi 또는 이더넷)가 장착되어 있는지 여부에 관계없이 모든 시스템에 존재합니다. 네트워크에 연결되지 않은 시스템에는이 루프백 장치가 있으므로 127.0.0.0주소가 있습니다. 이름 localhost은 단순히이 IP 주소로 확인되는 이름이며에 구성되어 /etc/hosts있습니다.

귀하의 실제 IP 주소 (예 : 10.xxx) 네트워크 장치에 할당됩니다. 이는 일반적으로 실제 네트워크 장치 (WiFi 또는 이더넷)이지만 장치를 사용하는 고급 설정 tun이나 tap장치도 사용할 수 있습니다. 다시 한 번, 이름 확인 (예 🙂 www.example.org10.0.1.1구성 /etc/hosts하거나 DNS를 사용하도록 설정할 수 있습니다.


답변

127.0.0.1 is localhost , 그것은 현재 머신의 주소이며, 루프백 인터페이스를 통해 액세스됩니다 (네트워크 어댑터가 아니라 시스템에 네트워크 칩이없는 경우에도 작동합니다).

라우터에서 얻은 IP는 다른 이야기입니다. 네트워크의 다른 컴퓨터가 사용자를 찾을 수 있도록하는 주소입니다. 글쎄, 당신 같은 기계에서도 그 IP를 사용할 있지만, 그것은 이전과 다르게 작동합니다 : 그것은 라우터로 나가고 다시 들어갑니다 (여기 단순화하고 있지만 일반적인 아이디어입니다).

인터넷에 연결되어 있으면 ISP에서 다른 IP를 얻을 수 있습니다.이 IP는 전 세계의 다른 컴퓨터가 찾는 IP입니다. 그러나이 두 가지는 적어도 동일한 네트워크 어댑터 ( eth0또는 무선 카드 등)를 나타냅니다. localhost은 다르다.

에서 액세스 할 때 운영 체제, 서버 등이 다르게 작동 할 수 있습니다 localhost. 일반적으로 방화벽이 없으며 많은 로컬 서비스에는 localhost단순히 응용 프로그램과 통신하기 위한 인터페이스가 있습니다. 여러 번 들어 웹 서버를 먼저 연결하여 청취 만함으로써 웹 서버를 테스트하고 싶기 때문에 웹 서버가 localhost작동하는지 확인할 수는 있지만 다른 사람은 그렇지 않습니다. 그런 다음 외부 IP 주소를 수신하고 웹 사이트 제공을 시작하도록 재구성 할 수 있습니다 (모든 것이 여전히 작동하는지 다시 테스트하십시오).


답변

당신이 액세스 할 때 localhost, 당신의 /etc/hosts파일을 자신의 컴퓨터로 더와 리디렉션을 보지 컴퓨터를 말할 것이다. 로컬 IP 주소에 액세스하면 컴퓨터는 라우터에게 데이터를 가져 오도록 요청하고 라우터는 컴퓨터를 다시 가리 킵니다.


답변