机器的IP地址和本地主机有什么区别


12

我的另一个问题引起了疑问,如果我将localhost分配给我的路径,那么它将起作用。但是,如果我给我的系统ip,它是行不通的。

127.0.0.1映射到我的/ etc / hosts中的localhost。我需要将我的IP映射到localhost吗?不变吗?

他们不一样吗?

Answers:


14

一些服务被配置为仅侦听本地主机IP地址。

一个示例就是MySQL数据库-您希望在同一服务器上运行的PHP应用程序连接到该数据库,但不希望任何外部服务,甚至不希望来自外部的黑客进行连接。通过将MySQL配置为仅接受本地主机地址(127.0.0.1例如),而不接受服务器的真实IP地址(10.x.x.x例如),可以减少受到威胁的机会。

因此,回答您的问题-是的,它们是不同的。

localhost被赋予127.0.0.0网络中的IP地址,并被提供给虚拟环回网络设备lo。该设备存在于所有系统上,无论它们是否装有物理网络设备(例如WiFi或以太网)。未连接到任何网络的系统将具有此回送设备,并因此具有127.0.0.0地址。该名称localhost仅是解析为该IP地址并在中配置的名称/etc/hosts

您的真实 IP地址(例如10.xxx)已分配给网络设备。这通常是物理网络设备(WiFi或以太网),尽管使用tuntap设备的高级设置也可以使用它们。再次,名称解析(例如www.example.org10.0.1.1)可在被配置成/etc/hosts或可被设置为使用DNS。


4

127.0.0.1 localhost,它是当前计算机的地址,可通过回送接口(而不是通过网络适配器)访问-即使系统中没有网络芯片也可以使用)。

您从路由器获得的IP是另一回事:它是允许网络上其他计算机找到您的地址。好了,您也可以在同一台机器上使用该ip,但是它的工作原理与以前不同:它先进入路由器,然后再进入(我在这里简化了,但这是一般的想法)。

而且,如果您已连接到Internet,那么您还将从ISP获得另一个IP,即全世界其他计算机找到您的IP。但是,这两个至少引用相同的网络适配器(eth0或无线网卡或其他任何东西)。localhost是不同的。

从进行访问时,操作系统,服务器等...的行为可能有所不同localhost。通常,您通常没有防火墙,并且许多本地服务都具有localhost仅用于与应用程序通信的接口。很多时候,您将要通过首先将其挂接以localhost仅进行侦听来测试Web服务器,以便您可以检查它是否有效,而其他人则不能。然后,您可以重新配置以侦听您的外部ip地址并开始为网站提供服务(并再次测试一切是否仍然有效)。


感谢您的详细解释。引起了另一个疑问:如果我说我对localhost的服务,它将不会进入路由器。但是,如果我指定ip,它将被路由器重定向。因此,在第二种情况下,我必须具有互联网连接。不在本地主机上。请让我知道
Gibbs 2015年

您需要连接到路由器,否则您将获得network is unreachable或类似的东西。诀窍是(至少使用dhcp)首先是为您提供LAN ip的路由器。如果路由仍然存在,这在某些情况下可能会有所不同,但从本质上讲,对于LAN ip,您需要LAN,对于外部ip,您需要与ISP的连接。
Orion

3

当您访问时localhost,您的/etc/hosts文件将告诉您的计算机不要再查找了,并将您重定向到您自己的计算机。当您访问本地IP地址时,您的计算机将要求路由器获取数据,然后您的路由器将指向您的计算机。


3
@serenesat-不。当您访问“真实” IP地址时,您将无法到达路由器-您甚至都不会离开那台机器。尝试ping您的本地IP地址并查看往返时间...
garethTheRed

这个答案是完全错误的。
Rui F Ribeiro
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.