FortiOSGuías técnicas

FortiOS 6.2: IPSec over SD-WAN

Objetivo:

El objetivo es mejorar la conectividad de VPN (IPSEC) entre dos locaciones remotas a modo que se utilice el mejor enlace WAN disponible. Para esto, utilizando la tecnología Secure SD-WAN de Fortinet mostraremos cómo realizar la configuración para aprovechar el conocimiento de la calidad del enlace para tener el mejor rendimiento.

Para llevar a cabo esta configuración se utilizó:

  • VMWare Workstation 14.1.7
  • Fortigate-VM build0866 (Trial Mode)
  • Debian 9

Topología:

Los pasos necesarios para configurar esta topología serían los siguientes:

Se muestran únicamente las configuraciones de FG01, ya que las configuraciones de FG02 son análogas.

Configuración de interfaces:

GUI:

Network -> Interfaces

Port1

CLI:

config system interface

    edit “port1”

        set ip 10.254.254.50 255.255.255.0

        set alias “WAN”

        set role wan

   end

Repetimos esta misma configuracion para los port2 y port3 utilizando estos datos:

port2

Ip 10.0.1.1/24

port3

Ip 10.250.250.50/24

Habilitamos SD-WAN y agregamos la primera interfaz:

GUI:

Network -> SD-WAN

 

 

 

 

 

 

CLI:

config system virtual-wan-link

    set status enable

    config members

        edit 1

            set interface “port1”

            set gateway 10.254.254.254

        next

    end

end

Repetimos el mismo procedimiento para port3 utilizando como Gateway la ip 10.250.250.254

Agregamos la ruta para habilitar internet:

GUI:

Network -> Static Routes

CLI:

config router static

    edit 1

        set distance 1

        set virtual-wan-link enable

    next

end

Damos de alta el Túnel:

Nota: los algoritmos de encriptación son bajos dados que se realizaron con VM en demo)

GUI:

VPN -> IPsec Tunnels

CLI:

config vpn ipsec phase1-interface

    edit “ToFG02”

        set interface “port1”

        set ike-version 2

        set peertype any

        set net-device enable

        set proposal des-sha1

        set nattraversal disable

        set remote-gw 10.254.254.60

        set psksecret ENC J3CrypZIER4VZJvXD1viu1ifmBJ39wJ7MIkAI+4gE6LtogJk/YR5NnaOwkbs1NNgpemBlYWave8i7MQ0o5faAsaQwMaT7iOeGi8763QWzare89m72yF1D8NBENlpeIzlkJgtS6/nQ/OjYqXCE8pLwU7t0ocyuEaaFkmQAIK49hFDUcLKJ0Y6ZTWX2Yse1+eSKGb8Uw==

    next

end

config vpn ipsec phase2-interface

    edit “ToFG02”

        set phase1name “ToFG02”

        set proposal des-sha1

    next

end

Repetimos el procedimiento para generar un nuevo túnel con el nombre ToFG02.1 utilizando como interface el port3 y como remote Gateway 10.250.250.50

Le asignamos una dirección IP y la agregamos a SD-WAN:

GUI:

Network -> Interfaces

 

 

 

 

 

 

 

 

 

 

Network -> SD-WAN

 

 

 

 

 

 

 

 

CLI:

config system interface

    edit ” ToFG02″

        set ip 10.1.1.1 255.255.255.255

        set type tunnel

        set remote-ip 10.1.1.2 255.255.255.255

   next

end

config system virtual-wan-link

   config members

        edit 1

            set interface “port1”

            set gateway 10.254.254.254

        next

        edit 2

            set interface “ToFG02”

            set gateway 10.1.1.2

        next

        edit 3

            set interface “port3”

            set gateway 10.250.250.254

        next

        edit 4

            set interface “ToFG02.1”

            set gateway 10.2.2.2

        next

    end end

Repetimos el procedimiento para el túnel ToFG02.1 asignando como ip local 10.2.2.1 y como remota 10.2.2.2/32

Damos de alta 4 objetos:

internal-lan = 10.0.1.0/24

FGT02Net = 10.0.2.0/24

FG02_IPsecIF = 10.1.1.2/32

FG02.1_IPsecIF = 10.2.2.2/32

GUI:

Policy & Objects -> Address

CLI:

config firewall address

   edit “internal-lan”

        set subnet 10.0.1.0 255.255.255.0

    next

    edit “FG02Net”

        set subnet 10.0.2.0 255.255.255.0

    next

   edit “FG02_IPsecIF”

        set subnet 10.1.1.2 255.255.255.255

    next

    edit “FG02.1_IPsecIF”

        set subnet 10.2.2.2 255.255.255.255

    next

end

Generamos 3 Firewall Policy:

GUI:

Policy & Objects -> Address

Permitimos el trafico entre las redes

Permitimos el tráfico hacia internet

CLI:

config firewall policy

    edit 1

        set name “ToFG2”

        set srcintf “port2”

        set dstintf “virtual-wan-link”

        set srcaddr “internal-lan”

        set dstaddr “FG02Net”

        set action accept

        set schedule “always”

        set service “ALL”

    next

    edit 2

        set name “FromFG02”

        set srcintf “virtual-wan-link”

        set dstintf “port2”

        set srcaddr “FG02Net” “FG02_IPsecIF” “FG02.1_IPsecIF”

        set dstaddr “internal-lan”

        set action accept

        set schedule “always”

        set service “ALL”

    next

    edit 3

        set name “ToInternet”

        set srcintf “port2”

        set dstintf “virtual-wan-link”

        set srcaddr “internal-lan”

        set dstaddr “all”

        set action accept

        set schedule “always”

        set service “ALL”

        set nat enable

    next

end

Generamos 2 Health Check:

GUI:

Network -> Performance SLA

Hacia Internet:

Nota: en “Participants” se deben seleccionar todas las WAN que estén configuradas, en este caso utilizamos la IP de los DNS de Google para realizar la verificación de disponibilidad del o los enlaces.

 

 

 

 

 

 

 

 

 

 

Para los túneles:

Nota: en “Participants” se deben seleccionar todos los túneles IPSec que se configuren hacia la misma subred de destino, en este caso el chequeo se realiza hacia la interface interna del FG02 pero se puede utilizar cualquier IP que se encuentre detrás de este firewall.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GUI una vez configurados:

CLI:

config system virtual-wan-link

    config health-check

        edit “ToFG02”

            set server “10.0.2.1”

            set members 2 4

            config sla

                edit 1

                    set jitter-threshold 50

                    set packetloss-threshold 2

                next

            end

        next

        edit “Google”

            set server “8.8.8.8”

            set members 3 1

        next

    end

Configuramos las reglas de SD-WAN para que procesen el tráfico según corresponda el destino:

GUI:

Network -> SD-WAN Rules

Para direccionar el tráfico por el o los túneles:

Para direccionar el tráfico hacia internet:

GUI una vez configurados:

CLI:

config system virtual-wan-link

    config service

        edit 1

            set name “ToFG02Net”

            set mode sla

            set dst “FG02Net”

            set src “internal-lan”

            config sla

                edit “ToFG02”

                    set id 1

                next

            end

            set priority-members 2 4

        next

        edit 2

            set name “ToInternet”

            set mode priority

            set dst “all”

            set src “internal-lan”

            set health-check “Google”

            set priority-members 1 3

        next

    end

Para la configuración del FG02 se deben cambiar los siguientes datos:

Interfaces:

port1 = 10.254.254.60

port2 = 10.0.2.1/24

ToFG01 =

Local: 10.1.1.2

Remote: 10.1.1.1/32

Address Objects:

internal-lan = 10.0.2.0/24

FGT01Net = 10.0.1.0/24

FG01_IPsecIF = 10.1.1.1/32

FG01.1_IPsecIF = 10.2.2.1/32

Resultados:

Recordamos la topología:

Desde el host1 (10.0.1.2) realizamos un ping extendido hacia el host2 (10.0.2.2)

Generamos latencia en el port1 y observamos que en Network -> Performance SLA el túnel ToFG02.1 tiene menos latencia que el túnel ToFG02

Verificamos en FortiView -> All Session que el trafico este en el túnel con menor latencia, en este caso ToFG02.1

Ahora, generamos latencia en el port3 (donde se encuentra el tunel ToFG02.1)

Verificamos en FortiView -> All Session que el tráfico este en el túnel con menor latencia, en este caso ToFG02

Verificamos que durante todas las pruebas no se perdió ningún paquete (lo cual no significa que no hubo retransmisiones)

Andres Cuevas
andres@arquetiponet.com.ar
Arquetiponet SRL

Tags

Contenidos relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *