V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
freyz
V2EX  ›  宽带症候群

记一次 移动公网 IP 在 PT 站点无法识别的问题

  •  
  •   freyz · 2021-12-22 10:27:36 +08:00 · 2738 次点击
    这是一个创建于 1059 天前的主题,其中的信息可能已经有所发展或是发生改变。
    为了保证家庭用网的稳定性,上周多拉了一条有 IPV4 公网( 112.10 开头)的移动千兆宽带( 300M 上),打算专门用来 PT 上传和下载,但实际中发现没有那么美好。部分站点速度非常快,包括 hdhome 、opencd 等;部分站点上传几乎没有速度,包括 hdsky 、chdbits 和 MT 等。再深入看下,发现上传没有速度的站点是因为 BT 客户端 IPV4 的 IP 识别错误,被识别成香港、联通等 IP ,导致无法链接。论坛里面发了贴,没有回复,周末捣鼓了下,基本搞明白了原因,过程记录下:

    首先,做了 traceroute ,包括 traceroute chdbits.co ,traceroute tracker.hdskey.me,traceroute tracker.m-team.cc 等等,仔细看了下路径,发现内站的几乎都是一样网络部署,都采用了 cloudflare 的 cdn (用作防火墙?),通过 cloudflare 代理链接到站点的 tracker 服务器。

    然后,既然 cloudflare 本身就是代理,躲在 cloudflare 后面的 tracer 服务器怎么拿到用户的 IP 呢,Google 了一把,很快找到了 cloudflare 的 doc ,https://support.cloudflare.com/hc/en-us/articles/200170786-How-do-I-restore-original-visitor-IP-with-Nginx ,内站大多是 nexusphp 架构,看下 Nginx 相关的内容,很快找到 cloudflare 默认配置:
    #use any of the following two
    real_ip_header CF-Connecting-IP;
    #real_ip_header X-Forwarded-For;
    再点 https://developers.cloudflare.com/fundamentals/get-started/http-request-headers 链接,看下两个 http header 的说明:X-Forwarded-For maintains proxy server and original visitor IP addresses. CF-Connecting-IP provides the client IP address, connecting to Cloudflare, to the origin web server. This header will only be sent on the traffic from Cloudflare's edge to your origin webserver. 两个的区别在哪里?文档里面写的很清楚,X-Forwarded-For 会把路径上所有的 IP 都带上,通过逗号分割; CF-Connecting-IP 只包含最后一个 IP ,譬如 getRemoteAddress 方法。

    然后,为什么我的 IP 地址 家园可以解析,其他站点不可以?首先,家园可以,说明 cloudflare 可以把这个 IP 地址给到 tracker 服务器;然后,其他站点移动公网 IP 地址解析错误,电信 IP 地址解析没问题,再联想 解析出来的 IP ,原因就不难猜测:首先,移动运营商 为了降低网络之间的费用结算,中间做了某些不可描述的运营商内部的代理,他把原始的地址通过 X-Forwarded-For 传递了下去;而站点采用了 CF-Connecting-IP 这个配置,所以 只拿到了最后一个出口的 IP ,所以,对于可能中间有代理的情况下,会解析到最后的 IP ;而家园 应该是采用了 X-Forwarded-For ,通过字符串解析,取第一个 IP ,所以可以解决代理的问题,进而拿到了正确的 IP 。

    最后,如果是移动公网 IP 来搞 PT 的话,大家不用纠结,作用也不是很大,然后,坛子里面有大佬可以解决这个问题嘛?跪求解决方案。。。
    ggf
        1
    ggf  
       2021-12-22 10:32:48 +08:00
    移动透传了吧
    happyeveryday
        2
    happyeveryday  
       2021-12-22 10:35:29 +08:00
    家庭用户怎么办带公网的移动宽带?也是去营业厅吗,自费如何
    ggf
        3
    ggf  
       2021-12-22 10:42:27 +08:00
    我这边移动家宽拿了公网 ip 一个电话就给改了,但是目前并没有透传,所以正常(以前也碰到过透传
    xiashali
        4
    xiashali  
       2021-12-22 11:01:29 +08:00
    tracker 地址后面加 /cdn-cgi/trace
    azhangbing
        5
    azhangbing  
       2021-12-22 11:22:12 +08:00
    我家的 IPV6 正常。。。
    v2tudnew
        6
    v2tudnew  
       2021-12-22 11:28:01 +08:00
    X-Forwarded-For 必须明文吧?你用 https 的 tracker 应该就解决了,除非你梯子代理了 tracker 。
    bipy
        7
    bipy  
       2021-12-22 11:55:05 +08:00
    villivateur
        8
    villivateur  
       2021-12-22 12:03:49 +08:00 via Android
    我觉得你把 tracker 服务器都改用 https ,这样应该就都连不上了
    keith1126
        9
    keith1126  
       2021-12-22 12:28:06 +08:00
    如果我没记错的话,各大 PT 站点的规矩是:不允许在公开论坛透露站点信息,包括名称和 URL 。

    有心人举报一下的话,就不是连不连的上 tracker 的问题了,而是你的账号会被 ban 。
    cwbsw
        10
    cwbsw  
       2021-12-22 13:03:35 +08:00 via iPad
    很多 BT 客户端都可以手动设定 announce ip 的。
    cwbsw
        11
    cwbsw  
       2021-12-22 13:06:11 +08:00 via iPad
    tracker 都是 cloudflare ,有的没问题有的有问题,你把有问题的 tracker 手动解析到没问题的 cloudflare ip 上不就好了。
    freyz
        12
    freyz  
    OP
       2021-12-22 13:52:24 +08:00
    我尝试过 announce ip ,但发现没有效果;另外,cloudflare ip 解析没有问题,主要还是 tracker 服务器客户端 ip 判断出问题了
    freyz
        13
    freyz  
    OP
       2021-12-22 13:52:57 +08:00
    @villivateur 目前就是 https ,不是连不上,是连上了,客户端显示的 ip 不是真实的 ip
    freyz
        14
    freyz  
    OP
       2021-12-22 13:53:27 +08:00
    @xiashali 晚上试试看,这个什么原理
    bibiisme
        15
    bibiisme  
       2021-12-22 14:15:57 +08:00
    很多地方为了提升国际速度,到 cf 搞了 iplc 走穿透,楼主不妨发下 tracert 结果?
    freyz
        16
    freyz  
    OP
       2021-12-22 14:28:16 +08:00
    @keith1126 感谢提醒,已经设置为仅自己可见和禁止搜索,谢啦
    GhostiKing
        17
    GhostiKing  
       2021-12-22 17:20:46 +08:00
    我 ipv6 也正常,nat1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2836 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 14:26 · PVG 22:26 · LAX 06:26 · JFK 09:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.