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

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

今天我意外地发现,我可以 ping172.31.0.0/16子网中的地址并收到 ICMP 回复。我尝试了几个随机地址,总是能收到回复。在检查路由表和尝试之后traceroute,看起来相关数据包正在离开我的本地网络,即流向我的 ISP。我的本地网络使用不同的 IP 范围,是子网的一部分,并且有与和192.168.0.0/16相关的 Docker 相关接口,但没有。172.17.0.0/16172.19.0.0/16172.31.0.0/16

据我理解,它仍应是IANA 保留地址空间172.31.0.0/16的一部分。172.16.0.0/12

我尝试通过网络搜索来查看该子网的范围是否由于全球 IP 地址短缺或任何其他原因而缩短,但找不到任何资料来支持该假设。

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

答案1

您说得对,172.31.0.0/16 是 RFC1918 IP 地址空间的一部分。您的路由器很可能配置为将流量转储到未连接的路由,并将其发送到其默认网关(即您的 ISP)。流量应该会在那里停止。

但是,您的 ISP 似乎已将此地址范围设为可路由。我以前在其他 ISP 上也看到过这种情况(例如,Tele2 在 IANA 分配 1.0.0.0/8 之前就将其用作主干网)。

无论哪种方式,你(和你的 ISP)都应该实现波贡滤波和/或火星过滤在网络边界上。对于普通家庭消费者来说,这是可以原谅的,但 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)。另一个选择是将路由设为无效或黑洞路线这些地址范围。然后您的路由器将丢弃数据包。

相关内容