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
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