【问题标题】:Clients with Multiple IP Addresses - How?具有多个 IP 地址的客户端 - 如何?
【发布时间】:2011-09-09 02:47:20
【问题描述】:

我有一个基于 IP 地址对客户端进行身份验证的 squid 透明代理(唯一可用的方法)。

预期的设置是我的客户端将注册,我的 php 页面将 IP 记录到 MySql,Squid 将根据数据库中的 Ip 进行身份验证。

此方法在正常情况下运行良好,但我注意到存在问题,因为我一直在 Squid 日志中看到“访问被拒绝”。

我意识到有些客户会使用 IP A 进行注册,但同时拥有不同的 IP。 例如,一个客户端在 Livezilla 中的 IP 为 xxx.255.1.58,但在我的 Mysql 数据库中为 xxx.255.1.30。这发生在一个实例中(相隔不到 2 分钟)。

这怎么可能?我知道有些客户可能有动态 IP,但这就是解释吗?

编辑:我添加了一个用户的示例 Squid 日志

在 149 秒内,该人使用了 10 个 IP 地址访问我的服务器,显然被拒绝了……这可能是动态 IP 的情况吗?我不相信动态 IP 会经常发生这种变化。据我了解,IP 地址只有在您重置连接时才会更改。

xxx.255.1.20
xxx.255.1.62
xxx.255.1.75
xxx.255.1.86
xxx.255.1.41
xxx.255.1.48
xxx.255.1.75
xxx.255.1.32
xxx.255.1.92
xxx.255.1.65

【问题讨论】:

    标签: networking network-programming ip


    【解决方案1】:

    任何企业用户都可能坐在多个代理后面,因此每个请求都可能来自不同的源 IP 地址。

    通常对于 HTTPS 请求,代理系统被配置为使用相同的源地址,但是对于常规 HTTP,它对所有人都是免费的。

    【讨论】:

    • 谢谢史蒂夫,这样的设置在住宅互联网用户中并不常见,是吗?我的目标受众主要是住宅用户而非企业用户。
    • @Nick 目前不那么受欢迎,但预计它会随着 IPv4 地址的稀缺而迅速上升。那么它可能只是 ISP 级别的 NAT,而不是也会影响 HTTPS 的代理。某些网络上的 iPad/iPhone 用户可能处于类似情况。
    【解决方案2】:

    客户端可能拥有多个 IP 的原因有很多。这完全取决于他们如何访问互联网(他们的 ISP)。

    【讨论】:

    • 嗨,我的客户在 149 秒内拥有 10 个不同的 IP。是否有一个 ISP 设置会在每个 HTTP 请求上放弃新的 IP?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-07
    • 1970-01-01
    • 2012-03-14
    • 2012-02-16
    相关资源
    最近更新 更多