В рассматриваемом примере две отдельные локальные сети с приватными адресами (192.168.1.0/24 и 192.168.2.0/24), подключенные к интерфейсам FastEthernet0/0 маршрутизаторов Cisco. Маршрутизаторы могут быть практически любой модели, но операционная система Cisco IOS на них должна поддерживать шифрование (имя файла IOS должно включать символы «k9»). Внешние интерфейсы (FastEthernet0/1) этих маршрутизаторов подключены к глобальной сети с реальными IP-адресами (1.0.0.1/24 и 1.0.0.2/24). Настроим IPSec-туннель между внутренними сетями, чтобы пользователи одной сети могли безопасно обращаться к ресурсам другой, при этом трафик будет шифроваться. Также настроим NAT, чтобы тунеллировался только трафик из одной сети в другую, а остальной трафик (например, в Интернет), шел по другому каналу. Для второго маршрутизатора настройки такие же, меняется только адрес внутренней сети и внешнего интерфейса, соответственно изменяются access-list’ы.

version 12.4

service timestamps debug datetime msec

service timestamps log datetime msec

no service password-encryption

hostname c2811-1

no aaa new-model

ip cef

crypto isakmp policy 100

encryption aes # можно выбирать des, 3des, aes 128, aes 192, aes 256

hash md5 # md5 или sha1

authentication pre-share #pre-share, rsa-sig или rsa-encr

group 2 # группа безопасности для шифрования трафика при обмене ключами между маршрутизаторами

crypto isakmp key cisco address 10.0.0.2 # адрес другого маршрутизатора – конца туннеля

crypto ipsec transform-set PEERS esp-aes esp-md5-hmac

crypto map IPSEC 100 ipsec-isakmp

set peer 1.0.0.2 # адрес другого маршрутизатора – конца туннеля

set security-association idle-time 600

set transform-set PEERS

set pfs group1 # использование DH-алгоритма при первоначальном обмене ключами

match address ACL_IPSEC

interface FastEthernet0/0 # внешний интерфейс

encapsulation dot1Q 1 native

ip address 1.0.0.1 255.255.255.0

ip nat outside

ip virtual-reassembly

no snmp trap link-status

crypto map IPSEC

interface FastEthernet0/1 # внутренний интерфейс

encapsulation dot1Q 2

ip address 192.168.1.1 255.255.255.0

ip nat inside

ip virtual-reassembly

no snmp trap link-status

ip route 0.0.0.0 0.0.0.0 FastEthernet0/0

ip route 192.168.2.0 255.255.255.0 1.0.0.2

ip http server

no ip http secure-server

ip nat inside source list 101 interface FastEthernet0/0 overload

ip access-list extended ACL_IPSEC # крипто-ACL

permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255

permit ip host 1.0.0.1 host 1.0.0.2

permit ip host 1.0.0.2 host 1.0.0.1

deny ip any any

access-list 101 deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255

# эта строка нужна, чтобы NAT не использовался для внутренних адресов – они связываются через туннель IPSec

access-list 101 permit ip 192.168.1.0 0.0.0.255 any

line con 0

line aux 0

line vty 0 4

password cisco

login