为什么 172.31.0.0/16 内有 ping 回复?

mil*_*ner 16 networking standards ip

今天我偶然发现,我可以 ping 子网中的地址172.31.0.0/16并获得 ICMP 回复。我随机尝试了一些,总是得到回复。在检查路由表和尝试后traceroute,看起来关联的数据包正在离开我的本地网络,即离开我的 ISP。我的本地网络使用不同的 IP 范围、192.168.0.0/16子网的一部分,并且有172.17.0.0/16和 的Docker 相关接口172.19.0.0/16,但没有172.31.0.0/16

据我了解,该地址172.31.0.0/16仍应属于172.16.0.0/12IANA 保留地址空间的一部分。

我尝试进行网络搜索,看看该子网的范围是否可能由于全球 IP 地址短缺或任何其他原因而缩短,但找不到任何支持该假设的内容。

现在我想知道我是否只是缺乏睡眠而忽略了一些基本的东西,或者我的网络设置中是否存在严重的问题。

mta*_*tak 25

您是正确的,172.31.0.0/16 是 RFC1918 IP 地址空间的一部分。您的路由器很可能配置为将流量转储到其默认网关(即您的 ISP)的非连接路由。那是交通应该停止的地方。

但是,您的 ISP 似乎已使该地址范围可路由。我过去曾在其他 ISP 中看到过这种情况(例如,Tele2 在 IANA 分配之前使用 1.0.0.0/8 作为其主干网)。

无论哪种方式,您(和您的 ISP)可能应该在网络边界上实施bogon 过滤和/或martian 过滤。对于普通家庭消费者来说,这是情有可原的,但 ISP 应该更清楚。

为了避免这个问题,您可以在路由器的防火墙上设置基本的传出过滤器(例如10.0.0.0/8, 127.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, and 169.254.0.0/16)。另一种选择是对这些地址范围进行空路由或黑洞路由。然后您的路由器将丢弃数据包。

  • 请注意,虽然目前 IPv4 本地主机为 127.0.0.1/8,但有一个提案 RFC 将其更新为 127.0.0.1/16,请参阅 https://www.ietf.org/id/draft-schoen-intarea-unicast -127-00.html (4认同)