Overview

When using workflows to deploy controllers, templates and devices, default encryption settings for IKE and IPSEC are applied. Depending on the enterprise security needs the defaults can be changed. This article will guide you through the steps needed to make the changes in two scenarios. One during the initial deployment itself and the other for an already operational network.


For Control plane, all branches to controller1 will leverage the same IKE/IPSEC settings. The settings can be same or different for all branches to controller2. The sd-wan data plane will need the same settings across the board. So, all branch to branch settings will remain the same for all branches. 


This article is referenced based on to Versa software version 16.1R2, but the concept can be extended to 16.1R1, 20.2 or even later versions. All examples in this article are from service release 16.1R2-S10.


Default Settings

Since the default settings can change between code versions, we recommend reviewing the configuration after deploying the controllers and templates.


Picture1: IKE settings for Staging VPN profile under 'Provider' Org 

Picture2: IPSEC settings for Staging VPN profile under 'Provider' Org 

Picture3: IKE settings for PostStaging VPN profile under respective customer org.

Picture4: IPSEC settings for PostStaging VPN profile under respective customer org.



Scenario1

In this scenario it is assumed that the controllers, templates and device workflows are already deployed and some or all branch devices are also activated and actively reachable from Versa director.


Pre-Validation:

Since this is assumed to be a functional network, we need to have a pre-validation step. 

Ensure that all branchs' SLAs are up from both controllers to all branches. During this process each branch will be single threaded towards a controller while the changes are applied in sequential steps. 


In CLI, run the command show orgs org <org name> sd-wan sla-monitor status | tab on both controllers to check the SLA status to the branches within the org. 

admin@VersaController1-cli> show orgs org Customer1 sd-wan sla-monitor status | tab
                                                                  LOCAL  REMOTE
                                                                  WAN    WAN
                    PATH     FWD    LOCAL WAN      REMOTE WAN     LINK   LINK    ADAPTIVE    DAMP     DAMP   CONN          LAST
SITE NAME           HANDLE   CLASS  LINK           LINK           ID     ID      MONITORING  STATE    FLAPS  STATE  FLAPS  FLAPPED
------------------------------------------------------------------------------------------------------------------------------------
Customer1-Branch1   6623488  fc_nc  Internet       Internet       1      1       disable     disable  0      up     1      2w1d00h
Customer1-Branch2   6689024  fc_nc  Internet       Internet       1      1       disable     disable  0      up     1      2w1d00h
Customer1-Branch3   6754560  fc_nc  Internet       Internet       1      1       disable     disable  0      up     1      2w0d23h
Customer1-Branch4A  6820096  fc_nc  Internet       Internet       1      1       disable     disable  0      up     1      2w0d23h
Customer1-Branch4B  6885888  fc_nc  Internet       Internet       1      2       disable     disable  0      up     1      2w0d23h
VersaController2    135424   fc_nc  Internet       Internet       1      1       disable     disable  0      up     1      2w1d05h

[ok][2019-10-29 23:51:34]

admin@VersaController2-cli> show orgs org Customer1 sd-wan sla-monitor status | tab
                                                                  LOCAL  REMOTE
                                                                  WAN    WAN
                    PATH     FWD    LOCAL WAN      REMOTE WAN     LINK   LINK    ADAPTIVE    DAMP     DAMP   CONN          LAST
SITE NAME           HANDLE   CLASS  LINK           LINK           ID     ID      MONITORING  STATE    FLAPS  STATE  FLAPS  FLAPPED
------------------------------------------------------------------------------------------------------------------------------------
Customer1-Branch1   6623488  fc_nc  Internet       Internet       1      1       disable     disable  0      up     1      2w1d00h
Customer1-Branch2   6689024  fc_nc  Internet       Internet       1      1       disable     disable  0      up     1      2w1d00h
Customer1-Branch3   6754560  fc_nc  Internet       Internet       1      1       disable     disable  0      up     1      2w0d23h
Customer1-Branch4A  6820096  fc_nc  Internet       Internet       1      1       disable     disable  0      up     1      2w0d23h
Customer1-Branch4B  6885888  fc_nc  Internet       Internet       1      2       disable     disable  0      up     1      2w0d23h
VersaController1    69888    fc_nc  Internet       Internet       1      1       disable     disable  0      up     1      2w1d05h

[ok][2019-10-29 23:51:59]

In CLI, run the command show bgp neighbor brief <org-Control-VR> on both controllers to check the BGP status to the branches within the org.

admin@VersaController1-cli> show bgp neighbor brief Customer1-Control-VR
routing-instance: Customer1-Control-VR

Neighbor        V  MsgRcvd   MsgSent    Uptime     State/PfxRcd  PfxSent AS
100.0.160.2     4  53406     53409      2w1d22h    29            44      64512
100.0.160.101   4  52674     53190      2w1d18h    6             44      64512
100.0.160.102   4  52694     53185      2w1d17h    6             44      64512
100.0.160.103   4  52655     53174      2w1d17h    5             44      64512
100.0.160.104   4  52594     53120      2w1d17h    5             44      64512
100.0.160.105   4  52540     53036      2w1d17h    5             44      64512

[ok][2019-10-30 17:31:05]

admin@VersaController2-cli> show bgp neighbor brief Customer1-Control-VR
routing-instance: Customer1-Control-VR

Neighbor        V  MsgRcvd   MsgSent    Uptime     State/PfxRcd  PfxSent AS
100.0.160.101   4  52618     53169      2w1d18h    6             44      64512
100.0.160.102   4  52683     53209      2w1d17h    6             44      64512
100.0.160.103   4  52622     53213      2w1d17h    5             44      64512
100.0.160.104   4  52585     53129      2w1d17h    5             44      64512
100.0.160.105   4  52480     53024      2w1d17h    5             44      64512
100.0.160.1     4  53405     53402      2w1d22h    29            29      64512

[ok][2019-10-30 17:29:15]

Once you have verified that all branch devices have connectivity to both controllers, proceed to making configuration changes following the steps below.


Steps:

I. Update the IKE and/or IPSEC parameters for the PostStaging VPN profile of Controller1 and click 'OK' when all fields have been updated as desired. 

  1. The following parameters can be modified for IKE security.
    • Local  Auth - Shared Key (PSK)
    • Local Auth - Identity
    • Transform
    • DH Group (PFS)
    • Remote Auth is dynamically (re)generated when the device workflow is redeployed in step IV.
  2. The following parameters can be modified for IPSEC security.
    • Transform
    • DH Group (PFS)

Once you click OK, the branch appliances will lose connectivity to the first controller, but will remain connected with the second controller. This allows for the sd-wan mesh to remain fully operational. UI screen examples are already shown in Picture3 and Picture4 above. The same commands from the pre-validation step can be used to validate the same in CLI. 

Note: Controller and branch appliances will create ipsec, bgp and sdwan alarms for this failure.


II. Recreate the template workflows for the organization. Once deployed, the templates will automatically pick the IKE/IPSEC settings to match the controller1 configuration changes from the step above. Recreating a template will not change the branch to branch IKE/IPSEC settings.


Picture5: Template workflow recreation.


Note: If you are not using workflows, you can manually update all templates’ Controller1-Profile.


Picture6: IPSEC settings for Controller1 VPN profile under respective customer org.


III. Under the configuration template, create a new Branch SDWAN Profile. Do not delete the existing pre-created default yet.


Picture7: Branch SDWAN Profile settings for branch templates.


IV. Commit the templates to the appliances. Once template is successfully applied to the branch appliance, it will regain connectivity with Controller1. Using the CLI command in pre-validation, verify the SLAs and BGP are up to all branches.


Picture8: Commit template window for committing a template to branch(es).


V. Almost as a repeat to step I, update the IKE and/or IPSEC parameters for the PostStaging VPN profile of Controller2 and click 'OK' when all fields have been updated as desired. 


VI. Repeat Step II to recreate template. This time Controller2 associated IKE/IPSEC settings will get updated on the template.


VII. Under the configuration template, delete the original SDWAN Branch Profile b2b-sdwan, while keeping the newly created profile.


VIII. Under the configuration template, update the templates' controllers' ipsec profile field "Branch SDWN Profile" with the newly create Branch SDWAN profile by selecting from the dropdown.


Picture9: Changing the Branch SDWAN profile towards Controller1 on the template.


Picture10: Changing the Branch SDWAN profile towards Controller2 on the template.


IX. Under the configuration template, update ike/ipsec parameters on controller2's ipsec profile towards controller1 within the respective org to match the controller1 PostStaging-Profile.


Picture11: Changing the VPN Profile towards Controller1 on the controller2 configuration.


X. Repeat IV and commit the templates to the appliances. Once template is successfully applied to the branch appliance, it will regain connectivity with Controller2.



Scenario2

In this scenario, it is assumed that the director, controllers and analytics are fully provisioned, and onboarded using controller workflow. Customer org or templates may or may not be deployed. 


From Scenario1 above, 

  • Combine steps I and V into I.
  • Combine III and VII into III
  • Skip/Delete step IV and VI


Verification


Run the pre-validation commands on all devices within this customer organization to verify all devices are operational and communicating with each other.


In order to verify that the new IKE/IPSEC settings have taken effect for the control plane, run the CLI commands show orgs org-services <Customer Org Name> ipsec vpn-profile <Controller-Profile-Name> ike security-associations detail and show orgs org-services <Customer Org Name> ipsec vpn-profile <Controller-Profile-Name> security-associations detail on branches.

admin@Customer1-Branch1-cli> show orgs org-services Customer1 ipsec vpn-profile VersaController1-Profile ike security-associations detail

  Tunnel-Id: 2,  VSN : 0
  IKE Version: v2, Type: branch-sdwan
    Authentication: hmac-sha256-128, Encryption: aes256-cbc, DH Group: mod19
    Life Time: 28800 seconds, Remaining Life Time: 2967 seconds
  Local  Gateway: 10.0.128.101
    Auth Type: psk, ID Type: email, ID String: [email protected]
    SPI: 0xf68caabe0f220002
  Remote Gateway: 10.0.128.1
    Auth Type: psk, ID Type: email,  ID String: [email protected]
    SPI: 0x1bd13ae79fc70002
[ok][2019-10-30 21:39:58]

admin@Customer1-Branch1-cli> show orgs org-services Customer1 ipsec vpn-profile VersaController1-Profile security-associations detail

  Local Gateway: 10.0.128.101
    Auth Type: psk, ID Type: email, ID String: [email protected]
  Remote Gateway: 10.0.128.1
    Session Type: Control
    Auth Type: psk, ID Type: email, ID String: [email protected]
  Inbound SPI: 0x2000fc2
    Mode: tunnel, Protocol: esp
    Authentication: none, Encryption: aes-gcm, Key Len: 128, PFS DH Group: mod-none
    Life Time: 24734 seconds, Remaining Life Time:  2747 seconds
    Life Time: 0 mbytes, Remaining Life Time:  0 mbytes
    NAT Traversal: disable, Anti-replay: enable, Window Size: 65472
    Traffic Selector:
      Rule       : ptvi4, Tunnel Routing Instance: Customer1-Control-VR
      Source     : /0, Proto: Any, Port: 0
      Destination: /0, Proto: Any, Port: 0
    Statistics:
         # Packets                       : 19817        (0 Packets/Sec)
         # Bytes                         : 1567293      (71 Bytes/Sec)
         # Packets decrypted             : 19817
         # Packets dropped - Invalid     : 0
         # Packets dropped - Anti-replay : 0
         # Packets dropped - Auth failed : 0
  Outbound SPI: 0x2003e70
    Mode: tunnel, Protocol: esp
    Authentication: none, Encryption: aes-gcm, Key Len: 128, PFS DH Group: mod-none
    Life Time: 24734 seconds, Remaining Life Time:  2747 seconds
    Life Time: 0 mbytes, Remaining Life Time:  0 mbytes
    NAT Traversal: disable, Anti-replay: enable
    Traffic Selector:
      Rule       : ptvi4, Tunnel Routing Instance: Customer1-Control-VR
      Source     : /0, Proto: Any, Port: 0
      Destination: /0, Proto: Any, Port: 0
    Statistics:
      # Packets                           : 29372        (1 Packets/Sec)
      # Bytes                             : 9615107      (0 Bytes/Sec)
      # Packets encrypted                 : 29372
      # Packets dropped - No SA info      : 0
      # Packets dropped - No mbuf         : 0
      # Packets dropped - Coalesce failed : 0
[ok][2019-10-30 21:40:21]


In order to verify that the sd-wan data plane dynamic runnels are up, run the CLI command show interfaces dynamic-tunnels.

admin@Customer1-Branch1-cli> show interfaces dynamic-tunnels
                                                                                                  REMOTE
           LOCAL                                                                                  SITE    TUNNEL
NAME       INTERFACE  TENANT     VRF                   LOCAL IP       REMOTE IP      OPER  ADMIN  ID      TYPE       REMOTE SITE NAME
-----------------------------------------------------------------------------------------------------------------------------------------
ptvi-0/35  tvi-0/4.0  Customer1  Customer1-Control-VR  10.0.128.101  10.0.128.1    up    up     1       cleartext  VersaController1
ptvi-0/36  tvi-0/4.0  Customer1  Customer1-Control-VR  10.0.128.101  10.0.128.2    up    up     2       cleartext  VersaController2
ptvi-0/44  tvi-0/4.0  Customer1  Customer1-Control-VR  10.0.128.101  10.0.128.104  up    up     104     cleartext  Customer1-Branch4A
ptvi-0/45  tvi-0/5.0  Customer1  Customer1-Control-VR  10.0.160.101  10.0.160.104  up    up     104     secure     Customer1-Branch4A
ptvi-0/46  tvi-0/4.0  Customer1  Customer1-Control-VR  10.0.128.101  10.0.128.103  up    up     103     cleartext  Customer1-Branch3
ptvi-0/47  tvi-0/5.0  Customer1  Customer1-Control-VR  10.0.160.101  10.0.160.103  up    up     103     secure     Customer1-Branch3
ptvi-0/48  tvi-0/4.0  Customer1  Customer1-Control-VR  10.0.128.101  10.0.128.102  up    up     102     cleartext  Customer1-Branch2
ptvi-0/49  tvi-0/5.0  Customer1  Customer1-Control-VR  10.0.160.101  10.0.160.102  up    up     102     secure     Customer1-Branch2
ptvi-0/50  tvi-0/4.0  Customer1  Customer1-Control-VR  10.0.128.101  10.0.128.105  up    up     105     cleartext  Customer1-Branch4B
ptvi-0/51  tvi-0/5.0  Customer1  Customer1-Control-VR  10.0.160.101  10.0.160.105  up    up     105     secure     Customer1-Branch4B
ptvi4      tvi-0/5.0  Customer1  Customer1-Control-VR  10.0.160.101  10.0.160.1    up    up     1       secure     VersaController1
ptvi5      tvi-0/5.0  Customer1  Customer1-Control-VR  10.0.160.101  10.0.160.2    up    up     2       secure     VersaController2

[ok][2019-10-30 21:46:25]