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

一个蛋疼的 IPsec 问题

  •  
  •   unpay · 2025 年 7 月 21 日 · 2831 次点击
    这是一个创建于 195 天前的主题,其中的信息可能已经有所发展或是发生改变。

    IPsec 组的 VPN 。。。ping 都是通的。。但是通过 IPSEC 开内网的网页很慢很慢。 通过抓包看了。。全是 TCP Spurious Retransmission ,

    我猜测是 MTU 问题? ICMP 或 TCP 将被迫分片,而部分运营商又对对分片或 ESP 分片极不友好,导致丢包或重传。

    运营商现在也找不到问题所在。。

    27 条回复    2025-07-26 02:20:31 +08:00
    rrfeng
        1
    rrfeng  
       2025 年 7 月 21 日 via Android
    两端强制调小 mtu
    rrfeng
        2
    rrfeng  
       2025 年 7 月 21 日 via Android
    mss
    Tianao
        3
    Tianao  
       2025 年 7 月 21 日
    直接改小 overlay 接口的 MTU 或者 overlay 流量的 TCP MSS, 一个保守的 MTU 值供参考是 1280.
    unpay
        4
    unpay  
    OP
       2025 年 7 月 21 日
    @rrfeng 也就是 MTU 和 MSS 都要调对吧 大神
    rrfeng
        5
    rrfeng  
       2025 年 7 月 21 日 via Android
    @unpay
    一两句很难说清……
    能改接口 mtu 最好,但是前提是应用程序要感知到 mtu ,如果不是本地接口(比如 ipsec 在路由器上)就可能……

    改 mss 要么在终端设备,要不在链路中间强改 tcp 握手
    unpay
        6
    unpay  
    OP
       2025 年 7 月 21 日
    @Tianao 但现在主设备是支持调 MTU 和 MSS 。。下面的设备不支持。。蛋疼中。。
    maybeonly
        7
    maybeonly  
       2025 年 7 月 21 日
    @unpay mss 在一边搞就行了
    iptables -A FORWARD -i $dev -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1401:1500 -j TCPMSS --set-mss 1400
    iptables -A FORWARD -o $dev -p tcp --tcp-flags SYN,RST SYN -m tcpmss --mss 1401:1500 -j TCPMSS --set-mss 1400
    双向设置 mss
    Tianao
        8
    Tianao  
       2025 年 7 月 21 日
    @unpay #6
    #5 正解,MTU 只要改 overlay 接口的,不用端到端改,然后确保沿途所有防火墙允许 ICMP Type 3 Code 4, 就可以期望 PMTUD 发挥作用。TCP MSS 只需要在途径任意位置改握手包的,握手后会自动取最小值;但是 UDP 没有 MSS 协商的概念。某些厂商的设备(如 FortiGate )允许配置是先把 overlay 流量分片再根据 underlay 接口的 MTU 封装 ESP, 还是先封装成 ESP 再对 ESP 进行分片,改成前一种逻辑就可以避免 ESP 分片。
    szqh97
        9
    szqh97  
       2025 年 7 月 21 日
    我们之前在客户那边也遇到过类似问题,也是 overlay mtu 问题,客户那边还不让改 overlay 配置,我们自己写了个透明代理,操蛋的一批
    wy315700
        10
    wy315700  
       2025 年 7 月 21 日
    有一端的 MTU 改了就行
    a33291
        11
    a33291  
       2025 年 7 月 21 日
    搭一个新的 vpn 比如 softether 对比测一下,看是不是链路就不行?
    unpay
        12
    unpay  
    OP
       2025 年 7 月 21 日
    问题已解决。。。。。菊花工程师。。。。远程更新了一下固件。。好了
    mikaelson
        13
    mikaelson  
       2025 年 7 月 21 日
    @a33291 softether 可以透传 IP ,不做 nat 吗?
    mikaelson
        14
    mikaelson  
       2025 年 7 月 21 日
    @szqh97 有没有能透传 ip 保留原 IP 的方案,最近 ipsec 被限速异常严重。。。
    a33291
        15
    a33291  
       2025 年 7 月 21 日
    @mikaelson #13 可以的,直接服务端桥接到本地网卡,就直接把整个主机所在网络给暴露出去了

    为了安全的话,还是用他那个 secureNAT,所有进去的设备组成一个 lan
    mikaelson
        16
    mikaelson  
       2025 年 7 月 21 日
    @a33291 #15 教程好少,能不能指点一下,我是 2 台 ubuntu ,想打通 2 个内网,不想做 nat ,不然所有服务的安全组都要改过
    life90
        17
    life90  
       2025 年 7 月 22 日 via iPhone
    @mikaelson 现在可以问 AI 。教程这东西只会越来越少
    mikaelson
        18
    mikaelson  
       2025 年 7 月 22 日
    @life90 #17 肯定问过了,都在胡说八道。。。claude 和 gpt
    bobryjosin
        19
    bobryjosin  
       2025 年 7 月 23 日 via Android
    @mikaelson 两台机器跑一个隧道,在隧道里面跑 vxlan ,两端把 vxlan 接口桥接进一个 Bridge 就可以了,二层打通就不用 nat 了。
    barnettluo1994
        20
    barnettluo1994  
       2025 年 7 月 23 日
    @bobryjosin 真是不嫌麻烦弄 vxlan
    barnettluo1994
        21
    barnettluo1994  
       2025 年 7 月 23 日
    直接调节,mss 就行
    mikaelson
        22
    mikaelson  
       2025 年 7 月 23 日
    @barnettluo1994 #20 有更好方案?
    thereone
        23
    thereone  
       2025 年 7 月 23 日
    @mikaelson 不是很简单吗,softether 很简单的不会也可以看看我写的。
    mikaelson
        24
    mikaelson  
       2025 年 7 月 23 日
    @thereone 感谢,我看看
    barnettluo1994
        25
    barnettluo1994  
       2025 年 7 月 23 日 via iPhone
    @mikaelson 你两端是什么路由器防火墙?
    mikaelson
        26
    mikaelson  
       2025 年 7 月 24 日
    @barnettluo1994 #25 2 朵云。。云上的机器
    barnettluo1994
        27
    barnettluo1994  
       2025 年 7 月 26 日 via iPhone
    @mikaelson 那就在云上的机器上直接 tcp mss 做好
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2159 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 14:45 · PVG 22:45 · LAX 06:45 · JFK 09:45
    ♥ Do have faith in what you're doing.