整个 127/8 都是回环
127.0.0.0/8 整段都是回环地址:发往其中任何地址的数据包都不会离开主机的协议栈,内核直接把报文转回本机的上层,不经过任何物理网卡。所以 127.0.0.2、127.0.0.99 一样能用,127.0.0.1(惯例写作 localhost)只是最常用的一个。
为什么要用它
回环地址提供了一条与网卡、链路、交换机状态完全无关的本机通信通道:服务可以只监听回环以拒绝外部访问,排障时可以先用 ping 回环确认协议栈本身正常,再把问题往网卡、IP、路由、上层应用逐级推。规范依据是 RFC 1122 对主机行为的要求。
基本信息
| 地址段 | 127.0.0.0/8 |
|---|---|
| 行为 | 127.x.x.x 任意地址都指向本机 |
| 常用写法 | 127.0.0.1 / localhost |
| IPv6 对应 | ::1 |
| 规范 | RFC 1122 第 3.2.1.3 节 |
典型使用场景
- 本机服务自测:curl 127.0.0.1:8080 验证应用是否已起来
- 只允许本机访问的管理接口:数据库、缓存、监控 Agent 常绑定回环
- 分层排障第一步:ping 回环确认协议栈正常,再往外排查
- 本地开发:前后端在同一台机器上用回环通信,不暴露到局域网
- 容器与虚拟机的健康检查:在容器内部对自身回环做探活
- 备份与迁移脚本:通过回环连接本地实例,避免依赖外部 DNS
回环验证与监听检查
回环验证与监听检查
ping -c 1 127.0.0.2 # Linux/macOS:127 段任意地址都通
ping -n 1 127.0.0.2 # Windows
ss -lnt | grep -E '127.0.0.1|0.0.0.0' # 看服务绑的是回环还是所有接口
curl -s -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080/ # 本机探活常见地址与含义
| 地址 | 含义 | 注意点 |
|---|---|---|
| 127.0.0.1 | 标准回环地址 | localhost 通常解析到这里 |
| 127.0.0.2–127.255.255.254 | 同属回环段 | 仅少数系统会整段响应,跨平台脚本建议用 .1 |
| ::1 | IPv6 回环 | 服务只监听 IPv4 回环时用 ::1 连不上 |
| 0.0.0.0(监听) | 绑定所有接口 | 与回环相反,局域网内任何主机都能连 |
MySQL 里 localhost 与 127.0.0.1 并不等价:localhost 走 Unix socket,127.0.0.1 走 TCP,权限表里的 host 字段可能只授权了其中一个,因此「本机连不上数据库」时先确认用哪种方式连接。
服务只监听 127.0.0.1 时外部连不上是设计而非故障。要让其他机器访问,需要把监听地址改为具体网卡地址或 0.0.0.0,并同步检查主机防火墙与云安全组,不要只改一处。