В рассматриваемом примере две отдельные локальные сети с приватными адресами (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