artykuły
Powrót do listy artykułów

Temat artykułu: Jak skonfigurować...
Tekst napisał Cisco_FAQ dnia 07-03-2006

...tunel IPsec pomiędzy dwoma routerami połączonymi do Internetu kanałami Frame Relay PVC?

Zakładamy, że łączymy dwie lokalizacje ("A" i "B") wyposażone w pojedyncze PVC do Internetu (w obu przypadkach DLCI 99).

Dane lokalizacji "A":

  • Połączenie dostępowe do routera brzegowego: 169.254.10.0/30, przy czym .1 to adres routera ISP a .2 to adres routera klienta

  • Sieć lokalna ma adresację 192.168.10.0/24, przy czym .1 to adres interfejsu routera.

  • Ruch nie chroniony tunelem IPsec wysyłany jest normalnie do Internetu, po zNATowaniu na publiczny adres interfejsu routera.

Dane lokalizacji "B":

  • Połączenie dostępowe do routera brzegowego: 169.254.20.0/30, przy czym .1 to adres routera ISP a .2 to adres routera klienta

  • Sieć lokalna ma adresację 192.168.20.0/24, przy czym .1 to adres interfejsu routera.

  • Ruch nie chroniony tunelem IPsec wysyłany jest normalnie do Internetu, po zNATowaniu na publiczny adres interfejsu routera.

Poniżej konfiguracja routera w lokalizacji "A":

no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
service password-encryption
no service dhcp
!
hostname rtr_a
!
enable password jakies_trudne_haslo
!
username user_1 password haslo_usera_1
ip subnet-zero
no ip source-route
no ip domain-lookup
ip tcp path-mtu-discovery
logging buffered 64000
!
crypto isakmp policy 1
 ! konfigurujemy politykę dla ISAKMP, reguła #1

 hash md5
 ! wiadomości ISAKMP mają używać algortmu mieszającego MD5
 ! (jest szybszy ale i mniej bezpieczny niż SHA1)
 authentication pre-share
 ! uwierzytelnienie węzłów ISAKMP odbędzie się w oparciu o
 ! współdzielony tajny klucz
crypto isakmp key trudne_haslo_isakmp address 169.254.20.2
 ! dla partnera o adresie 169.254.20.2 używać będziemy dla

 ! nawiązania sesji tajnego klucza "haslo_isakmp"
 ! oczywiście klucz po obu stronach musi się zgadzać
!
!
crypto ipsec transform-set myset esp-des esp-md5-hmac 
 ! Po nawiązaniu sesji ISAKMP, IPsec będzie używał
 ! protokołu ESP z algorytmem szyfrowania ESP i algorytmu
 ! mieszającego MD5-HMAC

 mode tunnel
 ! połączenie IPsec będzie połączeniem w trybie tunelu
!
crypto map MapaISAKMP 1 ipsec-isakmp   
 ! po otrzymaniu przez router pakietu ISAKMP na port 500/udp
 ! zaczyna on sekwencyjne sprawdzanie kolejnych reguł w crypto-mapach
 ! ta, jedyna, ma numer 1 i zostanie sprawdzona pierwsza
 set peer 169.254.20.2
 ! reguła pasuje do partnera o adresie 169.254.20.2

 set transform-set myset 
 ! używamy dla niego przekształcenia o nazwie "myset"
 match address 110
 ! ruchem szyfrowanym wg tej reguły jest ruch pasujący do ACL 110
!
interface FastEthernet 0/0
 description Polaczenie dla sieci LAN
 ip address 192.168.10.1 255.255.255.0
 ip nat inside
!
interface Serial0
 description Konfiguracja fizycznego interfejsu szeregowego
 no ip address
 encapsulation frame-relay
 frame-relay lmi-type ansi
!
interface Serial0.1 point-to-point
 description Polaczenie do Internetu 2Mbit
 ip address 169.254.10.2 255.255.255.252
 frame-relay interface-dlci 99 IETF  
 ip nat outside 
 crypto map MapaISAKMP
 ! ruch przechodzący przez ten interfejs, ma trafiać do
 ! crypto-mapy MapaISAKMP
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0.1
no ip http server
!
ip nat inside source list 100 interface Serial 0.1 overload
!
access-list 100 permit ip 192.168.10.0 0.0.0.255 any
access-list 110 permit ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255
! ACLka używana w określeniu reguł szyfrowania - podlega mu

! ruch z podsieci 192.168.10.0/24 do podsieci 192.168.20.0/24
! (z "naszego" LANu do zdalnego
!
no cdp run
!
line con 0
 exec-timeout 5 0
 login local
line vty 0 4
 exec-timeout 5 0
 login local
!
end

..a teraz konfiguracja routera w lokalizacji "B":

no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
service password-encryption
no service dhcp
!
hostname rtr_b
!
enable password jakies_trudne_haslo
!
username user_1 password haslo_usera_1
ip subnet-zero
no ip source-route
no ip domain-lookup
ip tcp path-mtu-discovery
logging buffered 64000
!
crypto isakmp policy 1
 hash md5
 authentication pre-share
crypto isakmp key trudne_haslo_isakmp address 169.254.10.2
!
!
crypto ipsec transform-set myset esp-des esp-md5-hmac 
 mode tunnel
!
crypto map MapaISAKMP 1 ipsec-isakmp   
 set peer 169.254.10.2
 set transform-set myset 
 match address 110
!
interface FastEthernet 0/0
 description Polaczenie dla sieci LAN
 ip address 192.168.20.1 255.255.255.0
 ip nat inside
!
interface Serial0
 description Konfiguracja fizycznego interfejsu szeregowego
 no ip address
 encapsulation frame-relay
 frame-relay lmi-type ansi
!
interface Serial0.1 point-to-point
 description Polaczenie do Internetu 2Mbit
 ip address 169.254.20.2 255.255.255.252
 frame-relay interface-dlci 99 IETF  
 ip nat outside 
 crypto map MapaISAKMP
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0.1
no ip http server
!
ip nat inside source list 100 interface Serial 0.1 overload
!
access-list 100 permit ip 192.168.20.0 0.0.0.255 any
access-list 110 permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255
!
no cdp run
!
line con 0
 exec-timeout 5 0
 login local
line vty 0 4
 exec-timeout 5 0
 login local
!
end

...tunel IPsec+GRE pomiędzy dwoma routerami połączonymi do Internetu kanałami Frame Relay PVC?

Zakładamy, że łączymy dwie lokalizacje ("A" i "B") wyposażone w pojedyncze PVC do Internetu (w obu przypadkach DLCI 99). Dodatkowo, chcemy chronić tunel GRE, ponieważ oprócz ruchu unicastowego, chcemy przenosić ruch broadcastowy lub np. inne protokoły (IPX itp.)

Dane lokalizacji "A":

  • Połączenie dostępowe do routera brzegowego: 169.254.10.0/30, przy czym .1 to adres routera ISP a .2 to adres routera klienta

  • Sieć lokalna ma adresację 192.168.10.0/24, przy czym .1 to adres interfejsu routera.

  • Tunel ma adres 192.168.254.1, drugi koniec (po stronie drugiej lokalizacji) ma adres 192.168.254.2, w obu przypadkach używamy maski /30.

  • Ruch nie chroniony tunelem IPsec wysyłany jest normalnie do Internetu, po zNATowaniu na publiczny adres interfejsu routera.

Dane lokalizacji "B":

  • Połączenie dostępowe do routera brzegowego: 169.254.20.0/30, przy czym .1 to adres routera ISP a .2 to adres routera klienta

  • Sieć lokalna ma adresację 192.168.20.0/24, przy czym .1 to adres interfejsu routera.

  • Tunel ma adres 192.168.254.2, drugi koniec (po stronie drugiej lokalizacji) ma adres 192.168.254.1, w obu przypadkach używamy maski /30.

  • Ruch nie chroniony tunelem IPsec wysyłany jest normalnie do Internetu, po zNATowaniu na publiczny adres interfejsu routera.

Poniżej konfiguracja routera w lokalizacji "A":

no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
service password-encryption
no service dhcp
!
hostname rtr_a
!
enable password jakies_trudne_haslo
!
username user_1 password haslo_usera_1
ip subnet-zero
no ip source-route
no ip domain-lookup
ip tcp path-mtu-discovery
logging buffered 64000
!
crypto isakmp policy 1
 hash md5
 authentication pre-share
crypto isakmp key trudne_haslo_isakmp address 169.254.20.2
!
!
crypto ipsec transform-set myset esp-des esp-md5-hmac 
 mode transport
!
crypto map MapaISAKMP 1 ipsec-isakmp   
 set peer 169.254.20.2
 set transform-set myset 
 match address SiecIPSEC
 ! ponieważ używamy tunelu GRE, szyfrowaniu podlegają już pakiety
 ! GRE wymieniane pomiędzy publicznymi adresami routerów - ta ACLka
 ! dokładnie to wskazuje
!
interface Tunnel0
 ! Dodajemy wirtualny interfejs Tunel 0

 ip address 192.168.254.1 255.255.255.252
 ! nadajemy mu adres IP - może to być dowolny adres prywatny,
 ! sensownie jest zarezerwować sobie np. całą klasę C na potrzeby
 ! tuneli i brać z nich kolejne /30
 tunnel source Serial 0.1
 ! źródłem tunelu jest interfejs publiczny routera
 tunnel destination 169.254.20.2
 ! a miejscem docelowym publiczny adres naszego partnera

 crypto map MapaISAKMP
 ! ruch przechodzący przez ten interfejs ma być chroniony
 ! regułami zawartymi w crypto-mapie MapaISAKMP
!
interface FastEthernet 0/0
 description Polaczenie dla sieci LAN
 ip address 192.168.10.1 255.255.255.0
 ip nat inside
!
interface Serial0
 description Konfiguracja fizycznego interfejsu szeregowego
 no ip address
 encapsulation frame-relay
 frame-relay lmi-type ansi
!
interface Serial0.1 point-to-point
 description Polaczenie do Internetu 2Mbit
 ip address 169.254.10.2 255.255.255.252
 frame-relay interface-dlci 99 IETF  
 ip nat outside 
 crypto map MapaISAKMP
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0.1
ip route 192.168.20.0 255.255.255.0 Tunnel0
! statycznie wskazujemy, że ruch do podsieci 192.168.20.0/24
! (LAN naszego partnera) ma się odbywać przez Tunel 0
no ip http server
!
ip nat inside source list 100 interface Serial 0.1 overload
!
access-list 100 permit ip 192.168.10.0 0.0.0.255 any
!
ip access-list extended SiecIPSEC
 permit gre host 169.254.10.2 host 169.254.20.2
 ! szyfrujemy ruch protokołu GRE pomiędzy publicznymi adresami

 ! partnerów
!
no cdp run
!
line con 0
 exec-timeout 5 0
 login local
line vty 0 4
 exec-timeout 5 0
 login local
!
end

..a teraz konfiguracja routera w lokalizacji "B":

no service pad
service tcp-keepalives-in
service tcp-keepalives-out
service timestamps debug datetime msec localtime
service timestamps log datetime msec localtime
service password-encryption
no service dhcp
!
hostname rtr_b
!
enable password jakies_trudne_haslo
!
username user_1 password haslo_usera_1
ip subnet-zero
no ip source-route
no ip domain-lookup
ip tcp path-mtu-discovery
logging buffered 64000
!
crypto isakmp policy 1
 hash md5
 authentication pre-share
crypto isakmp key trudne_haslo_isakmp address 169.254.10.2
!
!
crypto ipsec transform-set myset esp-des esp-md5-hmac 
 mode transport
!
interface Tunnel0
 ip address 192.168.254.2 255.255.255.252
 tunnel source Serial 0.1
 tunnel destination 169.254.10.2
 crypto map MapaISAKMP
!
crypto map MapaISAKMP 1 ipsec-isakmp   
 set peer 169.254.10.2
 set transform-set myset 
 match address SiecIPSEC
!
interface FastEthernet 0/0
 description Polaczenie dla sieci LAN
 ip address 192.168.20.1 255.255.255.0
 ip nat inside
!
interface Serial0
 description Konfiguracja fizycznego interfejsu szeregowego
 no ip address
 encapsulation frame-relay
 frame-relay lmi-type ansi
!
interface Serial0.1 point-to-point
 description Polaczenie do Internetu 2Mbit
 ip address 169.254.20.2 255.255.255.252
 frame-relay interface-dlci 99 IETF  
 ip nat outside 
 crypto map MapaISAKMP
!
ip classless
ip route 0.0.0.0 0.0.0.0 Serial0.1
ip route 192.168.10.0 255.255.255.0 Tunnel0
no ip http server
!
ip nat inside source list 100 interface Serial 0.1 overload
!
access-list 100 permit ip 192.168.20.0 0.0.0.255 any
!
ip access-list extended SiecIPSEC
 permit gre host 169.254.20.2 host 169.254.10.2
!
no cdp run
!
line con 0
 exec-timeout 5 0
 login local
line vty 0 4
 exec-timeout 5 0
 login local
!
end