我编写了一个 bash 脚本并附加到我的 crontab 中,每分钟查询我的 IP 地址,如果与之前的查询不同,它会向我发送一封电子邮件,通知我 IP 地址更改。但有一个奇怪的事情。由于它每分钟不断查询 IP 地址,因此它会不时(非常频繁)向我发送不相关的 IP 地址。这可能是什么原因?
答案1
我怀疑您的 ISP 正在运行多个具有负载平衡功能的代理服务器,这些是代理的 IP。
Web 代理不会对 SSH 会话产生任何影响。如果您who
在 SSH 服务器上运行,它应该显示此会话来自的 IP,这是您的真实公共 IP。
答案2
如果您的 ISP 使用运营商级 NAT:多个用户共享一个由少数公共 IPv4 地址组成的池。
通常,移动互联网接入提供商(4G,...)使用这种技术。
由于 IPv4 地址空间大部分被使用/保留,因此对于 ISP 来说,这是为其客户提供 IPv4 访问的廉价解决方案。通常,您仍然可以获得自己的公共 IPv6 地址范围。
答案3
您的 ISP 可能会代理/缓存 HTTP 请求。但 icanhazip.com 支持 HTTPS,与 SSH 一样,您的 ISP 无法代理。所以尝试将脚本更改为
curl https://icanhazip.com
答案4
您提到您使用 4G 调制解调器建立连接。您可以访问该调制解调器的某些日志输出吗?
听起来您的调制解调器失去了连接并建立了一个具有新 IP 地址的新连接。
许多可能的原因之一可能是您的手机信号塔必须处理大量用户。或者有其他设备干扰您的设备等