主机本地主机是否始终可用于自己的系统?
是否总是可以ping localhost并且解析为127.0.0.1?
我知道Windows Vista,XP,Ubuntu和Debian可以做到,但是每个人都可以做到吗?
解决方案
TCP / IP的任何正确实现都将保留地址127.0.0.1引用本地计算机。但是,名称" localhost"到该地址的映射通常取决于系统的"主机"文件。如果要从"主机"中删除本地主机条目,那么本地主机名称可能根本无法正确解析。
我认为对于大多数平台,localhost几乎可以解析为127.0.0.1,但是所有以127 ... *开头的IP都可以解析为localhost。尝试ping 127.255.255.254,它仍然会响应。
从理论上讲,在某些情况下它可能不存在。实际上,它总是存在的。
好的。
解决它的原因记录在%WINDOWS_DIR%\ System32 \ drivers \ etc \ hosts文件中,如下所示:
127.0.0.1本地主机
127.0.0.1在任何IP堆栈中为本地主机保留。
不保证将" localhost"作为主机名。如果主机/ DNS设置配置错误,则本地主机将无法解析。
在debian盒子上的示例:
topaz:/root# vi /etc/hosts [comment out localhost entry] topaz:/root# ping localhost ping: unknown host localhost
不。
首先," localhost"是惯例而不是规则。通常,它是默认设置,但没有强制要求。
其次,没什么好说的,我们可以始终ping 127.0.0.1.
作为示例(在UNIX系统上),请尝试以下操作:
sudo ifconfig下来
ping 127.0.0.1`
正如cruizer所说,将127.0.0.1(如果存在)定义为本地计算机。但这不是必须存在的。
时髦的答案(对不起,Greg :)是阅读RFC 3330:
127.0.0.0/8 - This block is assigned for use as the Internet host loopback address. A datagram sent by a higher level protocol to an address anywhere within this block should loop back inside the host. This is ordinarily implemented using only 127.0.0.1/32 for loopback, but no addresses within this block should ever appear on any network anywhere [RFC1700, page 5].
(上面的"通常"应该被理解为"最新",大多数最新的操作系统都支持使用127.0.0.0/8的全部作为环回。)
关于" localhost"是否始终解析为127.0.0.1他是正确的,通常是相同的,但是在技术上具体实现:
~> dig localhost.t...e.org ... ;; ANSWER SECTION: localhost.t...e.org. 86400 IN A 127.0.0.2
如果客户端连接到的DNS服务器在rfc1912之后,则可以,本地主机应解析为127.0.0.1.
RFC1912 4.1 ... Certain zones should **always be present** in nameserver configurations: primary localhost localhost primary 0.0.127.in-addr.arpa 127.0 ... The "localhost" address is a "special" address which always refers to the local host. It should contain the following line: localhost. IN A 127.0.0.1 The "127.0" file should contain the line: 1 PTR localhost.
体面的防火墙也允许我们过滤回送接口上的访问。因此,可以设置防火墙规则,以将icmp ping数据包丢弃到本地主机(127.0.0.1)。另外,正如其他所有人已经提到的,即使本地主机或者127.0.0.1地址和回送接口也无法保证。
答案是:
需要127.0.0.1,通常称为"回送"。尽管计算机可能会让我们做一些愚蠢的事情,例如禁用它,或者在物理接口上配置该范围,但这些都是无效的。
" localhost"只是一个主机名,按照惯例,该主机名应为127.0.0.1. 作为系统管理员或者主机管理员,应避免允许localhost指向其他地址的配置。
我们不应该编辑主机文件来更改" localhost"的地址。我们应该将域配置为具有本地主机。和指向127.0.0.1的localhost.domain.com条目。
我们不应该让代理服务器响应" localhost"或者任何以localhost开头的FQDN。