需求

想要让我的网站限制只有同济范围内才能访问,如何实现呢?

分析

需要知道同济的 IP 段,有几种方法:

  • 学校官网等资料
  • ping foo.tongji.edu.cn,一个一个排查
  • nslookup 等其他工具
  • 在线工具

方案

最终发现,ipinfo.io 有很好的查询方案。

首先,已经确定了同济的 IP 范围在 202.120.0.0/16,然而,真的同济能这么阔绰,有这么多 IP 拿在手中吗?

不是的。

经过排查,https://ipinfo.io/ips/202.120.0.0/16,发现同济的 IP 范围是:

  • 202.120.163.0/24
  • 202.120.164.0/24
  • 202.120.166.0/24
  • 202.120.188.0/24
  • 202.120.189.0/24
  • 202.120.190.0/24
  • 202.120.191.0/24

这些是同济域名对应的 IP 段,可能不全。

但是要注意,使用学校的 VPN 之后,IP 块是 111.187.0.0/17,虽然也是上海教育网,但是和学校网站的 IP 段不同(也就是和上面列出来的范围不同)。

等回学校再看看学校的校园网 IP 是啥。