野蛮模式/network-id适用场景

关于主模式中的Peer ID问题

  1. 在主模式中,第3、4个包交互之后(DH公钥和随机数交换),需要使用到Pre-shared key(管理员配置的预共享密钥)值用于生成SHEYID(预共享密钥方式认证:SKEYID=hash (pre-shared key ,Ni | Nr) ),此时是无法通过Peer-ID查找到,因为Peer-ID参数在第5、6个包中,而且还是被加密的,解密需要使用到SHEYID为材料生成的密钥SHEYID_e,因此这个时候只能通过对方发起IKE协商的公网IP地址去查找Peer的Pre-shared key以确认其身份。

  2. 如此将引出一个问题,在对方(分部)为PPPoE/DHCP等动态IP场景中时,总部无法配置明确的对方IP和Pre-shared key,而只能配置动态拨号方式的IPsec VPN,如果我们选择第一阶段为主模式,因为Peer-ID在第5、6包携带,并且是加密的,因此Hub在主模式中是无法提前获知到Peer-ID信息的,也没办法根据Peer-ID信息去查找到底用哪一个Pre-shared key,一般动态IP场景中主模式使用较少,而且就算使用主模式的话的Peer-ID配置为any的较多。

  3. IKEv1主模式拨号连接的匹配条件顺序(所有匹配条件都一致时,Spoke发起的连接匹配Hub配置顺序的第一个拨号连接):

    • local-gw:默认为拨号连接使用的接口Primary IP,可以手动更改为设备上其他接口的IP。
    • IKEv1 Main mode + PSK。
    • Proposal + DH group。

什么时候需要野蛮模式

  1. Hub端同一个接口IP上存在多条动态拨号的IKEv1主模式IPsec VPN,且使用的算法、预共享密钥、DH组一致。此时由于拨号VPN的目的IP都是any(0.0.0.0),此时根本无法区分这两条IPsec VPN隧道,不知道拨号用户到底是匹配Dia_VPN1还是匹配Dia_VPN2(FGT的处理是优先匹配靠前的拨号VPN),因此为了区分本地的多条动态拨号VPN,则需要配置Peer ID参数,以便区分这本地的多条动态IPsec VPN隧道,例如:

    • Dia_VPN1:动态拨号VPN 野蛮模式 Local ID BJ Peer ID:South-FGT。
  • Dia_VPN2:动态拨号VPN 野蛮模式 Local ID BJ Peer ID:North-FGT。
  1. 如果对方拨号用户1填写的Local ID是South-FGT则连接到Dia_VPN1,如果对方拨号用户2填写的Local ID是North-FGT则连接到Dia_VPN2。这样就可以将不通的拨号用户进行区分和分离,方便进行独立的VPN隧道、独立的策略进行控制。在这种需求的情况下:首先需要舍弃掉主模式,用野蛮模式,同时使用不同的Peer-ID来区分不同的动态VPN隧道。

  2. IKEv1野蛮模式拨号连接的匹配条件顺序(所有匹配条件都一致时,Spoke发起的连接匹配Hub配置顺序的第一个拨号连接):

    • local-gw:默认为拨号连接使用的接口Primary IP,可以手动更改为设备上其他接口的IP。
    • IKEv1 Main mode + PSK。
    • Proposal + DH group。
    • Peer ID(开启客户端用户认证时使用user.local.name)。

IKEv2

  1. 在IKEv2的协商报文中,ID信息包含在IKE_AUTH报文中,且被加密。所以会出现和IKEv1主模式一样的问题(同一个接口IP上存在多条动态拨号的IKEv1主模式IPsec VPN,且使用的算法、预共享密钥、DH组一致)。

  2. Fortinet使用network-id属性来解决此问题,该字段包含在IKEv2协商的第1、2个报文(IKE_SA_INIT)中,没有被加密,network-id为Fortinet私有

    Hub:
    config vpn ipsec phase1-interface
        edit "Hub_1"
            set ike-version 2
            set network-overlay enable
            set network-id 1
        next
    end
    config vpn ipsec phase1-interface
        edit "Spoke1"
            set ike-version 2
            set network-overlay enable
            set network-id 1
        next
    end
    
  3. Hub在同一个接口IP上存在多条动态拨号的IKEv1主模式IPsec VPN,且使用的算法、预共享密钥、DH组一致,可以配置不同的network-id来区分不同的Spoke拨入连接。

    config vpn ipsec phase1-interface
        edit "Hub_1"
            set type dynamic
            set interface "wan1"
            set ike-version 2
            set network-overlay enable
            set network-id 1
        next
            set type dynamic
            edit "Hub_2"
            set interface "wan1"
            set ike-version 2
            set network-overlay enable
            set network-id 2
        next
    end
    
  4. 每个Spoke配置不同的network-id来连接Hub上对应的拨号连接。

    Spoke1:
    config vpn ipsec phase1-interface
        edit "Spoke1"
            set interface "port2"
            set ike-version 2
            set network-overlay enable
            set network-id 1
        next
    end
    
    Spoke2:
    config vpn ipsec phase1-interface
        edit "Spoke1"
            set interface "port2"
            set ike-version 2
            set network-overlay enable
            set network-id 2
        next
    end
    
  5. IKEv2拨号连接的匹配条件顺序(所有匹配条件都一致时,Spoke发起的连接匹配Hub配置顺序的第一个拨号连接):

    • local-gw:默认为拨号连接使用的接口Primary IP,可以手动更改为设备上其他接口的IP。
    • IKEv1 Main mode + PSK。
    • Proposal + DH group。
    • network-id。

Copyright © 2024 Fortinet Inc. All rights reserved. Powered by Fortinet TAC Team.
📲扫描下方二维码分享此页面👇
该页面修订于: 2024-01-02 15:18:09

results matching ""

    No results matching ""