<aside> 💡 这里为什么换成了7.0.3 GA版本呢?因为使用6.4.7 GA测试发现,使用此算法组合时,Tunnel SA的MTU计算是正确的1422,但Tunnel Interface MTU仍为1438,由于预分片是根据Tunnel Interface MTU进行的,所以仍然会产生AES256-SHA256 (NAT-T)测试中产生ESP分片的情况。所以我们换成7.0.3 GA进行测试,同时也方便最后总结版本上的差异。

</aside>

Topology

Untitled

Basic Configuration

FW1

R1-FG1101E # show vpn ipsec phase1-interface ToR2
config vpn ipsec phase1-interface
    edit "ToR2"
        set interface "port16"
        set peertype any
        set net-device disable
        set passive-mode enable
        set proposal aes128-sha256
        set **ip-fragmentation pre-encapsulation**
        set remote-gw 100.0.1.2
        set psksecret ENC Z8JY4iWGlEVkd9FBHND38mehwVdARcHczR3QcrxWjT60LTWVr1+CirMEFhzQdLZWBK+HWBCsGowDBXAzPqLPd2VfyW4Cl/w1n7Axa0B1e0oh+zTSdKr1auFuCMn/p/IkQpiHCY5AWV1E8GQcteDZ6zv7fpWqnTD0crmVSydT/Qpk5p844Oxgf02k9AfDRcY29j8Gcw==
    next
end
R1-FG1101E # show vpn ipsec phase2-interface ToR2 
config vpn ipsec phase2-interface
    edit "ToR2"
        set phase1name "ToR2"
        set proposal **aes256-sha384**
    next
end

FW2

R2-FG1101E # show vpn ipsec phase1-interface ToR1
config vpn ipsec phase1-interface
    edit "ToR1"
        set interface "port16"
        set peertype any
        set net-device disable
        set exchange-interface-ip enable
        set proposal aes128-sha256
        set **ip-fragmentation pre-encapsulation**
        set dpd disable
        set remote-gw 100.0.0.2
        set psksecret ENC Lv4Etajj6H2abp3coiBKezA+1aP7epa+KIUb6TpVECqC/MO8vweHdqW4mTfE+PJnm3xmywcheaxr7r/jNRimIuRbripGvAdvk9V8ezgTsInYXXWmmt1+twvGPPxfCKUxGHHJHVgozsun3uH5TMDmMwmgRkWL0sq7YR+Zv5lyrDhi7XZcJdioL60aa3RCqNyzc+hZYw==
    next
end
R2-FG1101E # show vpn ipsec phase2-interface ToR1 
config vpn ipsec phase2-interface
    edit "ToR1"
        set phase1name "ToR1"
        set proposal **aes256-sha384**
        set auto-negotiate enable
    next
end

Test Steps

  1. IPSec VPN隧道建立成功后,我们先来看下两端设备计算出的Tunnel SA/Tunnel Interface的MTU。
  1. 首先验证下在Tunnel MTU极限值的情况下,是否会产生分片。目前Tunnel Interface MTU为1420,也就是说被加密原始明文最大为1420 Bytes。我们使用PC1 Ping PC2来测试,datasize = 1420 - 20 (Original IP Header) - 8 (ICMP Header) = 1392

    [root@CentOS-1 ~]# ping 10.1.87.222 **-s 1392** -c 1 -M dont
    PING 10.1.87.222 (10.1.87.222) 1392(**1420**) bytes of data.
    1400 bytes from 10.1.87.222: icmp_seq=1 ttl=62 time=0.736 ms
    --- 10.1.87.222 ping statistics ---
    1 packets transmitted, 1 received, 0% packet loss, time 0ms
    rtt min/avg/max/mdev = 0.736/0.736/0.736/0.000 ms
    
  2. 关闭Router(R1-FG601E)的芯片加速功能,同时在Router上抓取4和6格式的ESP报文。