Сгибнев Михаил
Это обычное HOW-TO, не несущее в себе никаких теоретических моментов. В идеале, для работы необходимо поставить свои 
IP адреса и имена доменов/хостов.
Прошлое наше занятие мы закончили с такой конфигурацией (ну, примерно такой):
!
version 12.4
no service pad
service timestamps debug datetime msec
service timestamps log datetime msec
service password-encryption
!
hostname dream
!
boot-start-marker
boot system flash sb101-k9oy6-mz.124-5a.bin
boot-end-marker
!
logging buffered 51200 warnings
enable secret megasecret
!
no aaa new-model
!
resource policy
!
ip rcmd rcp-enable
ip rcmd rsh-enable
ip rcmd remote-host cisco 192.168.1.2 cisco enable
!
!
ip cef
no ip domain lookup
ip domain name home.dreamcatcher.ru
ip host mixa 192.168.1.2
ip host hpux 192.168.1.3
ip host note 192.168.1.4 
ip name-server 217.72.144.76
ip inspect name Internet ftp timeout 3600
ip inspect name Internet h323 timeout 3600
ip inspect name Internet http timeout 3600
ip inspect name Internet smtp timeout 3600
ip inspect name Internet tcp timeout 3600
ip inspect name Internet udp timeout 3600
!
!
username mixa privilege 15 secret megapassword
username cisco password megacisco
!
interface Ethernet0
 description --- Inner Interface ---
 ip address 192.168.1.1 255.255.255.0
 ip access-group Output-Traf in
 ip nat inside
 ip inspect Internet in
!
interface Ethernet1
 description --- Outer Interface ---
 mac-address 0011.2fe3.d6d5
 bandwidth 128
 ip address 10.1.1.28 255.255.255.0
 ip access-group Input-Traf in
 ip nat outside
 duplex auto
 fair-queue
 no cdp enable
!
ip route 0.0.0.0 0.0.0.0 10.1.1.100
no ip http server
no ip http secure-server
!
ip nat translation tcp-timeout never
ip nat inside source list 10 interface Ethernet1 overload
!
!
ip access-list extended Input-Traf
 permit icmp any host 10.1.1.28 unreachable
 permit icmp any host 10.1.1.28 echo-reply
 permit icmp any host 10.1.1.28 packet-too-big
 permit icmp any host 10.1.1.28 time-exceeded
 permit icmp any host 10.1.1.28 traceroute
 permit icmp any host 10.1.1.28 administratively-prohibited
 permit icmp any host 10.1.1.28 echo
 deny   ip any any
ip access-list extended Output-Traf
 remark ----- Permit out trafic -----
 permit tcp 192.168.1.0 0.0.0.255 any
 permit icmp 192.168.1.0 0.0.0.255 any
 permit udp 192.168.1.0 0.0.0.255 any
 deny   ip any any
access-list 10 permit 192.168.1.0 0.0.0.255
snmp-server community secret RO 10
!
control-plane
!
banner motd *
=====================
 Dreamcatcher Home
=====================
*
!
line con 0
 login local
 no modem enable
 transport output all
line aux 0
 transport output all
line vty 0 4
 access-class 10 in
 privilege level 15
 password megacisco
 login local
 transport input ssh
 transport output all
!
scheduler max-task-time 5000
end
Теперь перед нами стоит другая задача - необходимо соединить этот маршрутизатор с маршрутизатором в Головном Офисе по 
защищенному каналу.   
Разберем метод RSA. Как и все (или почти все) остальное в IOS, реализация туннеля легка и незамысловата:
Генерируем ключи:
dream#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
dream(config)#crypto key generate rsa general-keys exportable
% You already have RSA keys defined named dream.home.dreamcatcher.ru.
% Do you really want to replace them? [yes/no]: y
Choose the size of the key modulus in the range of 360 to 2048 for your
  General Purpose Keys. Choosing a key modulus greater than 512 may take
  a few minutes.
How many bits in the modulus [512]:1024
% Generating 1024 bit RSA keys, keys will be exportable...[OK]
*Mar  1 02:18:59.051: %SSH-5-ENABLED: SSH 1.99 has been enabled
Посмотреть ключи можно командой 
show crypto key mypubkey rsa
Теперь к нашей конфигурации добавляем следущее:
!
ip host cisco.golovnoy-ofis.ru 192.168.255.26
!
crypto keyring VPN
 rsa-pubkey address 192.168.255.26
  address 192.168.255.26
  key-string
  30819F30 0D06092A 864886F7 0D010101 05000381 8D003081 89028181 00F5904E
  0B9594D8 EEBDB0DA B539E03F C3A10D86 39A15549 9E90307F CCF234B6 63914E50
  03D83A47 1C072384 01A1610A A0B01D37 5F36AEB1 328AD730 409024D3 E7965700
  E3A54A3F 5F83D341 4CBE4FAB DD8A21D0 106E1246 082F3C0D D0A98281 57644546
  5D562A4E E90CFE25 2F070F8C DFAB2E68 14819777 D77164AD 6BD22A4C 6B020301 0001
  quit
!
 crypto isakmp policy 30
 encr 3des
 hash md5
 group 2
crypto isakmp identity hostname
crypto isakmp keepalive 120 20
crypto isakmp profile VPN
   keyring VPN
   match identity host cisco.golovnoy-ofis.ru
   match identity address 192.168.255.26
!
!
!
crypto ipsec transform-set VPN esp-3des esp-sha-hmac
 mode transport
!
crypto ipsec profile VPN
 set security-association level per-host
 set transform-set VPN
 set isakmp-profile VPN
!
!
crypto map VPN 30 ipsec-isakmp
 set peer 192.168.255.26
 set transform-set VPN
 set isakmp-profile VPN
 match address Golovnoy_Offis
!
!
!
interface Tunnel0
 bandwidth 1024
 ip address 192.168.246.254 255.255.255.252
 ip mtu 1380
 ip tcp adjust-mss 1380
 tunnel source Ethernet1
 tunnel destination 192.168.255.26
 tunnel protection ipsec profile VPN
!
ip classless
ip route 192.168.255.26 255.255.255.255 Ethernet1 10.1.1.100 permanent
ip route 192.168.246.253 255.255.255.255 Tunnel0 permanent
!
ip access-list extended Golovnoy_Offis
 permit gre host 10.1.1.28 host 192.168.255.26
Для второго маршрутизатора конфигурация будет зеркальной: 
!
ip host cisco.remote-ofis.ru 10.1.1.28
!
crypto keyring VPN
 rsa-pubkey address 10.1.1.28
  address 10.1.1.28
  key-string
  30819F30 0D06092A 864886F7 0D100101 05000381 8D003081 89028181 0096086B
  9EDFC43B F60F95BA 3271CCD4 AB36804B 036A781C 3586F932 6A34FCB6 521CDCCB
  3D477896 32F21D60 B1F99FB9 700D08EF 9AAF9B46 F24ECF27 00CCB7B7 AA1A96F2
  FACDE6FC 3842FA60 7290CBCF 49D2C6B1 6FF5BB36 0749E39F 7680D6C9 65C14BC3
  5F9A25BE AD2A0374 72D23F93 82B0C211 7A9B3113 FF8EB7E8 31351D09 0F020301 0001
   quit
!
!
 crypto isakmp policy 30
 encr 3des
 hash md5
 group 2
crypto isakmp identity hostname
crypto isakmp keepalive 120 20
crypto isakmp profile VPN
   keyring VPN
   match identity host cisco.remote-ofis.ru
   match identity address 10.1.1.28
!
!
crypto ipsec transform-set VPN esp-3des esp-sha-hmac
 mode transport
!
crypto ipsec profile VPN
 set security-association level per-host
 set transform-set VPN
 set isakmp-profile VPN
!
!
crypto ipsec profile VPN
 set security-association level per-host
 set transform-set VPN
 set isakmp-profile VPN
!
!
crypto map VPN 130 ipsec-isakmp
 set peer 10.1.1.28
 set transform-set VPN
 set isakmp-profile VPN
 match address Remote_Offis
!
!
interface Tunnel0
 bandwidth 1024
 ip address 192.168.246.253 255.255.255.252
 ip mtu 1380
 ip tcp adjust-mss 1380
 tunnel source Ethernet1
 tunnel destination 10.1.1.28
 tunnel protection ipsec profile VPN
!
!
ip access-list extended Remote_Offis
 permit gre host 192.168.255.26 host 10.1.1.28
Необходимо внести следущие изменения в наши списки доступа:
ip access-list extended Input-Traf
 remark --- Remote-VPN ----------------------------
 permit esp any host 10.1.1.28
 permit ahp any host 10.1.1.28
 permit gre any host 10.1.1.28
 permit udp any host 10.1.1.28 eq isakmp
 permit udp any host 10.1.1.28 eq non500-isakmp
 remark ----- Deny incoming trafic -----
 permit icmp any host 10.1.1.28 unreachable
 permit icmp any host 10.1.1.28 echo-reply
 permit icmp any host 10.1.1.28 packet-too-big
 permit icmp any host 10.1.1.28 time-exceeded
 permit icmp any host 10.1.1.28 traceroute
 permit icmp any host 10.1.1.28 administratively-prohibited
 permit icmp any host 10.1.1.28 echo
 deny   ip any any
И настроить маршрутизацию. Я большой противник статики, так как она неизбежно забывается и недокументируется.
Данный маршрутизатор поддерживает только RIP, но советую настроить хотя бы его примерно следующим образом:
!
router rip
 version 2
 passive-interface default
 no passive-interface Tunnel0
 network 192.168.1.0
 network 192.168.246.0
!
Учтите, что если один из маршрутизаторов
заходится за NAT, то необходимо указывать 
crypto isakmp identity hostname и использовать при этом адрес, 
которым роутер отображается в Интернет (внешний реальный адрес). Особое внимаение обратите на соответствие записей 
ip host, 
hosname и 
ip domain, так как в этом случае используется FQDN.
Более подробно почитать о механизме установки защищенного соединения можно здесь: 
Configuring IPSec Network Security.
Проверить состояние соединения можно командами:
dream#ping 192.168.246.253 source 192.168.246.254
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.246.253, timeout is 2 seconds:
Packet sent with a source address of 192.168.246.254
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/8/12 ms
dream#sh crypto  isakmp sa detail
Codes: C - IKE configuration mode, D - Dead Peer Detection
       K - Keepalives, N - NAT-traversal
       X - IKE Extended Authentication
       psk - Preshared key, rsig - RSA signature
       renc - RSA encryption
C-id  Local           Remote          I-VRF    Status Encr Hash Auth DH Lifetime Cap.
1     10.1.1.28       192.168.255.26           ACTIVE 3des md5  rsig 2  23:55:46 D
       Connection-id:Engine-id =  1:1(software)
Команды отладки:
- 
debug crypto isakmp вывод отладочной информации. При настройке туннеля настоятельно рекомендую включать до полной победы.
 
- 
show crypto isakmp sa detail отображает все Internet Key Exchange (IKE) security associations (SA) с нашим маршрутизатором.
 
- 
show crypto ipsec sa отображает настройки для текущих SA.
 
- 
show crypto engine connections active покажет сводку конфигурационной информации.
 
По материалам:
Configuring IPSec Router-to-Router, Pre-shared, NAT Overload Between a Private and a Public Network
Configuring an IPSec Router Dynamic LAN-to-LAN Peer and VPN Clients
Router-to-Router IPSec (RSA Keys) on GRE Tunnel with RIP Configuration Example
Расшифровка используемых адресов:
- 
10.1.1.28 IP адрес нашего маршрутизатора
 
- 
192.168.246.252/30 сеть туннеля
 
- 
192.168.255.26 IP адрес удаленного маршрутизатора