Laboratorul 09. GRE și IPsec

Topologie

Cerințe

Setup

Descărcați configurațiile inițiale de aici.

Exerciții

Toate configurațiile au fost încărcate pe rutere. Nu începeți taskurile acestui laborator fără să încărcați initial_configs.

GRE

1. [5p] Conectivitatea între Hulk și Ultron a fost deja configurată folosind OSPF. Verificați faptul că Hulk poate da ping cu succes în Ultron.

2. [10p] Configurați un tunel GRE între Hulk și Ultron. Folosiți pentru sursă și destinație interfețele fizice. Pentru partea de adresare, folosiți adrese din rețeaua 192.168.0.0/30.

3. [10p] Folosind rute statice, configurați ca traficul între interfețele Lo1 ale lui Hulk și Ultron să treacă prin tunelul GRE. Testați folosind traceroute.

Pentru testare, folosiți opțiunea source a comenzii traceroute.

Afișează rezolvarea
Ascunde rezolvarea
Afișează rezolvarea
Pe Hulk:
R1(config)#interface Tunnel 0
*Jan 14 22:11:14.371: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to down
R1(config-if)#tunnel destination 192.168.23.3 
R1(config-if)#tunnel source 192.168.12.1    
*Jan 14 22:11:44.219: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up
R1(config-if)#ip address 13.13.13.1 255.255.255.248
R1(config-if)#exit
R1(config)#ip route 11.3.3.0 255.255.255.0 13.13.13.3

Pe Ultron:

R3(config)#interface Tunnel 0
R3(config-if)#tunnel source 192.168
*Jan 14 22:12:27.599: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to down
R3(config-if)#tunnel source 192.168.23.3
R3(config-if)#tunnel destination 192.168.12.1
*Jan 14 22:12:36.351: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up
R3(config-if)#ip address 13.13.13.3 255.255.255.248
R3(config-if)#exit
R3(config)#ip route 11.1.1.0 255.255.255.0 13.13.13.1

If OSPF is running, the following commands are required to advertise the true loopback subnet masks (instead of the /32 masks):

On R1:

R1(config)#interface Loopback 1
R1(config-if)#ip ospf network point-to-point
R1(config-if)#exit

On R3:

R3(config)#interface Loopback 1
R3(config-if)#ip ospf network point-to-point
R3(config-if)#exit

Test that traffic passes through the tunnel:

R1#traceroute 11.3.3.3  
Translating "11.3.3.3"

Type escape sequence to abort.
Tracing the route to 11.3.3.3

  1 13.13.13.3 48 msec *  16 msec

IPSec

Dorim să criptăm traficul dintre Lo0 de pe Hulk și Lo0 de pe Ultron. Vom configura un tunel IPsec între cele două rutere.

4. [15p] Configurați următoarea politică ISAKMP pe Hulk și Ultron:

  • autentificare: pre-shared keys
  • criptare: aes 256
  • hash: sha1
  • grup diffie-hellman: 2
  • lifetime: 3600
Afișează rezolvarea
Ascunde rezolvarea
Afișează rezolvarea
Pe Hulk:
Hulk(config)#crypto isakmp policy 1 
Hulk(config-isakmp)#authentication pre-share
Hulk(config-isakmp)#encryption aes 256
Hulk(config-isakmp)#hash sha
Hulk(config-isakmp)#group 2
Hulk(config-isakmp)#lifetime 3600
Hulk(config-isakmp)#exit

Pe Ultron:

Ultron(config)#crypto isakmp policy 1
Ultron(config-isakmp)#authentication pre-share
Ultron(config-isakmp)#encryption aes 256
Ultron(config-isakmp)#hash sha
Ultron(config-isakmp)#group 2
Ultron(config-isakmp)#lifetime 3600
Ultron(config-isakmp)#exit

5. [10p] Configurați 'prrulz' ca pre-shared key pe Hulk și Ultron.

Afișează rezolvarea
Ascunde rezolvarea
Afișează rezolvarea
Pe Hulk:
Hulk(config)#crypto isakmp key 0 prrulz address 191.105.157.2

Pe Ultron:

Ultron(config)#crypto isakmp key 0 prrulz address 66.218.168.5

6. [10p] Configurați următorul transform set pe Hulk și Ultron:

  • Nume: TS_PR
  • Transform set: esp-aes 256 esp-sha-hmac
  • Mod: tunel
Afișează rezolvarea
Ascunde rezolvarea
Afișează rezolvarea
Pe Hulk:
Hulk(config)#crypto ipsec transform-set TS_PR esp-aes 256 esp-sha-hmac
Hulk(cfg-crypto-trans)#mode tunnel
Hulk(cfg-crypto-trans)#exit

Pe Ultron:

Ultron(config)#crypto ipsec transform-set TS_PR esp-aes 256 esp-sha-hmac
Ultron(cfg-crypto-trans)#mode tunnel
Ultron(cfg-crypto-trans)#exit

7. [20p] Creați câte un ACL pe Hulk și Ultron care să facă match pe traficul ce urmează să fie criptat (traficul dintre Lo0 Hulk - Lo0 Ultron).

Afișează rezolvarea
Ascunde rezolvarea
Afișează rezolvarea
Pe Hulk:
Hulk(config)#ip access-list extended INTERESTING
Hulk(config-ext-nacl)#permit ip host 10.10.10.1 host 20.20.20.1
Hulk(config-ext-nacl)#exit

Pe Ultron:

Ultron(config)#ip access-list extended INTERESTING
Ultron(config-ext-nacl)#permit ip host 20.20.20.1 host 10.10.10.1
Ultron(config-ext-nacl)#exit

8. [10p] Creați un crypto map pe Hulk și Ultron. Aveți în vedere următoarele aspecte:

  • crypto map-ul trebuie să selecteze traficul conform ACL-ului
  • folosiți interfețele fizice drept capetele tunelului IPsec
  • folosiți transform set-ul configurat anterior

Aplicați crypto map-ul pe interfețele fizice de pe Hulk și Ultron.

Afișează rezolvarea
Ascunde rezolvarea
Afișează rezolvarea
Pe Hulk:
Hulk(config)#crypto map TUNNEL_MAP 10 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
Hulk(config-crypto-map)#set peer 191.105.157.2
Hulk(config-crypto-map)#match address INTERESTING
Hulk(config-crypto-map)#set transform-set TS_PR
Hulk(config-crypto-map)#exit
Hulk(config)#int fa 2/0
Hulk(config-if)#crypto map TUNNEL_MAP
Hulk(config-if)#
*Mar  1 00:22:02.835: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
Hulk(config-if)#exit

Pe Ultron:

Ultron(config)#crypto map TUNNEL_MAP 10 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.
Ultron(config-crypto-map)#set peer 66.218.168.5         
Ultron(config-crypto-map)#match address INTERESTING
Ultron(config-crypto-map)#set transform-set TS_PR
Ultron(config-crypto-map)#exit
Ultron(config)#int fa1/0
Ultron(config-if)#crypto map TUNNEL_MAP
Ultron(config-if)#
*Mar  1 00:22:15.719: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
Ultron(config-if)#exit

9. [10p] Testați tunelul generând trafic între Lo0 de pe Hulk și Lo0 de pe Ultron. Afișați SA-urile create și verificați incrementarea contoarelor de trafic.

Pentru ca acest exercițiu să funcționeze trebuie adăugate și niște rute. Pe ce rutere și de ce?

Hulk și Ultron nu știu de Lo0 al celuilalt, deci traficul generat nu va fi rutat. Trebuie pusă câte o rută statică pe Hulk și pe Ultron. Blastoise nu trebuie să știe de aceste rețele deoarece IPsec lucrează în tunnel mode.

Afișează rezolvarea
Ascunde rezolvarea
Afișează rezolvarea
Ne lipsesc niște rute:
Hulk(config)#ip route 20.20.20.1 255.255.255.255 66.218.168.6
Ultron(config)#ip route 10.10.10.1 255.255.255.255 191.105.157.1
Hulk#ping 20.20.20.1 source 10.10.10.1

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.20.20.1, timeout is 2 seconds:
Packet sent with a source address of 10.10.10.1 
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 36/45/52 ms
R3(config-if)#crypto map TUNNEL_MAP
R3
Construct an access-list that will match the traffic that you want to encrypt. 
  * The access-list will have to define both the source and the destination of the traffic. 
  * An access-list must be defined on both R1 and R3. 
  * Watch out for the fact that the 2 ACLs must mirror each other. 
  * The access-list can match all IP traffic(config-if)#
*Jan 14 20:24:31.351: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
R3(config-if)#exit

Create traffic to start tunnel setup:

R1#ping 10.3.3.3 source 10.1.1.1
Translating "10.3.3.3"

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.3.3.3, timeout is 2 seconds:
Packet sent with a source address of 10.1.1.1 
.!!!!
Success rate is 80 percent (4/5), round-trip min/avg/max = 12/14/20 ms

Check security associations:

R1#show crypto isakmp sa
IPv4 Crypto ISAKMP SA
dst             src             state          conn-id slot status
192.168.23.3    192.168.12.1    QM_IDLE           1001    0 ACTIVE

IPv6 Crypto ISAKMP SA

R1#show crypto ipsec sa

interface: FastEthernet0/0
    Crypto map tag: TUNNEL_MAP, local addr 192.168.12.1

   protected vrf: (none)
   local  ident (addr/mask/prot/port): (10.1.1.1/255.255.255.255/0/0)
   remote ident (addr/mask/prot/port): (10.3.3.3/255.255.255.255/0/0)
   current_peer 192.168.23.3 port 500
     PERMIT, flags={origin_is_acl,}
    #pkts encaps: 4, #pkts encrypt: 4, #pkts digest: 4
    #pkts decaps: 4, #pkts decrypt: 4, #pkts verify: 4
    #pkts compressed: 0, #pkts decompressed: 0
    #pkts not compressed: 0, #pkts compr. failed: 0
    #pkts not decompressed: 0, #pkts decompress failed: 0
    #send errors 1, #recv errors 0

     local crypto endpt.: 192.168.12.1, remote crypto endpt.: 192.168.23.3
     path mtu 1500, ip mtu 1500, ip mtu idb FastEthernet0/0
     current outbound spi: 0xD480DB37(3565214519)

     inbound esp sas:
      spi: 0xB3825B11(3011664657)
        transform: esp-256-aes esp-sha-hmac ,
        in use settings ={Tunnel, }
        conn id: 1, flow_id: SW:1, crypto map: TUNNEL_MAP
        sa timing: remaining key lifetime (k/sec): (4558528/3557)
        IV size: 16 bytes
        replay detection support: Y
        Status: ACTIVE

     inbound ah sas:

     inbound pcp sas:

     outbound esp sas:
      spi: 0xD480DB37(3565214519)
        transform: esp-256-aes esp-sha-hmac ,
        in use settings ={Tunnel, }
        conn id: 2, flow_id: SW:2, crypto map: TUNNEL_MAP
        sa timing: remaining key lifetime (k/sec): (4558528/3555)
        IV size: 16 bytes
        replay detection support: Y
        Status: ACTIVE

     outbound ah sas:

     outbound pcp sas:

10. [10p] Folosind Wireshark, interceptați traficul criptat dintre Hulk și Ultron.

  • Folosiți comanda capture din consola dynagen pentru a porni o captură
  • Generați trafic ce trece prin tunel
  • Opriți captura de trafic din consola dynagen
  • Deschideți fișierul de captură rezultat folosind Wireshark

pr/labs/09.txt · Last modified: 2017/12/22 16:40 by iulia.florea
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0