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

ipsec ESP 包的 nat 问题

  •  
  •   huangya · 2023-03-14 17:28:34 +08:00 · 1252 次点击
    这是一个创建于 644 天前的主题,其中的信息可能已经有所发展或是发生改变。
    网络拓扑是:
    LAN PC1/PC2 ---家庭路由器----Internet----IPSec server

    假设路由器有公网 IP 。
    LAN PC1 和 PC2 都连接*相同*的 IPsec server.当 IPsec SA 建立成功后,因为 ESP 是三层协议,不像 tcp/udp
    那样有端口。那么家庭路由器对从 IPsec server 发往 PC1 或者 PC2 的包是怎样进行 nat 转换的呢?依据是什么?
    ESP 包中的 SPI ?如果 SPI 相同呢?

    楼主多年前研究过一段时间 IPSec ,但好多东西忘了。最近突然想到这个问题。有点困惑了。
    6 条回复    2023-03-15 09:48:04 +08:00
    hzdrro
        1
    hzdrro  
       2023-03-14 17:57:00 +08:00
    NAT-T ,会有 UDP 头
    huangya
        2
    huangya  
    OP
       2023-03-14 18:03:54 +08:00
    @hzdrro
    你是说 server 发给 PC1 和 PC2 的 ESP 包会加上 UDP 头吗?如果是:
    1. 这个加 UDP 头,是在协商阶段定的吗?也就是怎么决定或者探测是否要加 UDP 头?
    2.从 PC1/PC2 发往 server 的时候,也加了吧?
    hzdrro
        3
    hzdrro  
       2023-03-14 18:09:22 +08:00   ❤️ 1
    folnet
        4
    folnet  
       2023-03-14 19:11:07 +08:00
    协商的时候通过 NAT-D 检测,主要就是通过对 ip 和端口进行 hash 判断有没有 NAT 。检测到 NAT ,后续协商报文和实际封装使用 UDP 4500
    huangya
        5
    huangya  
    OP
       2023-03-14 23:16:10 +08:00
    @hzdrro
    @folnet
    这样看起来本来一个三层的协议由于 NAT 硬生生变成了一个四层协议,这可能也是 openvpn 兴起的一个原因吧?
    Jhma
        6
    Jhma  
       2023-03-15 09:48:04 +08:00
    @huangya ipsec(l2tp)缺点很明显,网对网只能在路由里面写策略才能实现按需求代理,网对点( ipsec l2tp)基本只能全局代理,而 openvpn 就比较灵活了,openvpn 可以做到用户名+密码+证书+APP 动态密码二次认证!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3582 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:29 · PVG 12:29 · LAX 20:29 · JFK 23:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.