Показаны сообщения с ярлыком cisco. Показать все сообщения
Показаны сообщения с ярлыком cisco. Показать все сообщения

суббота, 7 июля 2012 г.

Восстановление из rommon Cisco 871

Вообщем, произошла вчера неприятная ситуация с клиентским маршрутизатором Cisco 871. Не грузится и все тут.  Подключили консольный кабель, в  настройках putty ввожу

Baud rate: 9600
Data: 8 bit
Parity: none
Stop: 1 bit
Flow control: none.


На экране высвечивается:
rommon 1>
Понятно - IOS не загрузился.
Для начала немного теории. В работе с маршрутизаторами иногда возникают непредвиденные ситуации, например, потеря пароля для входа в привилегированный режим, или маршрутизатор по каким-либо причинам не может обнаружить образ операционной системы в памяти или во всех доступных по сети ресурсах. Из данного режима возможно восстановить работоспособность маршрутизатора загрузив новый/предыдущий образ, используя tftp или X-modem. Стоит заметить, что в данном режиме не доступны функции автодополнения команд, как при загруженном IOS.
Смотрим что на flash:
> dir flash:
Файлов нет, только свободное пространство. Придется заливать новый образ, куда делся старый будем разбираться потом.

Собственно, план работ:
1. Скачать нужный образ IOS из сети
2. Поднять/настроить tftp-сервер
3. Подключиться к консоли cisco, запустить скачивание образа на flash-память
4. Перегрузить/проверить работу

1. Для заливки  будем использовать tftp, потому как он быстрее xmodem. Скачиваем образ c870-advipservicesk9-mz.124-24.T7.bin. ОБЯЗАТЕЛЬНО проверить md5-сумму фала и размер с данными об образе на сайте cisco.com. Лучше скачать несколько образов (на всякий случай). Особое внимание стоит обратить на размер flash-памяти и объем оперативной памяти. Сначала был соблазн скачать новую версию 15-серии , но для нее требуется больше оперативной памяти.

2. Далее поднимаем tftp-сервер. Поскольку делал все с Win7, по старинке скачал tftpd32 отсюда. Настройка его слишком тривиальна, чтоб описывать (выбрать корневую папку). Далее разбираемся с Windows firewall, нужно временно открыть 69 порт по протоколу udp для выделенного для  cisco IP-адреса или для всей локальной подсети. Обязательно проверить tftp-клиентом (входит в состав tftpd32) работу tftp-сервера.

3. Параметры подключения указаны в начале заметки. Итак, какие команды вообще есть:

rommon 1 > ?
alias               set and display aliases command
boot                boot up an external process
break               set/show/clear the breakpoint
confreg             configuration register utility
cont                continue executing a downloaded image
context             display the context of a loaded image
cookie              display contents of cookie PROM in hex
dev                 list the device table
dir                 list files in file system
dis                 disassemble instruction stream
dnld                serial download a program module
frame               print out a selected stack frame
help                monitor builtin command help
history             monitor command history
meminfo             main memory information
repeat              repeat a monitor command
reset               system reset
set                 display the monitor variables
stack               produce a stack trace
sync                write monitor environment to NVRAM
sysret              print out info from last system return
unalias             unset an alias
unset               unset a monitor variable
xmodem              x/ymodem image download
rommon 2 >

Команда tftpdnld используется только случае аварийного восстановления, так как предварительно стирает все существующие данные с flash-памяти перед загрузкой нового IOS в маршрутизатор (есть вариант загрузки образа в память БЕЗ сохранения на flash-память). Для выполнения tftpdnld необходимо заполнение системных переменных режима ROMmon, которые будут использованы для создания соединения и передачи. Вот эти обязательные переменные:

IP адрес маршрутизатора    IP_ADDRESS=ip_address
Маска подсети     IP_SUBNET_MASK=subnet_mask
IP адрес шлюза по умолчанию   DEFAULT_GATEWAY=ip_address
IP адрес TFTP сервера      TFTP_SERVER=ip_address
Имя загружаемого файла IOS     TFTP_FILE=filename

В моем случае это были:
> IP_ADDRESS=192.168.1.1
IP_SUBNET_MASK=255.255.255.0
DEFAULT_GATEWAY=192.168.1.234
TFTP_SERVER=192.168.1.234
TFTP_FILE=c870-advipservicesk9-mz.124-24.T7.bin


Далее запускаем команду:
> tftpdnld
Соглашаемся с приведенными настройками. Смотрим за прогрессом скачивания образа. 
Тут случается главная засада: получаем сообщение о поврежденном файле или ошибке устройства хранения. 

File reception completed.
TFTP flash copy: Invalid file header, copy terminated.
Reason: Wrong target platform OR corrupt file.

Пытаюсь загрузить несколько разных образов IOS - результат тот же. Пытаюсь загрузить образ в память (tftpdnld -r) - ноль на массу. Начинаю уже грешить на сбойную flash-память, и тут решаю перегрузить на всякий случай маршрутизатор по питанию.  После загрузки процесс записи прошел успешно. Залил ранее сохраненный конфигурационный файл и заработало.



Литература:
http://telecom.opennet.ru/cisco/rommon.shtml

пятница, 25 мая 2012 г.

Запланированная перезагрузка маршрутизатора cisco.

Возникла необходимость в сабже. Имеется устройство:

Router1#sh ver
Cisco IOS Software, C870 Software (C870-ADVIPSERVICESK9-M), Version 12.4(15)T7, RELEASE SOFTWARE (fc3)
ROM: System Bootstrap, Version 12.3(8r)YI4, RELEASE SOFTWARE

Router1 uptime is 22 minutes
System returned to ROM by power-on
System restarted at 15:26:54 FET Thu May 24 2012
System image file is "flash:c870-advipservicesk9-mz.124-15.T7.bin"

Cisco 871 (MPC8272) processor (revision 0x300) with 118784K/12288K bytes of memory.
Processor board ID FHK124728XM
MPC8272 CPU Rev: Part Number 0xC, Mask Number 0x10
5 FastEthernet interfaces
128K bytes of non-volatile configuration memory.
28672K bytes of processor board System flash (Intel Strataflash)

Клиент сильно желает перегружать ежедневно ночью. Попытка решить задачу с помощью команды reload не привела к ожидаемым результатам, необходимо каждый раз подтверждать перезагрузку, что не подходит. После недолгих поисков было найдено решение - использовать EEM (Embedded Event Manager).

Router1# conf t
Router1(config)#event manager applet RELOAD-ROUTER

Router1(config-applet)#event timer cron name "RELOAD" cron-entry "0 6 * * *"

Router1(config-applet)#exit

среда, 22 июня 2011 г.

Non-volatile configuration memory is being accessed.

Сегодня зашел на маршрутизатор Cisco 870 серии, посмотрел running-config и чего-то дернуло меня глянуть на стартовый конфиг, сравнить насколько отличаются.
C871-IF#sh start
%% Non-volatile configuration memory is being accessed, Try again later

Интересная надпись. Почему нельзя посмотреть на конфиг в nvram? Данное сообщение выскакивает, когда несколько пользователей пытаются получить доступ к nvram, хоть на чтение, хоть на запись.

Лечение:
Команда sh users покажет кто еще работает с маршрутизатором
Команда clear line vty NUMBER сбросит пользователя с номером сессии NUMBER, полученного из вывода предыдущей команды.


Литература:
https://supportforums.cisco.com/docs/DOC-4924

среда, 4 мая 2011 г.

Linux IPSec + Cisco. Тунель между Cisco и Linux.

В праздничные дни внезапно упал канал между филиалом и главным офисом. Работать операторы могли через терминальный сервер, однако, несколько спец. программ работают только напрямую. Пришлось поднимать туннель между центральным маршрутизатором (cisco3800) и шлюзом под Linux (Fedora8). Небольшая заметка для себя.
Итак, имеем филиальский сервер, который выступает шлюзом в интернет.
$ rpm -q ipsec-tools
ipsec-tools-0.7-3.fc8
- Подсеть филиала 172.23.0.0/16
- Подсеть главного офиса - 10.0.0.0/8
- Подсеть2 главного офиса - 192.168.0.0/16
Приведенные выше подсети внутри разбиты на части, но с точки зрения маршрутизации, все они находятся за центральным маршрутизатором, так что имеет смысл определить только данные ("крупные") подсети.
- Внешние адреса с обеих сторон (1.1.1.1-linux и 2.2.2.2-cisco)


Конфигурационный файл - racoon.conf
Приведу только несколько измененных директив.

Нужно описать удаленный узел с помощью ключевого слова remote.
Если определено ключевое слово anonymous, то его параметры применяются ко всем удаленным узлам, которые явно не описаны в конфиге.

remote 2.2.2.2
{
# режим проверки подлинности
exchange_mode main,base;

# время жизни безопасного соединения (SA)
lifetime time 8 hour ;

# указываем в случае, если racoon только принимает запросы на соединение, т.е. пассивно ждет пакетов от инициатора. В этом случае, если нет заданных политик в базе данных политик безопасности (SPD — Security Policy Database), racoon выберет первое предложение, переданное инициатором и сгенерирует на его основе новую политику.
generate_policy on;

# пытаться ли участвовать в инициировании соединения или пассивно ждать
passive on ;
# phase 1 proposal (for ISAKMP SA)
proposal {
# Определяем алгоритм шифрования, используемый при проверке подлинности
encryption_algorithm 3des;
# Указываем алгоритм расчёта хэша, используемый на первой фазе согласования между узлами.
hash_algorithm sha1;
# Определяет метод проверки подлинности, используемый при согласовании узлов. В данном случае для проверки подлинности применяются предварительные общие ключи.
authentication_method pre_shared_key;
# Указывает номер группы Диффи-Хелмана для выбора динамически создаваемых ключей сеанса. У меня используется группа из 1024 бит.
dh_group 2 ;
}
}

Поля в sainfo описывают вторую фазу соединения между узлами IPsec — основу IPsec-соединения (включая используемый поддерживаемый алгоритм шифрования) и способ обмена ключами.

sainfo address 172.23.0.0/16 any address 10.0.0.0/8 any
{
# Определяет протокол обмена ключами Диффи-Хелмана, задающий алгоритм, по которому узлы IPsec устанавливают общий временный ключ сеанса для второй фазы соединения IPsec.
pfs_group 2;

# Этот параметр задаёт срок жизни SA и может быть определяться временем или объёмом данных в байтах.
lifetime time 1 hour ;

# Указываем поддерживаемые алгоритмы шифрования для фазы 2
encryption_algorithm 3des, blowfish 448, rijndael ;

# Перечисляем поддерживаемые алгоритмы хэша для проверке подлинности.
authentication_algorithm hmac_sha1, hmac_md5 ;

# Определяем алгоритм сжатия Deflate для поддержки сжатия IP-заголовков (IP Payload Compression, IPCOMP), что может увеличить скорость передачи IP-датаграм по медленным соединениям.
compression_algorithm deflate ;
}

sainfo address 172.23.0.0/16 any address 192.168.0.0/16 any
{
pfs_group 2;
lifetime time 1 hour ;
encryption_algorithm 3des, blowfish 448, rijndael ;
authentication_algorithm hmac_sha1, hmac_md5 ;
compression_algorithm deflate ;
}


Для управления базами безопасных соединений и политик безопасности (SAD/SPD) используется утилита setkey. Более подробное описание можно узнать из man setkey. Я приведу конфигурационный файл, описывающий создание безопасного соединения между подсетями филиала и центрального офиса:

#!/sbin/setkey -f
flush;
spdflush;

spdadd 172.23.0.0/16 10.0.0.0/8 any -P out ipsec esp/tunnel/1.1.1.1-2.2.2.2/require;
spdadd 10.0.0.0/8 172.23.0.0/16 any -P in ipsec esp/tunnel/2.2.2.2-1.1.1.18/require;

spdadd 172.23.0.0/16 192.168.0.0/16 any -P out ipsec esp/tunnel/1.1.1.1-2.2.2.2/require;
spdadd 192.168.0.0/16 172.23.0.0/16 any -P in ipsec esp/tunnel/2.2.2.2-1.1.1.1/require;


Первый запуск:
service racoon start

Смотрим лог в /var/log/racoon.log
Видим первую ошибку
pfkey X_SPDDUMP failed: No such file or directory

# setkey -D 
No SAD entries. 
Создание записей в БД безопасности из файла  
# setkey -f /etc/racoon/ipsec-tools.conf

Удаляем старые маршруты через маршрутизатор c2801:
route del -net 10.0.0.0 netmask 255.0.0.0 gw 172.23.0.1
route del -net 192.168.0.0 netmask 255.255.0.0 gw 172.23.0.1


Настройка iptables:
iptables
*filtet
-A INPUT -p esp -s 2.2.2.2/32 -j ACCEPT
-A INPUT -p udp --dport 500 -s 2.2.2.2/32 -j ACCEPT

*nat
-A POSTROUTING -s 172.23.0.0/16 -d 10.0.0.0/8 -j ACCEPT
-A POSTROUTING -s 172.23.0.0/16 -d 192.168.0.0/16 -j ACCEPT
-A POSTROUTING -s 172.23.0.0/16 -d ! 10.0.0.0/8 -o eth1 -j SNAT --to-source 1.1.1.1
-A POSTROUTING -s 172.23.0.0/16 -d ! 172.23.0.0/16 -o eth1 -j SNAT --to-source 1.1.1.1

service iptables restart


На стороне cisco филиала
удалить маршрутизацию в подсети, оставив маршрут по умолчанию на linux-шлюз.

no ip route 10.0.0.0 255.0.0.0 192.168.255.1
no ip route 192.168.0.0 255.255.0.0 192.168.255.1
ip route 0.0.0.0 0.0.0.0 172.23.1.254


На стороне Cisco в ЦО.
Не забыть применить crypto map на исходящем интерфейсе, а также указать какие интерфейсы участвуют в nat (ip nat inside и ip nat outside)

****
crypto isakmp policy 25
encr 3des
authentication pre-share
group 2
lifetime 3600
****

crypto isakmp key PASSWORD address 1.1.1.1 no-xauth
crypto ipsec transform-set BRANCH esp-3des esp-sha-hmac

crypto map IPSEC_MAP 48 ipsec-isakmp
description tunnel_to_Branch
set peer 1.1.1.1
set transform-set BRANCH
match address BRANCH-1

ip nat inside source list ALLOW_NAT interface GigabitEthernet0/1.40 overload

ip access-list extended BRANCH-1
permit ip 10.0.0.0 0.255.255.255 172.23.0.0 0.0.255.255
permit ip 172.16.0.0 0.15.255.255 172.23.0.0 0.0.255.255
permit ip 192.168.0.0 0.0.255.255 172.23.0.0 0.0.255.255

ip access-list extended ALLOW_NAT
deny ip any 10.0.0.0 0.255.255.255
deny ip any 172.16.0.0 0.15.255.255
deny ip any 192.168.0.0 0.0.255.255
permit ip any host 1.1.1.1
 *****


Литература:
man racoon.conf, man setkey, документация с сайта cisco.com

вторник, 7 декабря 2010 г.

Заметка о настройке маршрутизатора DrayTek Vigor2110.

Немного лирики. Когда возникла необходимость подключить представительства (4-5 компьютеров) к общей сети, было предложена схема с использованием бюджетного маршрутизатора Draytek Vigor2110. Взяли 4 таких маршрутизатора на пробу поставщиков и попытались настроить VPN с центральным офисом. Настраивал сначала опытных товарищ, спец по продуктам Microsoft, сумел настроить VPN с корпоративным ISA-сервером, однако доступ к другим подсетям (см. схему ниже) за центральной циской никак не получалось настроить - ISA просто не видела пакеты, отправляемые Vigor на адреса 172.16.0.0/12. Данное решение проработало месяц, пока не удалось организовать отдельный канал, проброшенный на корпоративную циску c3800. Но ситуация повторилась - от Vigor2110 не приходили пакеты для подсетей 172.16.0.0/12. Общение со службой техподдержки не дало особых плодов - у них схема подключения Vigor2Vigor работала нормально по их словам. В общем конце концов решили на представительства ставить циски c871. А данная заметка исключительно как память. Настройки ISA не привожу так как они не сохранились.
Схема подключения:



Параметры по умолчанию (если настройки были сброшены или устройство только что куплено).
Стартовый IP-адрес 192.168.1.1
Логин/пароль — admin/admin

1. Internet Access -> Static or Dynamic IP
  1. Static or Dynamic IP
    1. Разрешить Broadband Access — enable
    2. Установить WAN physical type — Auto negotiation
    3. Установить WAN Connection Detection — ARP Detect
    4. Убрать галочку с пункта RIP Protocol
    5. WAN Backup setup
      1. Разрешить использование резервного канала через 3G modem — Dial Backup mode — enable
      2. 3G USB Modem
        1. Разрешить PPP Client Mode enable
        2. Ввести SIM PIN Code (если есть)
        3. Ввести Modem Initial String
        4. Ввести APN Name
        5. Ввести Modem dial String — ATDT^99#
        6. Ввести PPP Username — пусто
        7. Ввести PPP Password — пусто
6. WAN IP Network Settings
  1. Установить Router Name — Vigor-Имя_филиала.
  2. Установить Domain Name — Имя_филиала.Office.com
  3. Назначить Specify an IP Address — внешний адрес маршрутизатора, предоставляется провайдером см. в конце файла.
  4. Назначить Subnet Mask, предоставляется провайдером.
  5. Назначить Gateway IP Address, предоставляется провайдером.
2. LAN -> General Setup
  1. LAN IP Network Configuration
     1. Задать 1st IP Address внутренний адрес маршрутизатора 192.168.100.xxx, где xxx — см. в конце файла, первый в скобках, например, 192.168.100.1.
    2. 1st Subnet Mask 255.255.255.240,
  2. DHCP Server Configuration
    1. Разрешить Enable Server
    2. Назначить Start IP Address — 192.168.100.xxx+1, например, 192.168.100.2
    3. Установить IP Pool Counts — 12
    4. Установить шлюз по умолчанию Gateway IP Address — 192.168.100.xxx, заданный в настройках 1st IP Address
3. VPN and Remote Access
  1. Remote Access Control Setup — оставить разрешённой только IPSec VPN Service
2. IPSec General Setup — задать дважды парольную фразу и выделить 3DES, AES в списке методов безопасности IPSec Security Method
3. LAN to LAN — создать новый профиль или отредактировать уже созданный, щёлкнув на на индексе этого профиля
  1. Profile 1
   1. Common settings
    1. Задать имя профиля, например, Apt2FIRMA
    2. Поставить галочку Enable this profile
   2. Dial-Out settings
    1. Type Server оставить IPSec
    2. Server IP/Host name for VPN поставить
    3. В IKE Authentication Method щёлкнуть на кнопке IKE Pre-Shared Key и дважды задать парольную фразу, введённую ранее.
   4. В IPSec Security Method выбрать High(ESP) 3DES with Authentication
   5. Щёлкнуть на кнопке Advanced
      1. IKE phase 1 mode — Main
      2. IKE phase 1 proposal — 3DES_SHA1_g2
      3. IKE phase 2 proposal — 3DES_SHA1/3DES_MD5
      4. IKE phase 1 key lifetime — 28800
      5. IKE phase 2 key lifetime — 3600
      6. Perfect Forward Secret — Disable
  3. Dial-In settings
    1. Allowed dial-in type Server оставить IPSec
    2. Определить адрес Remote VPN Gateway
    3. В IKE Authentication Method щёлкнуть на кнопке IKE Pre-Shared Key и дважды задать парольную фразу, введённую ранее.
    4. В IKE Authentication Method поставить галочки рядом с 3DES, AES
 4. TCP/IP network settings
   1. My WAN IP — 0.0.0.0
   2. Remote gateway mask — 0.0.0.0
   3. Remote network — 10.0.0.0
   4. Remote network mask — 255.0.0.0
 5. Щёлкнуть на кнопке More
     1. В поле Network IP задать адрес сети филиала, например, 172.16.0.0
     2. В поле Netmask выбрать подходящую сетевую маску, например, 255.240.0.0
     3. Нажать кнопку Add
     4. Нажать кнопку Close
  6. From first subnet to remote network... выбрать из выпадающего списка Route
4. System maintenance
  1. На вкладке Administrator password задать новый пароль
  2. Сделать резервную копию конфигурации на вкладке Configuration backup
  3. Management
   1. Management Access Control
    1. На вкладке Allow management from the Internet поставить галочки рядом с HTTP, HTTPS, SSH
  2. Firmware Upgrade
    1. Скачать с сайта draytek.com новую прошивку для Vigor2110.
    2. Выбрать скачанный файл с новой прошивкой
    3. Нажать на кнопку Upgrade (питание НЕ ДОЛЖНО прерываться при обновлении прошивки)
5. Diagnostics
  1. Ping diagnostics
    1. Ввести IP-адрес хоста для диагностики.

четверг, 28 октября 2010 г.

Автосохранение конфигурационного файла маршрутизатора Cisco на tftp-сервер.

Иногда приходится возиться с маршрутизаторами Cisco по роду деятельности. Расскажу о такой приятной возможности как автосохранение конфигурации маршрутизатора на tftp-сервер.

Установка/настройка tftp-сервера

sudo yum -y install tftp-server xinetd

vi /etc/xinetd.d/tftp
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot -vvvc
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}

- disable поменять с yes на no, тем самым разрешив сервис.
- Опция -c позволяет создавать новые файлы. По умолчанию, tftpd позволит выложить файл, если тот уже существует. По умолчанию, файлы создаются с разрешениями 666 (доступны на чтение/запись всем), пока не установлены опции --permissive или —umask.
- Опция -v позволяет увеличить уровень логгирования tftpd, можно указать несколько раз.
- Опция -s задает корневую директорию при старте.

Запуск сервиса

# запускать сервис на уровнях 3,4,5
sudo /sbin/chkconfig xinetd --level 345 on
# перезапустить сервер xinetd, который является посредником для tftpd
sudo /sbin/service xinetd restart

# создаем необходимые директории для хранения конфигурационных файлов
mkdir -p /var/lib/tftpboot/cisco/{krrog,kiev,poltava}
chmod -R 777 /var/lib/tftpboot/cisco

Для ограничения сервиса использовать либо iptables (tftp-сервер использует порт 69 udp), либо tcp_wrappers (бинарник in.tftpd).

Настройка cisco.

# указываем сервер имен
ip name-server 10.1.11.3
# далее директивы для управления автосохранением
archive
# путь куда будем сохранять конфигурацию
path tftp://mitra.office.com/cisco/vinnitsa/vn-branch-config
# делать сохранение по команде write memory
write-memory
# в некоторых случаях важно явно указать интерфейс, с которого связываться с tftp-сервером, например, в случае использования IPSec.
ip tftp source-interface Vlan1

Теперь, сделав
Cisco2811-Vinnica#wr me
Building configuration...
[OK]!!
Cisco2811-Vinnica#
получаем копию конфига в директории на tftp-сервере.

вторник, 26 октября 2010 г.

Заметка о настройке IPSec на Cisco871.


IPsec (сокращение от IP Security) — набор протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколу IP, позволяет осуществлять подтверждение подлинности и/или шифрование IP-пакетов. IPsec также включает в себя протоколы для защищённого обмена ключами в сети Интернет. 
Протоколы IPsec работают на сетевом уровне (уровень 3 модели OSI). IPsec-протоколы можно разделить на два класса: протоколы отвечающие за защиту потока передаваемых пакетов и протоколы обмена криптографическими ключами. На настоящий момент определён только один протокол обмена криптографическими ключами — IKE (Internet Key Exchange) — и два протокола, обеспечивающих защиту передаваемого потока: ESP (Encapsulating Security Payload — инкапсуляция зашифрованных данных) обеспечивает целостность и конфиденциальность передаваемых данных, в то время как AH (Authentication Header — аутентифицирующий заголовок) гарантирует только целостность потока (передаваемые данные не шифруются). 
Существует два режима работы IPsec: транспортный режим и туннельный режим. 
В транспортном режиме шифруется (или подписывается) только информативная часть IP-пакета. Маршрутизация не затрагивается, так как заголовок IP пакета не изменяется (не шифруется). Транспортный режим как правило используется для установления соединения между хостами. Он может также использоваться между шлюзами, для защиты туннелей, организованных каким-нибудь другим способом (IP tunnel, GRE и др.). 
В туннельном режиме IP-пакет шифруется целиком. Для того, чтобы его можно было передать по сети, он помещается в другой IP-пакет. По существу, это защищённый IP-туннель. Туннельный режим может использоваться для подключения удалённых компьютеров к виртуальной частной сети или для организации безопасной передачи данных через открытые каналы связи (например, Интернет) между шлюзами для объединения разных частей виртуальной частной сети. 
Режимы IPsec не являются взаимоисключающими. На одном и том же узле некоторые SA могут использовать транспортный режим, а другие — туннельный. 
Схема подключения (рисовал в GNS, сильно не пинайте):



где LAN_192.168.100.144 - это пример подсети представительства. 
Требования: компьютеры из подсети представительства должны получать доступ к ресурсам ЦО (подсеть 10.0.0.0/8) и филиала (подсети 172.ХХ.0.0/16).


Итак, приступим.

1. Подключаем синий кабель в консольный порт Cisco871, настраиваем параметры подключения Hyperterm или Putty, включаем питание Cisco871 и ждем пока появится приглашение для входа 
2. Логин/пароль для первого входа — cisco/cisco, как написано в приглашении. 
3. Удаляем существующий конфигурационный файл startup-config (нам он при настройке не понадобится, потому как придётся удалять 5-7 лишних настроек) 
yourname#wr erase 
Erasing the nvram filesystem will remove all configuration files! Continue? [confirm] 
[OK] 
Erase of nvram: complete 
yourname# 
*Mar  1 00:11:16.363: %SYS-7-NV_BLOCK_INIT: Initialized the geometry of nvram 

4. Проверяем, что конфигурационный файл удалился (можно сокращать, если команда уникальна). 
yourname#sh start 
startup-config is not present

5. Перезагрузка маршрутизатора в новый (пустой) конфигурационный файл. 
yourname#reload 
System configuration has been modified. Save? [yes/no]: no 
Proceed with reload? [confirm]

6. Когда маршрутизатор загрузился — отказываемся от диалога начальной конфигурации, так как будем все конфигурировать вручную. 
         --- System Configuration Dialog --- 
Would you like to enter the initial configuration dialog? [yes/no]: 
% Please answer 'yes' or 'no'. 
Would you like to enter the initial configuration dialog? [yes/no]: n 
Press RETURN to get started!

7. Переходим в привилегированный режим 
Router>en

8. Переходим в режим конфигурации (приглашение командной строки C871-Apt24Nk(config)#
Router#conf t
Enter configuration commands, one per line.  End with CNTL/Z.

9. Задать имя маршрутизатора
C871-Apt24Nk(config)#hostname C871-Apt24Pl

10. Определить пул адресов, раздаваемых по DHCP, с именем, например, Apt24Pl_POOL и такие параметры как подсеть, домен, маршрутизатор по умолчанию и список серверов днс.
ip dhcp pool Apt24Pl_POOL
   network 192.168.100.144 255.255.255.240
   domain-name Poltava.Office.com
   default-router 192.168.100.145
   dns-server 10.1.11.2 10.1.11.3
Если надо сделать постоянную привязку IP-MAC, то нужно сделать отдельный пул с необходимыми параметрами. client-identifier формируется как 01+MAC, т.е. начинается на 01 далее идет MAC-адрес.
ip dhcp pool Apt24KhKassaSRV_POOL
   host 192.168.100.147 255.255.255.240
   client-identifier 0100.2618.d976.08
   domain-name Poltava.Office.com
   default-router 192.168.100.145
   dns-server 10.1.11.2 10.1.11.3
11.Исключаем IP-адрес маршрутизатора из пула адресов, выдаваемых DHCP
ip dhcp excluded-address 192.168.100.145

12. Задаём имя домена, в котором находится маршрутизатор (необходимо для ssh)
ip domain name Poltava.Office.com

13. Задаем IP-адреса серверов имен, полученные от провайдера
ip name-server 212.XXX.YY.5 
ip name-server 212.XXX.YY.9
ip name-server 10.1.11.2

14. Создаем своего пользователя с правами администратора
username admin privilege 15 secret ***********

15. Настройка IKE, ISAKMP Policy
# создаем полиси с номером 20, первыми отрабатываются полиси с наименьшими номерами, номера полиси на удаленных устройствах могут не совпадать.
crypto isakmp policy 20 
# шифрование. Бывает aes 128,192,156; des; 3des
 encr aes 
# аутентификация удаленной стороны по заданному ключу
 authentication pre-share 
# для обмена ключами использовать Diffie-Helman group 2 (1024 бит)
 group 2 
# время жизни ключа 28800 секунд (8 часов)
 lifetime 28800

16.Добавляем Pre-shared key для удаленного хоста
crypto isakmp key *********-Ku-Ku address 195.24.XX.10 no-xauth

17.Создаем access-list для трафика, который будет направляться в туннель. Все пакеты из локальной подсети аптеки на внутренние адреса компании.
ip access-list extended IPSEC_TRAFFIC 
 permit ip 192.168.100.144 0.0.0.15 10.0.0.0 0.255.255.255 
 permit ip 192.168.100.144 0.0.0.15 172.16.0.0 0.15.255.255 
 permit ip 192.168.100.144 0.0.0.15 192.168.0.0 0.0.255.255

18.Создание transform-set
crypto ipsec transform-set VPNSET_AES_SHA esp-aes esp-sha-hmac

19.Создание crypto map, которая объединяет transform-set, isakmp-policy, access-list и удаленный хост.
# Создать можно ТОЛЬКО одну crypto map для одного исходящего интерфейса. В одной crypto map можно указать несколько ipsec-туннелей, используя порядковый номер, который обрабатывается в порядке возрастания.
crypto map APT24MAP 20 ipsec-isakmp 
# описание 
 description tunnel_to_cisco 
# указать удаленный хост 
 set peer 195.24.156.130 
# указать transform-set 
 set transform-set VPNSET_AES_SHA 
# указать access-list 
 match address IPSEC_TRAFFIC

20.Настройка внутреннего интерфейса vlan 1
 interface Vlan1 
 ip address 192.168.100.145 255.255.255.240 
# указываем, что данный интерфейс участвует в nat изнутри 
 ip nat inside

21.Настройка внешнего интерфейса FastEthernet4
interface FastEthernet4 
 ip address 89.**.***.** 255.255.255.252 
# указываем, что данный интерфейс участвует в nat снаружи 
 ip nat outside 
# повесить crypto map на интерфейс 
crypto map APT24MAP

Если вы счастливый обладатель pppoe-соединения с провайдером: изменить следует настройки исходящего интерфейса и указания маршрута по умолчанию, а также изменить правило ip nat inside ....

Описываем ФИЗИЧЕСКИЙ ИНТЕРФЕЙС
interface FastEthernet4 
 no ip address 
 ip virtual-reassembly 
 no ip route-cache cef 
 no ip route-cache 
 duplex auto 
 speed auto 
 pppoe enable group global 
 pppoe-client dial-pool-number 1

Описываем ЛОГИЧЕСКИЙ ИНТЕРФЕЙС.
interface Dialer0 
 ip address negotiated 
 ip mtu 1492 
 ip nat outside 
 ip virtual-reassembly 
 encapsulation ppp 
 dialer pool 1 
 dialer-group 1 
 no cdp enable 
 ppp authentication chap pap callin 
 ppp chap hostname ЛОГИН 
 ppp chap password 0 ПАРОЛЬ 
 ppp pap sent-username ЛОГИН password 0 ПАРОЛЬ 
 crypto map APT24MAP

Тогда ip route и ip nat inside станет таким:
ip route 0.0.0.0 0.0.0.0 Dialer0 
ip nat inside source list NONAT interface Dialer0 overload

22.Создание access-list для указания правил nat
ВАЖНО: первые 3 строчки запрещают nat для внутренних адресов компании, потому, как nat применяется к интерфейсу ДО ipsec. Без данной настройки nat заберет пакет, отправит его на роутер по умолчанию, который, увидя «серый» внутренний IP, удалит пакет.
ip access-list extended NONAT. 
 deny   ip any 10.0.0.0 0.255.255.255 
 deny   ip any 172.16.0.0 0.15.255.255 
 deny   ip any 192.168.0.0 0.0.255.255 
 permit ip 192.168.100.144 0.0.0.15 any

23.Собственно, правило, описывающее nat.
ip nat inside source list NONAT interface FastEthernet4 overload

24.Добавим ключ rsa для корректной работы ssh
C871-Apt24Nk(config)#crypto key generate rsa modulus 1024

25. Параметры для логгирования сообщений
C871-Apt24Nk(config)#service timestamps log datetime msec localtime show-timezone

26. Настройка автосохранения конфига на tftp-сервере.
C871-Apt24Nk(config)#ip tftp source-interface Vlan1 
C871-Apt24Nk(config)#archive 
C871-Apt24Nk(config-archive)#path tftp://IP_OR_NAME_OF_TFTP-SERVER/cisco/BRANCH/XX-branch-config 
C871-Apt24Nk(config-archive)#write-memory

Теперь каждый раз после сохранения конфигурации командой write, копия конфигурационного файла будет отправляться на tftp сервер, с именем XX-branch-config-[+1] и мы будем иметь на сервере все версии конфигов (XX-branch-config-1, XX-branch-config-2, XX-branch-config-3 и.т.д.). Для тех кто не понял, BRANCH - название филиала, например, nikolaev, XX - двубуквенный код филиала, например, nk, pl kiev (исключение) и т.п.

27. Настройка синхронизации времени и часового пояса. Параметр source указывает на интерфейс, с которого будут отправляться запросы на синхронизацию времени.
C871-Apt24Nk(config)#ntp server 10.1.11.2 source Vlan1 
C871-Apt24Nk(config)#ntp server 10.1.11.3 source Vlan1 


C871-Apt24Nk(config)#clock timezone KIEV 2 
C871-Apt24Nk(config)#clock summer-time KIEV recurring last Sun Mar 2:00 last Sun Oct 3:00

28. Магическая строчка. Без нее интернета НЕ будет.
ip route 0.0.0.0 0.0.0.0 ИСХОДЯЩИЙ_ИНТЕРФЕЙС (например, Dialer0 или Fa4)

или
ip route 0.0.0.0 0.0.0.0 GATEWAY_OF_YOUR_PROVIDER

29.Выходим из режима конфигурации
C871-Apt24Nk(config)#^Z

30.Записываем (сохраняем) конфигурационный файл startup-config
C871-Apt24Nk#wr me 
Building configuration... 
[OK]


Литература:
http://ru.wikipedia.org/wiki/IPsec
http://www.xgu.ru/wiki/IPsec_в_Cisco