两个特殊地址
::1/128 是 IPv6 的回环地址,作用等同于 IPv4 的 127.0.0.1:报文不出网卡,只有本机进程能访问它。::/128 是未指定地址,表示“还没有地址”:在重复地址检测尚未完成时作为源地址使用,DHCPv6 客户端在拿到地址之前也用它。两者都属特殊用途,不能像普通地址那样配置到接口上用于通信。
基本信息
| 回环地址 | ::1/128,等价于 IPv4 的 127.0.0.1 |
|---|---|
| 未指定地址 | ::/128,表示尚无地址 |
| 能否配置到接口 | 两者都不作为普通通信地址配置 |
| 未指定地址用途 | 重复地址检测期间作源地址、DHCPv6 初始请求 |
| 回环地址用途 | 本机协议栈自检、服务仅本机访问 |
| 相关通配地址 | [::] 是全接口通配地址,含义与 :: 不同 |
对照操作
对照操作
ping -6 ::1 # 检查本机 IPv6 协议栈是否正常
ss -lntp | grep ':::' # [::]:80 表示监听全部接口(含 IPv4 映射)
ip -6 addr show lo # 查看环回接口地址,应有 ::1
cat /proc/net/if_inet6 # 查看所有 IPv6 接口地址
# 抓包时看不到 ::1 的流量:回环报文不出网卡易混地址对照
| 地址 | 含义 | 能否作目的地址 |
|---|---|---|
| ::1 | 本机回环 | 可以,但仅限本机 |
| :: | 未指定,尚无地址 | 不可以 |
| [::] | 监听全部接口的通配写法 | 仅用于监听配置,不是目的地址 |
| fe80::/10 | 链路本地地址 | 可以,需带 zone id |
典型使用场景
- 服务只允许本机访问时绑 ::1,等价于 IPv4 绑 127.0.0.1 的做法
- 检查协议栈是否启用:ping ::1 通说明本机 IPv6 栈正常工作
- 容器与代理场景中把后端地址写成回环地址,配合端口映射使用
- 排查地址冲突:重复地址检测未完成时使用未指定地址作源,看到源地址为 :: 属正常
- 核对监听配置:服务绑 [::] 时会同时接受 IPv4 请求,需确认暴露面符合预期
:: 与 [::] 经常被混用:前者是“尚无地址”的状态,后者是监听配置里的通配写法,语义完全不同,配置时写错会导致服务无法启动或暴露面超预期。