В чем разница между IP-адресом компьютера и локальным хостом

12

Сомнение поднялось из моего другого вопроса Где, если я даю localhost моему пути, это работает. Но это не сработает, если я дам свой системный IP.

127.0.0.1 сопоставлен с localhost в моем / etc / hosts. Мне нужно сопоставить мой IP с localhost? Не меняется?

Разве они не одинаковы?

Gibbs
источник

Ответы:

14

Некоторые службы настроены на прослушивание только локального IP-адреса.

Примером может служить база данных MySQL - вы хотите, чтобы ваше приложение PHP, работающее на том же сервере, подключалось к нему, но не хотели подключать внешние сервисы или даже хакеры извне. Настраивая MySQL так, чтобы он принимал только адреса локального хоста ( 127.0.0.1например), а не реальный IP-адрес вашего сервера ( 10.x.x.xнапример), вы уменьшаете вероятность взлома.

Итак, чтобы ответить на ваш вопрос - да, они разные.

localhostв 127.0.0.0сети предоставляется IP-адрес и виртуальное шлейфовое сетевое устройство lo. Это устройство присутствует во всех системах независимо от того, установлено ли на них физическое сетевое устройство (например, WiFi или Ethernet). Система, которая не подключена к какой-либо сети, будет иметь это устройство обратной связи и, следовательно, 127.0.0.0адрес. Имя localhost- это просто имя, которое разрешается в этот IP-адрес и настраивается в /etc/hosts.

Ваш реальный IP-адрес (например, 10.xxx) назначен сетевому устройству. Это, как правило , физическое сетевое устройство (WiFi или Ethernet) , хотя дополнительная настройка с помощью tunили tapустройств могут использовать их. Опять же, разрешение имен (например, www.example.orgдля 10.0.1.1) может быть настроено /etc/hostsили может быть настроено для использования DNS.

garethTheRed
источник
4

127.0.0.1 есть localhost , это адрес текущей машины, доступ через интерфейс обратной петли (не через сетевой адаптер - это работает , даже если нет никаких сетевых чипов в системе).

IP-адрес, который вы получаете от маршрутизатора, это отдельная история: это адрес, который позволяет другому компьютеру в сети найти вас. Хорошо, вы можете использовать этот ip на той же машине, но он работает по-другому, как и раньше: он выходит на маршрутизатор и снова (я упрощаю здесь, но это общая идея).

И если вы подключены к Интернету, вы также получаете еще один ip от вашего провайдера - ip, по которому вас найдут другие компьютеры во всем мире. Однако эти два, по крайней мере, относятся к одному и тому же сетевому адаптеру ( eth0или к беспроводной карте, или к чему-либо еще). localhostэто отличается.

Операционная система, серверы и т. Д. Могут работать по-разному при доступе из localhost. Обычно для этого у вас нет брандмауэра, и многие локальные службы имеют localhostинтерфейс, предназначенный просто для связи с приложением. Много раз вы захотите протестировать свой веб-сервер, сначала подключив его только для прослушивания localhost, чтобы вы могли проверить, работает ли он, а другие - нет. Затем вы можете перенастроить прослушивание внешнего IP-адреса и начать обслуживание веб-сайта (и еще раз проверить, все ли работает).

Орион
источник
Спасибо за длинное объяснение. Возникло еще одно сомнение: если я скажу мой сервис localhost, он не перейдет к маршрутизатору. Но если я укажу ip, он будет перенаправлен маршрутизатором. Так что у меня должно быть подключение к интернету во втором случае. Не с местным хостом. Пожалуйста, дайте мне знать
Гиббс
Вам нужно подключение к роутеру, иначе вы получите network is unreachableили что-то подобное. Хитрость в том, что (по крайней мере, с dhcp) именно маршрутизатор в первую очередь дает вам IP-адрес локальной сети. Возможно, что в некоторых случаях это меняется, если маршрут сохраняется, но, по сути, для IP-адреса локальной сети вам нужна локальная сеть, а для внешнего IP-адреса вам необходимо подключение к Интернет-провайдеру.
Орион
3

Когда вы заходите localhost, ваш /etc/hostsфайл скажет вашему компьютеру больше не искать и перенаправит вас на ваш собственный компьютер. Когда вы получаете доступ к локальному IP-адресу, ваш компьютер будет запрашивать у маршрутизатора данные, а затем ваш маршрутизатор будет указывать обратно на ваш компьютер.

serenesat
источник
3
@serenesat - Нет. Когда вы получаете доступ к своему «реальному» IP-адресу, вы не зайдете так далеко, как маршрутизатор - вы даже не покинете эту машину. Пытаясь проверить ваш локальный IP-адрес и посмотреть время прохождения туда-обратно ...
garethTheRed
Этот ответ совершенно неверный.
Руи Ф Рибейро