目录
- 背景
- 第一部分 三种
IP
介绍 - 第二部分
localhost
- 参考文献及资料
背景
在我们配置服务监听地址的时候,会面对服务器上三种”IP
“:
- 本机
IP
。例如:192.168.1.1、8.8.8.8; - 0.0.0.0地址;
- 127.0.0.1地址;
那么这三种在使用上有哪些区别呢?本文将总结介绍。
第一部分 三种IP
介绍
1.1 本机IP
对于linux
系统,我们输入ifconfig
命令会回显一个eth0
网卡信息:
1 | eth0 Link encap:Ethernet HWaddr 98:3f:9f:18:25:97 |
这就是有线网卡的信息。如果有无线网卡还会有一个wlan
网卡信息。这是局域网给计算机分配的局域网唯一的IP
。如果计算机直接接入互联网,会分配一个公网IP
(互联网唯一IP
)。
这个IP
用于和局域网或互联网中其他机器通信的唯一IP
,即网络中唯一标识。
1.2 0.0.0.0
地址
0.0.0.0
表示“本地计算机上的所有IP
地址”(所有IPv4
地址)。因此,如果服务器有两个IP
地址:192.168.1.1
和8.1.2.1
。如果这时候如果我们在服务器上开启一个http
服务(端口8080
),配置文件中监听地址为:0.0.0.0
。那么我们可以通过下面两个url
访问服务:
但是我们如果监听地址配置成192.168.1.1
,那么http://8.1.2.1:8080就无法访问服务了。
1.3 127.0.0.1
地址
对于linux
系统,我们输入ifconfig
命令会回显一个lo
网卡信息:
1 | lo Link encap:Local Loopback |
127.0.0.1
地址分配给 loopback
接口,也称为回环地址(loopback address
)。用来测试本机的 TCP/IP
协议栈。loopback
是一个特殊的网络接口(可理解成虚拟网卡),用于本机中各个应用之间的网络交互。只要操作系统的网络组件是正常的,loopback
就能工作。
如果我们服务监听的地址配置成127.0.0.1
,那么只能本机服务能访问了。
第三部分 localhost
localhost
是一个域名,而不是一个ip
地址。localhost
域名配置在本地DNS
中,即/etc/hosts
文件中定义,例如:
1 | 127.0.0.1 localhost |
例如我们ping localhost
,就会解析成127.0.0.1
地址。
1 | root@deeplearning:# ping localhost |
如果我们服务监听的地址配置成localhost
,那么会根据/etc/hosts
中的配置,解析成127.0.0.1
地址。这时候也只能本机服务能访问了。
参考文献及资料
1、0.0.0.0地址,链接:https://en.wikipedia.org/wiki/0.0.0.0