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

广东移动政企专线疑似流量穿透

  •  
  •   mytsing520 ·
    PRO
    · 4 天前 · 1460 次点击
    客户,广东移动政企专线网络,访问我广东电信服务器有问题,要么 408 ,要么连接超时,也有正常请求
    在客户网络里,抓包发现,有概率出现三次握手异常
    然而,在我服务器上抓包,没有发现客户网络里的公网 IP 地址有访问的记录
    改用实时抓访问日志,发现,走的是深圳移动某两个 C 段

    后来又有一个政企专线客户也反映有问题(和上面这个客户不是一个地级市,同样在广东),留了个心眼,去查了一下,结果也是深圳移动那两个 C 段

    让客户自己找移动投诉去了,移动给的答复是:移动和电信的总互联点,在集团,流量打满了;为解决这个问题,省公司调整到省内轻载业务直连点,但直连点必须过 NAT 。

    另外,插一句嘴,这个 NAT ,在路由追踪里面,是看不到的
    birdvdsk
        1
    birdvdsk  
       4 天前 via Android
    理论上即使是 nat ,也能在路由追踪里看见。而且 http 408 是服务器返回的状态码。综合来看难道移动不只是整了 nat ,而是部署了一个反向代理来转发请求?
    mytsing520
        2
    mytsing520  
    OP
    PRO
       4 天前
    @birdvdsk
    1.极少数情况是 408 ,更多的时候是三次握手异常
    2.移动自己的答复口径是上层套了一个 NAT ;从观察的情况来看,不太可能是代理,尤其还是反向代理(特征太明显了)
    birdvdsk
        3
    birdvdsk  
       4 天前 via Android
    虽然把流量路由到其他地方很常见,但是在上层套 nat 倒是第一次见。
    birdvdsk
        4
    birdvdsk  
       4 天前 via Android
    使用外部 nat 终结点外联,降低了服务质量。已经影响了业务进行(频繁超时,无法连接),违法了合同(专线固定公网 ip ),应要求运营商限期改正
    mytsing520
        5
    mytsing520  
    OP
    PRO
       4 天前
    @birdvdsk 只能说,用和不用 NAT ,目前互联互通都有问题;只能是两害相权取其轻。
    birdvdsk
        6
    birdvdsk  
       4 天前 via Android
    @mytsing520 好奇是什么专线,pon 还是 ptn 等方式接入
    mytsing520
        7
    mytsing520  
    OP
    PRO
       4 天前
    @birdvdsk 这里指的专线是指宽带产品类型
    flynaj
        8
    flynaj  
       4 天前 via Android
    @birdvdsk 理论上是这样,实际上我们这点全部禁路由追踪,
    traceroute www.baidu.com -4
    traceroute to www.baidu.com (183.2.172.177), 30 hops max, 46 byte packets
    1 100.81.0.1 (100.81.0.1) 7.333 ms 6.409 ms 5.508 ms
    2 * * *
    3 * * *
    4 * * *
    5 * * *
    6 * * *
    7 * * *
    8 * * *
    9 * * *
    julyclyde
        9
    julyclyde  
       3 天前
    NAT 在 traceroute 里本来就看不到啊,为啥还要插一句嘴?
    MindMindMax
        10
    MindMindMax  
       2 天前
    @birdvdsk NAT 不响应 ICMP 超时消息,traceroute 咋能看到呢
    birdvdsk
        11
    birdvdsk  
       2 天前 via Android
    @MindMindMax 我自己试了一下,openwrt ,routeros 还有华为。只要不 block icmp ,都能通过 nat 转发传递 traceroute 消息。不知 nat 不响应 icmp 消息是在哪里的说法
    birdvdsk
        12
    birdvdsk  
       2 天前 via Android
    @julyclyde 只要不禁止 icmp ttl 超时消息就能看到
    MindMindMax
        13
    MindMindMax  
       2 天前
    @birdvdsk 😷 运营商的 CGNAT 跟你 homelab 配置的拓扑能一样吗。traceroute 不会告诉你源地址在某一跳被转换了。它只显示路径节点的 IP ,而且 CGNAT 、运营商骨干设备上,很多时候会禁止 ICMP 响应,显示的是星号。但是星号又不意味着这是 CGNAT 。
    birdvdsk
        14
    birdvdsk  
       2 天前 via Android
    @MindMindMax 感谢你的回复。我去找了个 cgnat 宽带试了一下,确实骨干网里会有几跳没 icmp 路由回复。不过我还有一点疑问。既然 nat 的 traceroute 只显示路径节点的 IP ,那么这个 IP 具体是什么?是 nat 设备的出口 IP 吗?有没有相关 rfc 或者相关设备的文档描述具体行为
    MindMindMax
        15
    MindMindMax  
       2 天前
    @birdvdsk RFC 5508: "NAT Behavioral Requirements for ICMP"
    —— 不过看了也没用,因为即使 CGNAT 设备支持 RFC 5508 ,也不能保证沿途所有路由器都返回 ICMP 消息。人为开启 ICMP 抑制策略。
    运营商的理由:屏蔽探测(减少暴露安全隐患)、设备性能限制(骨干 CGNAT 要同时维护居多用户的会话表,响应跟踪请求的话,那要保持与维护大量 ICMP 的 Identifier 字段、状态了)
    birdvdsk
        16
    birdvdsk  
       2 天前 via Android
    @MindMindMax 感谢你的回复。我在 14 楼还提问了 nat 设备在处理 traceroute 时是返回内部接口 IP 还是外部接口 IP 的问题。我看见 rfc5508 提到:“当 NAT/NAPT 在路径上并且必须处理/转发 ICMP 错误/响应时,应该正确处理(并在必要时翻译) ICMP 中的字段以保持映射一致性。”可是具体会发生什么?
    birdvdsk
        17
    birdvdsk  
       2 天前 via Android
    @MindMindMax 返回外部接口 IP 还是内部接口 IP
    MindMindMax
        18
    MindMindMax  
       2 天前
    @birdvdsk 外部接口 IP 。 你看不到 NAT 内部的跳数的。
    emmm... 姑且歪个楼,如果你 traceroute 看到了保留地址:
    这是运营商在自己的骨干和接入网络里,用 RFC1918 的私有地址来给设备和链路编号。对你的终端来说,这些地址不可达,但在 traceroute 里可能会暴露出来,仅仅是看起来像“跳到了一些奇怪的保留地址”。
    birdvdsk
        19
    birdvdsk  
       2 天前 via Android
    @MindMindMax 感谢你的回复!
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   890 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:24 · PVG 05:24 · LAX 13:24 · JFK 16:24
    ♥ Do have faith in what you're doing.