Ejemplo: SA dinámica IKE entre una configuración de PIC de AS y PIC de ES
La figura 1 muestra una configuración híbrida que permite crear un túnel IPSec entre la PIC del AS y la PIC ES. El enrutador 2 contiene una PIC de AS en sp-1/2/0 y el enrutador 3 tiene una PIC de ES en es-0/3/0. Para establecer un túnel IPSec mediante una SA dinámica de IKE, la clave es aprender la configuración predeterminada de SA de IKE y SA de IPSec integrada en la PIC del AS y configurarla explícitamente en la PIC de ES. Los enrutadores 1 y 4 también proporcionan conectividad básica y se utilizan para verificar que el túnel IPSec esté operativo.
En el enrutador 1, proporcione conectividad OSPF básica al enrutador 2.
Enrutador 1
[edit] interfaces { so-0/0/0 { description "To R2 so-0/0/0"; unit 0 { family inet { address 10.1.12.2/30; } } } lo0 { unit 0 { family inet { address 10.0.0.1/32; } } } } routing-options { router-id 10.0.0.1; } protocols { ospf { area 0.0.0.0 { interface so-0/0/0.0; interface lo0.0; } } }
En el enrutador 2, habilite OSPF como protocolo de enrutamiento subyacente para conectarse a los enrutadores 1 y 3. Configure una SA dinámica de IKE bidireccional en una regla denominada rule-ike en el nivel de jerarquía [edit ipsec-vpn rule]. Haga referencia a esta regla en un conjunto de servicios denominado service-set-dynamic-BiEspsha3des en el nivel de jerarquía [edit services service-set].
Con los valores predeterminados de la PIC AS, no es necesario especificar una propuesta IPSec, una política IPSec o una propuesta IKE. Sin embargo, debe configurar una clave previamente compartida en una política IKE con la instrucción preshared-key en el nivel jerárquico [edit services ipsec-vpn ike policy policy-name]. (Para obtener más información acerca de las políticas y propuestas predeterminadas de IKE e IPSec en la PIC AS, consulte Configuración de SA dinámicas de IKE).
Para dirigir el tráfico a la PIC del AS y al túnel IPSec, incluya condiciones de coincidencia en la regla VPN IPSec de ike para que coincida con el tráfico entrante del enrutador 1 destinado al enrutador 4. Dado que el conjunto de servicios ya hace referencia a la regla, aplique el conjunto de servicios a la interfaz so-0/0/1 . Para contar la cantidad de tráfico que entra en el túnel IPsec, configure un filtro de firewall denominado ipsec-tunnel y aplíquelo a la interfaz sp-1/2/0 .
Enrutador 2
[edit] interfaces { so-0/0/0 { description "To R1 so-0/0/0"; unit 0 { family inet { address 10.1.12.1/30; } } } so-0/0/1 { description "To R3 so-0/0/1"; unit 0 { family inet { service { # Apply the service set here. input { service-set service-set-dynamic-BiEspsha3des; } output { service-set service-set-dynamic-BiEspsha3des; } } address 10.1.15.1/30; } } } sp-1/2/0 { services-options { syslog { host local { services info; } } } unit 0 { family inet { filter { input ipsec-tunnel; # Apply the firewall filter with the counter here. } } } } lo0 { unit 0 { family inet { address 10.0.0.2/32; } } } } routing-options { router-id 10.0.0.2; } protocols { ospf { area 0.0.0.0 { interface so-0/0/0.0; interface so-0/0/1.0; interface lo0.0; } } } firewall { filter ipsec-tunnel { # Configure a firewall filter to count IPsec traffic here. term 1 { then { count ipsec-tunnel; accept; } } } } services { service-set service-set-dynamic-BiEspsha3des { # Define your service set here. interface-service { service-interface sp-1/2/0; # Specify an interface to process IPsec. } ipsec-vpn-options { local-gateway 10.1.15.1; # Specify the local IP address of the IPsec tunnel. } ipsec-vpn-rules rule-ike; # Reference your IPsec VPN rule here. } ipsec-vpn { rule rule-ike { # Define your IPsec VPN rule here. term term-ike { from { source-address { 10.1.12.0/24; } destination-address { 10.1.56.0/24; } } then { remote-gateway 10.1.15.2; # The remote IP address of the IPsec tunnel. dynamic { # This creates a dynamic SA. ike-policy ike-policy-preshared; # Reference your IKE proposal here. } } } match-direction output; # Specify in which direction the rule should match. } ike { policy ike-policy-preshared { # Define your IKE policy specifications here. pre-shared-key ascii-text "$ABC123"; ## The unencrypted preshared key for this example is juniper. } } } }
Enrutador 2
[edit] interfaces { so-0/0/0 { description "To R1 so-0/0/0"; unit 0 { family inet { address 10.1.12.1/30; } } } so-0/0/1 { description "To R3 so-0/0/1"; unit 0 { family inet { service { # Apply the service set here. input { service-set service-set-dynamic-BiEspsha3des; } output { service-set service-set-dynamic-BiEspsha3des; } } address 10.1.15.1/30; } } } sp-1/2/0 { services-options { syslog { host local { services info; } } } unit 0 { family inet { filter { input ipsec-tunnel; # Apply the firewall filter with the counter here. } } } } lo0 { unit 0 { family inet { address 10.0.0.2/32; } } } } routing-options { router-id 10.0.0.2; } protocols { ospf { area 0.0.0.0 { interface so-0/0/0.0; interface so-0/0/1.0; interface lo0.0; } } } firewall { filter ipsec-tunnel { # Configure a firewall filter to count IPSec traffic here. term 1 { then { count ipsec-tunnel; accept; } } } } services { service-set service-set-dynamic-BiEspsha3des { # Define your service set here. interface-service { service-interface sp-1/2/0; # Specify an interface to process IPSec. } ipsec-vpn-options { local-gateway 10.1.15.1; # Specify the local IP address of the IPSec tunnel. } ipsec-vpn-rules rule-ike; # Reference your IPSec VPN rule here. } ipsec-vpn { rule rule-ike { # Define your IPSec VPN rule here. term term-ike { from { source-address { 10.1.12.0/24; } destination-address { 10.1.56.0/24; } } then { remote-gateway 10.1.15.2; # The remote IP address of the IPSec tunnel. dynamic { # This creates a dynamic SA. ike-policy ike-policy-preshared; # Reference your IKE proposal here. } } } match-direction output; # Specify in which direction the rule should match. } ike { policy ike-policy-preshared { # Define your IKE policy specifications here. pre-shared-key ascii-text "$ABC123"; ## The unencrypted preshared key for this example is juniper. } } } }
En el enrutador 3, habilite OSPF como protocolo de enrutamiento subyacente para conectarse a los enrutadores 2 y 4. Configure una SA dinámica de IKE bidireccional denominada sa-dynamic en el nivel jerárquico [edit security ipsec security-association]. Para permitir que la PIC de ES se comunique con la SA dinámica de IKE establecida en el enrutador 2, debe configurar explícitamente las mismas políticas y propuestas en la PIC de ES que están disponibles de forma predeterminada en la PIC AS. (Para obtener más información acerca de las políticas y propuestas predeterminadas de IKE e IPSec en la PIC AS, consulte Configuración de SA dinámicas de IKE).
Para la política y la propuesta de IKE, utilice claves previamente compartidas para el método de autenticación, SHA-1 para el algoritmo de autenticación, 3DES-CBC para el cifrado, grupo 2 para el grupo Diffie-Hellman, modo principal, 3600 segundos para la vida útil y una clave previamente compartida de Juniper para la negociación inicial de IKE. Para la directiva y la propuesta de IPSec, utilice ESP para el protocolo, HMAC-SHA1-96 para la autenticación, 3DES-CBC para el cifrado, 28800 segundos para la vida útil y el grupo 2 para el grupo PFS.
Para dirigir el tráfico a la PIC de ES y al túnel IPSec, cree dos filtros de firewall. El filtro es-traffic coincide con el tráfico entrante del enrutador 4 destinado al enrutador 1, mientras que el filtro es-return coincide con la ruta de retorno del enrutador 1 al enrutador 4. Aplique el filtro es-traffic a la interfaz so-0/0/0; A continuación, aplique el filtro es-return y la SA sa-dynamic a la interfaz es-0/3/0 .
Enrutador 3
[edit] interfaces { so-0/0/0 { description "To R4 so-0/0/0"; unit 0 { family inet { filter { input es-traffic; # Apply a filter that sends traffic to the IPSec tunnel here. } address 10.1.56.1/30; } } } so-0/0/1 { description "To R2 so-0/0/1"; unit 0 { family inet { address 10.1.15.2/30; } } } es-0/3/0 { unit 0 { tunnel { # Specify the IPSec tunnel endpoints here. source 10.1.15.2; destination 10.1.15.1; } family inet { ipsec-sa sa-dynamic; # Apply the dynamic SA here. filter { input es-return; # Apply the filter that matches return IPSec traffic here. } } } } lo0 { unit 0 { family inet { address 10.0.0.3/32; } } } } routing-options { router-id 10.0.0.3; } protocols { ospf { area 0.0.0.0 { interface so-0/0/0.0; interface so-0/0/1.0; interface lo0.0; } } } security { ipsec { proposal es-ipsec-proposal { # Define your IPSec proposal specifications here. protocol esp; authentication-algorithm hmac-sha1-96; encryption-algorithm 3des-cbc; lifetime-seconds 28800; } policy es-ipsec-policy { # Define your IPSec policy specifications here. perfect-forward-secrecy { keys group2; } proposals es-ipsec-proposal; # Reference the IPSec proposal here. } security-association sa-dynamic { # Define your dynamic SA here. mode tunnel; dynamic { ipsec-policy es-ipsec-policy; # Reference the IPSec policy here. } } } ike { proposal es-ike-proposal { # Define your IKE proposal specifications here. authentication-method pre-shared-keys; dh-group group2; authentication-algorithm sha1; encryption-algorithm 3des-cbc; lifetime-seconds 3600; } policy 10.1.15.1 { # Define your IKE policy specifications here. mode main; proposals es-ike-proposal; # Reference the IKE proposal here. pre-shared-key ascii-text "$ABC123"; ## The unencrypted preshared key for this example is juniper. } } } firewall { filter es-traffic { # Define a filter that sends traffic to the IPSec tunnel here. term to-es { from { source-address { 10.1.56.0/24; } destination-address { 10.1.12.0/24; } } then { count ipsec-tunnel; ipsec-sa sa-dynamic; } } term other { then accept; } } filter es-return { # Define a filter that matches return IPSec traffic here. term return { from { source-address { 10.1.12.0/24; } destination-address { 10.1.56.0/24; } } then accept; } } }
Enrutador 4
[edit] interfaces { so-0/0/0 { description "To R3 so-0/0/0"; unit 0 { family inet { address 10.1.56.2/30; } } } lo0 { unit 0 { family inet { address 10.0.0.4/32; } } } } routing-options { router-id 10.0.0.4; } protocols { ospf { area 0.0.0.0 { interface so-0/0/0.0; interface lo0.0; } } }
En el enrutador 3, habilite OSPF como protocolo de enrutamiento subyacente para conectarse a los enrutadores 2 y 4. Configure una SA dinámica de IKE bidireccional denominada sa-dynamic en el nivel jerárquico [edit security ipsec security-association]. Para permitir que la PIC de ES se comunique con la SA dinámica de IKE establecida en el enrutador 2, debe configurar explícitamente las mismas políticas y propuestas en la PIC de ES que están disponibles de forma predeterminada en la PIC AS. (Para obtener más información acerca de las políticas y propuestas predeterminadas de IKE e IPSec en la PIC AS, consulte Configuración de SA dinámicas de IKE).
Para la política y la propuesta de IKE, utilice claves previamente compartidas para el método de autenticación, SHA-1 para el algoritmo de autenticación, 3DES-CBC para el cifrado, grupo 2 para el grupo Diffie-Hellman, modo principal, 3600 segundos para la vida útil y una clave previamente compartida de Juniper para la negociación inicial de IKE. Para la directiva y la propuesta de IPSec, utilice ESP para el protocolo, HMAC-SHA1-96 para la autenticación, 3DES-CBC para el cifrado, 28800 segundos para la vida útil y el grupo 2 para el grupo PFS.
Para dirigir el tráfico a la PIC de ES y al túnel IPSec, cree dos filtros de firewall. El filtro es-traffic coincide con el tráfico entrante del enrutador 4 destinado al enrutador 1, mientras que el filtro es-return coincide con la ruta de retorno del enrutador 1 al enrutador 4. Aplique el filtro es-traffic a la interfaz so-0/0/0; A continuación, aplique el filtro es-return y la SA sa-dynamic a la interfaz es-0/3/0 .
Enrutador 3
user@R1> ping 10.1.56.2 PING 10.1.56.2 (10.1.56.2): 56 data bytes 64 bytes from 10.1.56.2: icmp_seq=0 ttl=253 time=1.172 ms 64 bytes from 10.1.56.2: icmp_seq=1 ttl=253 time=1.020 ms 64 bytes from 10.1.56.2: icmp_seq=2 ttl=253 time=0.998 ms 64 bytes from 10.1.56.2: icmp_seq=3 ttl=253 time=1.037 ms ^C --- 10.1.56.2 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.998/1.057/1.172/0.068 ms
Enrutador 4
user@R1> traceroute 10.1.56.2 traceroute to 10.1.56.2 (10.1.56.2), 30 hops max, 40 byte packets 1 * * * 2 10.1.56.2 (10.1.56.2) 1.045 ms 0.915 ms 0.850 ms
Verificación de su trabajo
Para comprobar el correcto funcionamiento de una SA dinámica basada en IKE en la PIC AS, utilice los siguientes comandos:
-
Señal
-
show services ipsec-vpn ike security-associations (detail)
-
show services ipsec-vpn ipsec security-associations (detail)
-
traceroute
Para comprobar el correcto funcionamiento de una SA dinámica basada en IKE en la PIC ES, utilice los siguientes comandos:
-
Señal
-
show ike security-associations (detail)
-
show ipsec security-associations (detail)
-
traceroute
En las secciones siguientes se muestra el resultado de estos comandos utilizados con el ejemplo de configuración:
Enrutador 1
En el enrutador 1, emita un comando ping a la interfaz so-0/0/0 del enrutador 4 para enviar tráfico a través del túnel IPSec.
user@R2> show firewall filter ipsec-tunnel Filter: ipsec-tunnel Counters: Name Bytes Packets ipsec-tunnel 0 0
También puede emitir el traceroute
comando para comprobar que el tráfico a 10.1.56.2 viaja a través del túnel IPsec entre el enrutador 2 y el enrutador 3. Observe que la ruta rastreada no hace referencia a 10.1.15.2, la interfaz física del enrutador 3. En su lugar, el tráfico que llega al enrutador 2 se filtra inmediatamente en el túnel IPSec y la ruta aparece como desconocida con la notación. Esto indica que el túnel IPSec funciona correctamente.
user@R2> show firewall filter ipsec-tunnel Filter: ipsec-tunnel Counters: Name Bytes Packets ipsec-tunnel 336 4
Enrutador 2
Una forma de comprobar que el tráfico coincidente se está desviando al túnel IPSec bidireccional es ver el contador de filtros del firewall. Antes de que fluya cualquier tráfico, el contador de filtros de firewall de túnel ipsec tiene este aspecto:
user@R2> show firewall filter ipsec-tunnel Filter: es-traffic Counters: Name Bytes Packets ipsec-tunnel 840 10
Después de emitir el comando ping desde el enrutador 1 (cuatro paquetes) a 10.1.56.2, el contador de filtros de firewall de túnel ipsec tiene este aspecto:
user@R2> show services ipsec-vpn ike security-associations detail IKE peer 10.1.15.2 Role: Responder, State: Matured Initiator cookie: c8e1e4c0da000040, Responder cookie: 4fbaa5184e000044 Exchange type: Main, Authentication method: Pre-shared-keys Local: 10.1.15.1:500, Remote: 10.1.15.2:500 Lifetime: Expires in 3535 seconds Algorithms: Authentication : sha1 Encryption : 3des-cbc Pseudo random function: hmac-sha1 Traffic statistics: Input bytes : 840 Output bytes : 756 Input packets: 5 Output packets: 4 Flags: Caller notification sent IPSec security associations: 1 created, 0 deleted Phase 2 negotiations in progress: 0
Después de emitir el comando desde el ping
enrutador 1 a 10.1.56.2 (cuatro paquetes) y desde el enrutador 4 a 10.1.12.2 (seis paquetes), el contador de filtros de firewall de túnel ipsec tiene el siguiente aspecto:
user@R2> show services ipsec-vpn ipsec security-associations detail Service set: service-set-dynamic-BiEspsha3des Rule: rule-ike, Term: term-ike, Tunnel index: 1 Local gateway: 10.1.15.1, Remote gateway: 10.1.15.2 Local identity: ipv4_subnet(any:0,[0..7]=10.1.12.0/24) Remote identity: ipv4_subnet(any:0,[0..7]=10.1.56.0/24) Direction: inbound, SPI: 407204513, AUX-SPI: 0 Mode: tunnel, Type: dynamic, State: Installed Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc Soft lifetime: Expires in 24546 seconds Hard lifetime: Expires in 24636 seconds Anti-replay service: Disabled Direction: outbound, SPI: 2957235894, AUX-SPI: 0 Mode: tunnel, Type: dynamic, State: Installed Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc Soft lifetime: Expires in 24546 seconds Hard lifetime: Expires in 24636 seconds Anti-replay service: Disabled
Para comprobar que la negociación de SA de IKE se ha realizado correctamente, ejecute el show services ipsec-vpn ike security-associations detail
comando. Observe que la SA contiene la configuración IKE predeterminada inherente a la PIC AS, como SHA-1 para el algoritmo de autenticación y 3DES-CBC para el algoritmo de cifrado.
user@R3> show firewall filter es-traffic Filter: es-traffic Counters: Name Bytes Packets ipsec-tunnel 336 4
Para comprobar que la asociación de seguridad IPsec está activa, ejecute el show services ipsec-vpn ipsec security-associations detail
comando. Observe que la SA contiene la configuración predeterminada inherente a la PIC AS, como ESP para el protocolo y HMAC-SHA1-96 para el algoritmo de autenticación.
user@R3> show firewall filter es-traffic Filter: es-traffic Counters: Name Bytes Packets ipsec-tunnel 840 10
Enrutador 3
Vea el contador de filtros de firewall para seguir comprobando que el tráfico coincidente se está desviando al túnel IPsec bidireccional. Después de emitir el comando desde el ping
enrutador 1 (cuatro paquetes), el contador de filtros de firewall de tráfico es tiene este aspecto:
user@R3> show ike security-associations detail IKE peer 10.1.15.1 Role: Initiator, State: Matured Initiator cookie: c8e1e4c0da000040, Responder cookie: 4fbaa5184e000044 Exchange type: Main, Authentication method: Pre-shared-keys Local: 10.1.15.2:500, Remote: 10.1.15.1:500 Lifetime: Expires in 3441 seconds Algorithms: Authentication : sha1 Encryption : 3des-cbc Pseudo random function: hmac-sha1 Traffic statistics: Input bytes : 756 Output bytes : 840 Input packets: 4 Output packets: 5 Flags: Caller notification sent IPSec security associations: 1 created, 0 deleted Phase 2 negotiations in progress: 0
Después de emitir el comando desde el ping
enrutador 1 (cuatro paquetes) y el enrutador 4 (seis paquetes), el contador de filtros del firewall de tráfico es tiene el siguiente aspecto:
user@R3> show ipsec security-associations detail Security association: sa-dynamic, Interface family: Up Local gateway: 10.1.15.2, Remote gateway: 10.1.15.1 Local identity: ipv4_subnet(any:0,[0..7]=10.1.56.0/24) Remote identity: ipv4_subnet(any:0,[0..7]=10.1.12.0/24) Direction: inbound, SPI: 2957235894, AUX-SPI: 0 Mode: tunnel, Type: dynamic, State: Installed Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc Soft lifetime: Expires in 28555 seconds Hard lifetime: Expires in 28690 seconds Anti-replay service: Disabled Direction: outbound, SPI: 407204513, AUX-SPI: 0 Mode: tunnel, Type: dynamic, State: Installed Protocol: ESP, Authentication: hmac-sha1-96, Encryption: 3des-cbc Soft lifetime: Expires in 28555 seconds Hard lifetime: Expires in 28690 seconds Anti-replay service: Disabled
Para comprobar que la asociación de seguridad IKE en la PIC es correcta, ejecute el show ike security-associations detail
comando. Observe que la SA de IKE en el enrutador 3 contiene la misma configuración que especificó en el enrutador 2.
user@R4> ping 10.1.12.2 PING 10.1.12.2 (10.1.12.2): 56 data bytes 64 bytes from 10.1.12.2: icmp_seq=0 ttl=254 time=1.350 ms 64 bytes from 10.1.12.2: icmp_seq=1 ttl=254 time=1.161 ms 64 bytes from 10.1.12.2: icmp_seq=2 ttl=254 time=1.124 ms 64 bytes from 10.1.12.2: icmp_seq=3 ttl=254 time=1.142 ms 64 bytes from 10.1.12.2: icmp_seq=4 ttl=254 time=1.139 ms 64 bytes from 10.1.12.2: icmp_seq=5 ttl=254 time=1.116 ms ^C --- 10.1.12.2 ping statistics --- 6 packets transmitted, 6 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.116/1.172/1.350/0.081 ms
Para comprobar que la asociación de seguridad IPsec está activa, ejecute el show ipsec security-associations detail
comando. Observe que la SA de IPsec en el enrutador 3 contiene la misma configuración que especificó en el enrutador 2.
user@R4> traceroute 10.1.12.2 traceroute to 10.1.12.2 (10.1.12.2), 30 hops max, 40 byte packets 1 10.1.56.1 (10.1.56.1) 3.561 ms 0.613 ms 0.558 ms 2 * * * 3 10.1.12.2 (10.1.12.2) 1.073 ms 0.862 ms 0.818 ms
Enrutador 4
En el enrutador 4, envíe un ping
comando a la interfaz so-0/0/0 del enrutador 1 para enviar tráfico a través del túnel IPsec.
Una vez más, el traceroute
comando comprueba que el tráfico a 10.1.12.2 viaja a través del túnel IPsec entre el enrutador 3 y el enrutador 2. Observe que el segundo salto no hace referencia a 10.1.15.1, la interfaz física del enrutador 2. En su lugar, el segundo salto aparece como desconocido con la notación. Esto indica que el túnel IPsec funciona correctamente.