Архив метки: cisco

Обновление Cisco WLC 2504 с версии 8.1.102.0 до 8.5.171.0

8.5.171.0 — последняя поддерживаемая данным контроллером версия оси.

Напрямую перейти с 8.1 на 8.5 нельзя, нужно сначала обновиться до 8.3, а потом до 8.5.

Путь обновления в моем случае:
8.1.102.0 -> 8.3.150.0 -> 8.5.171.0

Чтобы обновиться до версии 8.3, нужно сначала проверить, чтобы был установлен FUS 2.0 (для 8.3 в принципе подойдет и 1.9 версия, но если уж обновлять FUS, то сразу можно прыгнуть на 2.0).
FUS — Fuild Upgrade Software — специальный AES пакет, который подготавливает обновление различных system-related компонентов.

(Cisco Controller) >show sysinfo

Manufacturer’s Name………………………… Cisco Systems Inc.
Product Name………………………………. Cisco Controller
Product Version……………………………. 8.1.102.0
Bootloader Version…………………………. 1.0.20
Field Recovery Image Version………………… 7.6.101.1
Firmware Version…………………………… PIC 20.0

Если в выводе Bootloader Version меньше, чем 1.0.20, сначала обновляем FUS.
AIR-CT2500-K9-2-0-0-0-FUS.aes — это файл FUS 2.0

FUS заливается на контроллер так же, как и остальной «код»: Меню COMMANDS — Download file — а дальше уже выбираете, какой метод вам по душе.

FUS обновляется долго, порядка 30-40 минут с несколькими перезагрузками контроллера. В процессе обновления обязательно обеспечить бесперебойное питание на контроллер.

Мне FUS обновлять не пришлось.

AIR-CT2500-K9-8-3-150-0.aes — файл оси 8.3
AIR-CT2500-K9-8-5-171-0.aes — файл оси 8.5

Для заливки новой версии оси сначала пробую http метод, как самый легкий (файл 8.3 лежит то у меня на ПК, осталось залить), но попытка не удалась. Хоть возможность данного метода и заявлена в веб-интерфейсе, но он не срабатывает (по крайней мере на версии 8.1.102.0), вываливается с ошибкой:

WLC HTTP Transfer failure while storing in flash

это бага Cisco Bug: CSCuu40428.

На community.cisco.com нашелся ответ — используйте TFTP.

Через TFTP все прекрасно залилось и распаковалось. После нужно бутнуть контроллер, перезагруается он минуты 4.
Но wi-fi еще не работает, так как теперь вступают в работу точки, которые тянут с контроллера новую версию оси и обновляются.
Это тоже занимает некоторое непродолжительное время (смотря сколько у вас точек).

Перед тем, как заливать уже ось версии 8.5, нужно убедиться, что все точки подтянули себе версияю 8.3 и стали онлайн.
После этого можно проделывать аналогичную процедуру по переходу с версии 8.3 до версии 8.5.

Все работает.

Cisco: Переключение между двумя провайдерами

Краткая заметка о настройках автоматического переключения между основным и резервным провайдером. Дано:

ISP1: Gi9 299.9.9.9/24 gw:299.9.9.1
ISP2: Gi8 288.8.8.8/24 gw:288.8.8.1

LAN: 192.168.0.0/24

Настраиваем интерфейсы WAN:

interface GigabitEthernet9
description -= ISP1 =-
ip address 299.9.9.9 255.255.255.0
ip nat outside

interface GigabitEthernet8
description -= ISP2 =-
ip address 288.8.8.8 255.255.255.0
ip nat outside

Настраиваем интерфейс LAN:

interface Vlan1
description -= LAN =-
ip address 192.168.0.1 255.255.255.0
ip nat inside

Настраиваем acl для NAT:

ip access-list extended NAT_LAN
permit ip 192.168.0.0 0.0.0.255 any

Настраиваем route-map для NAT для двух провайдеров:

route-map NAT_ISP1 permit 10
match ip address NAT_LAN
match interface GigabitEthernet9

route-map NAT_ISP2 permit 10
match ip address NAT_LAN
match interface GigabitEthernet8

Настраиваем NAT:

ip nat inside source route-map NAT_ISP1 interface GigabitEthernet9 overload
ip nat inside source route-map NAT_ISP2 interface GigabitEthernet8 overload

Настраиваем ip sla для мониторинга доступности шлюза основного провайдера (ISP1):

ip sla 1
icmp-echo 299.9.9.1 source-ip 299.9.9.9
ip sla schedule 1 life forever start-time now

Настраиваем отслеживание состояния ip sla 1 для привязки его в дальнейшем к статическому маршруту:

track 1 ip sla 1

Прописываем 2 default route:

ip route 0.0.0.0 0.0.0.0 299.9.9.1 name DEFAULT-ISP1-MAIN track 1
ip route 0.0.0.0 0.0.0.0 288.8.8.1 10 name DEFAULT-ISP2-BACKUP

Основной маршрут по умолчанию — через ISP1 — только если шлюз ISP1 доступен. Если шлюз ISP1 недоступен (что мониторится посредством ip sla), этот маршрут по умолчанию пропадает с таблицы маршрутизации и включается резервный маршрут по умолчанию через ISP2.
Резервный маршрут по умолчанию — через ISP2 — имеет метрику 10 и включается в работу только лишь когда пропадает основной маршрут по умолчанию.
Когда основной шлюз ISP1 становится снова доступен, маршрут по умолчанию переключается обратно на него.

Cisco SPA112 и команды IVR

IVR (интерактивное голосовое меню) на АТА можно использовать для прослушивания и конфигурирования  некоторых параметров. Данные команды должны работать также на Cisco SPA 122, Linksys PAP2T, Linksys SPA2102 и, наверное, других похожих циско-линксисовских АТА.

Как начать пользоваться:

  1. Включаете шлюз в розетку
  2. Подключаете к line1 (или line2, без разницы) аналоговый телефон — телефон должен работать в тоновом режиме (это важно)
  3. Набираете на телефоне **** и слышите приветствие робоженщины  c IVR

-все, вы внутри, можно пользоваться, вводя различные команды с помощью цифр на телефоне.

# (pound) — обозначает завершение команды (ввод, энтер — по аналогии:-))

Чтобы выйти с меню, можно набрать 3948# или просто положить трубку

*(звездочка) — обозначает точку в параметрах, таких как ip-адрес, маска и т.д.

** — две звездочки, набранные  быстро подряд за полсекунды обозначают отмену введеного параметра

IVR действиеОпцияОписание
Войти в IVR меню****
Проверить метод адресации100
Установить метод адресации101DHCP: 0
Static IP: 1
PPPoE: Press 2
Проверить ip-адрес (Internet-port)110
Установить статический ip-адрес111Пример:
111# 192*168*15*2#
Проверить маску подсети120
Установить маску подсети121Пример:
121# 255*255*255*0#
Проверить ip-адрес шлюза130
Установить ip-адрес шлюза131Пример:
131# 192*168*15*1#
Проверить MAC-адрес140
Проверить версию прошивки150
Проверить Primary DNS-сервер160
Установить Primary DNS-сервер161Пример:
161# 192*168*15*100#
Проверить порт Web-интерфейса170
Разрешить или запретить доступ к веб-интерфейсу79321: Enable
0: Disable
Factory Reset of Unit
сброс всех недефолтных параметров
73738
(RESET)
Слушаем IVR, нажимаем 1 для подтверждения и * - для отмены.

После подтверждения услышим "Option successful", затем кладем трубку. АТА перезагрузится и станет девственно чист

NOTE: This action is equivalent to Pressing and holding the RESET button for 10 seconds.
Reboot of Voice System
Перезагрузка
732668
(REBOOT)
Как услышим "Option successful", кладем трубку.

NOTE: This action is equivalent to Pressing and immediately releasing the RESET button.
User Factory Reset of Unit
Сброс только пользовательских настроек
877778Слушаем IVR, нажимаем 1 для подтверждения и * - для отмены.

После подтверждения услышим "Option successful", затем кладем трубку. АТА перезагрузится

IVR чаще всего  нужен, чтобы:

  • включить веб-интерфейс
  • узнать ip-адрес
  • произвести сброс

Пример команды:

Узнать, какой на АТА ip-адрес:

**** 110#

Cisco ME 3400: Почему не ходит трафик между двумя портами

Кратко суть:

В цискосвитчах МЕ-серии (metro-ethernet) есть три типа портов: uni, nni и eni.

  • uni — user-network interface — для подключения конечных устройств (ПК, IP-телефоны)
  • nni — network node interface — для подключения роутеров и коммутаторов
  • eni — enhanced network interface — тоже для подключения роутеров и коммутаторов, но с дополнительными возможностями, такими, как: CDP, STP, LACP и т.д.

Так вот, по умолчанию, в 10/100-мегабитных портах установлен режим uni, а в аплинковых портах (SFP-шных 1G, например) — режим nni. И главная соль здесь вот где:

— uni порты могут передавать трафик только в nni.

Т.е. два устройства, включены в соседние 100М-порты одного коммутатора, находящиеся в одном влане не видят друг друга! и не могут обмениваться между собой информацией.

Решение проблемы:

установить два порта в режим nni (или комбинация uni+nni тоже будет работать)

switch#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
switch(config)#int Fa0/1
switch(config-if)#port-type nni

Тут также стоит заметить, что если у вас на циске образ «metro base» или «metro access», то сконфигурить в качестве nni можно только 4 порта, для «metro IP access» таких ограничений нет.

Не судите строго, возможно, для кого-то такие заковырки в настройке (типа так реализовывается секьюрность) являются очевидными, но я с Метро-эзернет свичами сталкиваюсь впервые.

Cisco 7940: мелкие неприятные грабли при работе c SIP

Все ниже написанное касается прошивки P0S3-8-12-00.

Вроде все правильно, но не регистрируется.

Грабля номер раз

Формат записи адреса Proxy-сервера, на котором телефон будет регистрироваться: если указываем доменное имя — заключаем в кавычки, если ip-адрес — кавычки убираем!

Правильно:

# Proxy Server
proxy1_address: "sip.pro-voip.com.ua"

Правильно:

# Proxy Server
proxy1_address:  10.10.10.111

Неправильно:

# Proxy Server
proxy1_address:  "10.10.10.111"

Симптомы — у меня телефон так не смог зарегистрироваться, хотя посылал запросы REGISTER на первый взгляд с правильными заголовками и на правильный ip-адрес сервера…

Грабля номер два

Это NAT. Чтобы телефон зарегистрировался за NAT’ом мне потребовалось:

  1. Отредактировать SIPDefault.cnf:
# NAT/Firewall Traversal
nat_enable: 1;                 0-Disabled (default), 1-Enabled
nat_address: "";               WAN IP address of NAT box (dotted IP or DNS A record only)
voip_control_port: 5060;       UDP port used for SIP messages (default - 5060)
start_media_port: 16384;       Start RTP range for media (default - 16384)
end_media_port: 16391;         End RTP range for media (default - 32766)
nat_received_processing: 1;    0-Disabled (default), 1-Enabled

2. На роутере выполнить проброс UDP-портов 5060 (sip) и 16384-16391 (rtp)

3. На роутере отключить SIP ALG (не везде он есть). На джунипере это делается командой:

set security alg sip disable

Cisco 7940: Файл диалплана dialplan.xml

Поскольку логику обработки вызовов проще организовать на ip-pbx, файл dialplan.xml является необязательным, но может внести некоторые полезные дополнительные функции, такие как автоматический набор и вторичный тоновый сигнал.

Файл dialplan.xml имеет следующую стркутуру:

где:

pattern может содержать: . (точка) для замены любого символа, * (звездочка) для замены одного или более символов, , (запятая) для генерации вторичного сигнала.
sec – время в секундах, после которого начинается набор.
type – может быть IP или Phone. Тэг, добавляемый к номеру, регистронезависим.
xxx – номер, который будет набираться вместо введенного пользователем при совпадении с pattern.
route – адрес прокси-сервера SIP, на который перенаправляется звонок, значение может быть default, emergency или имя прокси-сервера.
tone – если не задан, используется вторичный гудок по умолчанию, если стоит запятая и затем имя гудка, то проигрывает этот звук; без запятой гудок игнорируется.

Также можно указать решетку (#) и звездочку (*) как набираемые символы. По умолчанию # означает «набрать сейчас», не дожидаясь совпадения с шаблоном из номерного плана. * по умолчанию означает * или . в шаблоне (wildcard-символ).

В качестве вторичного гудка можно использовать следующие значения (после запятой): Bellcore-Alerting, Bellcore-dr5, Bellcore-Reorder, Bellcore-Busy, Bellcore-dr6, Bellcore-Stutter, Bellcore-BusyVerify, Bellcore-Hold, CallWaiting-2, Bellcore-CallWaiting, Bellcore-Inside, CallWaiting-3, Bellcore-Confirmation, Bellcore-None, CallWaiting-4, Bellcore-dr1, Bellcore-Outside (default), Cisco-BeepBonk, Bellcore-dr2, Bellcore-Permanent, Cisco-Zip, Bellcore-dr3, Bellcore-Reminder, Cisco-ZipZip, Bellcore-dr4.

К каждому правилу можно добавить <!— комментарий —> в конце каждой строки.

TIMEOUT=»0″ при совпадении паттерна, указывает сразу же отправить вызов на обработку — так реализуется вышеупомянутый автоматический набор.

<TEMPLATE MATCH=»1..» TIMEOUT=»0″ /> <!— Local Extensions —>

Например, набираем номер 110, подпадаем под первое правило и сразу идет вызов без дополнительных действий с нашей стороны, не нужно нажимать Dial или #.

Для звонков в другие страны будем использовать правило с паттерном 9,00* — пользователь поднимает трубку, слышит длинный гудок, набирает 9 — слышыт другой длинный  гудок (вторичный тоновый сигнал, это нам дает запятая в паттерне), затем номер, начинающийся с двух нулей (в Украине это код выхода на международную линию). Таймаут здесь уже не ставим 0, поскольку не указано точное колличество цифер, которые будут набраны.

<TEMPLATE MATCH=»9,00*» TIMEOUT=»10″ />

Номер в канал передается польностью — вместе в первой цифрой 9 — учитывайте это в диалплане на ip-pbx.

Cisco 7940: Обновление прошивки. Из SCCP в SIP

Особенности Cisco 7940

Питание: работает через POE. Если хотите отдельное питание на 220V, нужно докупить блок питания и шнур питания дополнительно.
Протокол: заточен под работу с Cisco Call Manager, дефолтная прошивка идет с SCCP протоколом, если нужен SIP — нужно заливать прошивку с SIP. Также есть прошивки с MGCP протоколом, если кто-то его использует.
Апгрейд и конфигурирование: производится через tftp — в корень tftp-сервера заливаем файл прошивки и конфигурационные файлы, а циске сообщаем адрес этого tftp-сервера

 

Получение файлов

Для начала файлы SIP-прошивки нужно получить. На сайте cisco.com они есть, но они залочены для обычного зарегистрированного пользователя, нужно либо иметь контракты на обслуживание компании, или связывать аккаунт с серийными номерами ваших цисковских продуктов, в общем нужно показать, что вы у циски что-либо приобрели и имеете право на поддержку.

 

Подготовка телефона

Обновление прошивки производится посредством TFTP-сервера. Сам циско-фон нужно сбросить, настроить сетевые параметры (ip/маска/шлюз) и указать адрес TFTP-сервера. Это можно сделать с помощью DHCP-сервера или прописать вручную через меню телефона.

 

Сброс и подготовительная настройка параметров телефона

Сначала разблокировать конфиг:

Settings — > Unlock config
пароль cisco (это пароль по умолчанию, но его могли поменять)

Сброс:

Settings -> Network Setup -> Erase Configuration:YES

уйдет в ребут.

После этого телефон пробует получить сетевые настройки и адрес TFTP от DHCP-сервера. Если DHCP-сервер не используется, настраиваем вручную.

 

Настройка DHCP-сервера

Пример настройки isc-dhcp на FreeBSD

/usr/local/etc/dhcpd.conf

# phones
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.101 192.168.1.149;
option routers 192.168.1.1;
option tftp-server-name «192.168.1.2»;
}

Значение опции tftp-server-name указываем в кавычках (потому что это строка), иначе вернет ошибку:

/usr/local/etc/dhcpd.conf line 29: expecting string.
option tftp-server-name 192.

 

Ручная настройка параметров телефона

Используем, если нет DHCP-сервера. Сначала снова разблокируем конфиг:

Settings — > Unlock config

Отключаем DHCP:

Settings — > Network Setup ->DHCP Enabled: NO

затем можно редактировать настройки ip/mask/gw и адрес tftp-сервера

 

Файлы прошивки и конфигурационные файлы на TFTP

В директории tftp должны оказаться следующие файлы:

  • OS79XX.TXT (необязательно с 8-й версии)
  • XMLDefault.cnf.xml (если есть SEP<mac>.cnf.xml, вроде как необязательно его создавать)
  • SEP<mac>.cnf.xml
  • P0S3-8-12-00.loads
  • P0S3-8-12-00.sb2
  • P003-8-12-00.bin
  • P003-8-12-00.sbn
  • SIPDefault.cnf
  • SIP<mac>.cnf
  • dialplan.xml (необязательно)
  • RINGLIST.DAT (необязательно)

 

OS79XX.TXT

это файл Dual-boot, в нем указывается, какую версию прошивки загрузить (имеется в виду не релиз, а выбор протокола — SCCP, SIP или MGCP). С 8-й версии прошивки он уже не нужен.

Имя файла OS79XX.TXT чувствительно к регистру и может содержать только имя загружаемого файла без расширения .bin. К примеру, при загрузке ПО SIP версии 2.3 в его имени должна присутствовать только строка P0S30203. Если нужно загрузить ПО версий 3.0 и позднее, имя файла должно находиться в формате P0S3-xx-y-zz. К примеру, при загрузке ПО SIP версии 7.4 в имени файла OS79XX.TXT должна присутствовать строка P0S3-07-4-00.
(c) cisco.com

 

XMLDefault.cnf.xml

файл для определения версии прошивки, которую нужно загрузить

 

SEP<mac>.cnf.xml

файл для определения версии прошивки, которую нужно загрузить. Если версия, указанная в этом файле отличается от версии на флеше телефона, телефон загружает новую прошивку.

 

SIPDefault.cnf

конфигурационный файл для SIP, в нем указываются общие настройки

 

SIP<mac>.cnf

конфигурационный файл для SIP, в котором указываются настройки, специфичные для конкретного телефона. Параметры, указанные здесь, перезаписывают параметры, указанные в SIPDefault.xml. Здесь можно указывать не только логин/екстеншен/пароль для подключения, а любые значения, которые присутствуют в SIPDefault.

 

dialplan.xml (необязательно)

файл диалплана.

 

RINGLIST.DAT (необязательно)

Листинг аудио-файлов, которые могут использоваться как мелодии звонков. Эти аудио-файлы также должны находиться на tftp

 

Ну и необходимые бинарники, без них «кина не будет»:

P0S3-8-12-00.loads
P0S3-8-12-00.sb2
P003-8-12-00.bin
P003-8-12-00.sbn

Скачать прошивку можно здесь, а примеры конфигурационных файлов здесь.

 

Полезные ссылки

http://www.voip-info.org/wiki/view/Asterisk+phone+cisco+79xx

Cisco 7940: Конфигурацианные файлы SIPDefault.cnf и SIPXXXXYYYYZZZZ.cnf

tftp-сервер нам жизненно необходим только при обновлении прошивки. Для конфигурирования телефонов tftp — удобная, но не обязательная вещь.

Т.е. можно единожды настроить телефон вручную или через tftp и убрать tftp (или убрать cnf-файлы с tftp, или закрыть доступ к tftp), и перенести телефон в сеть к пользователю, где tftp не будет.

Когда телефон включается, он сначала идет на tftp-сервер за конфигурационными файлами (если они есть), а если не находит, то загружает параметры, сохраненные локально в его флеш-памяти.

С tftp телефон загружает  следующие файлы:
сначала:
SIPDefault.cnf — дефолтный конфигурационный файл
затем:
SIPXXXXYYYYZZZZ.cnf — phone-specific конфигурационный файл — для конкретного телефона с MAC-адресом SIPXXXXYYYYZZZZ. MAC-адрес записывается в верхнем регистре, расширение .cnf — в нижнем.

 

Параметры, указанные в SIPXXXXYYYYZZZZ.cnf, перезаписывают параметры, указанные в SIPDefault.xml. В SIPXXXXYYYYZZZZ.cnf можно указывать не только логин/екстеншен/пароль для подключения, а любые значения, которые присутствуют в SIPDefault.cnf.

 

Правила записи переменных

Переменные в конфигурационных файлах имеют следующий формат:

variable-name : value ; optional comments

  • одна переменная — одно значение;
  • разделяем переменные и значения двоеточием;
  • на одну строку одна пара переменная:значение, пару не разрываем (не переносим «значение» в следующую строку);
  • можно ставить пробелы перед/после переменных и значений. Если нужен пробел в значении, заключаем значение в кавычки одинарные или двойные. Открывающие и закрывающие кавычки должны быть одинаковыми — либо одинарными, либо двойными;
  • для комментариев используются ; или #
  • строки могут быть пустыми, или с комментариями;
  • названия переменных — регистроНЕзависимые.

Примеры файлов конфигурации для настройки SIP-протокола на телефонах Cisco 7940 (взяты с сайта cisco):

SIPDefault.cnf — файл с общими параметрами SIP, применяемый ко всем телефонам (скачать)
SIPXXXXYYYYZZZZ.cnf — файл в настройками конкретного телефона (скачать)

 

SIPDefault.cnf


 

SIPXXXXYYYYZZZZ.cnf


 

 

Cisco: L2TP-IPSEC на Cisco 2811

http://pro-voip.com.ua cisco

L2TP создает туннель между двумя точками — в нашем случае (Remote Access VPN) клиента и сервера — но не производит шифрование. Для обеспечения шифрования данных, передаваемых в туннеле L2TP, используем IPSec.

 

 

http://pro-voip.com.ua cisco l2tp ipsec

 

 

Настройка L2TP

Алгоритм поднятия L2TP-туннеля на Cisco почти такой же, как алгоритм поднятия PPTP-туннеля, отличается только сам протокол — вместо pptp, указываем l2tp, что вполне логично.

1. vpdn
— глобально включаем vpdn:

Router(config)#vpdn enable

2. vpdn-group
— создаем и настраиваем vpdn-группу:

Router(config)#vpdn-group L2TP-IPSEC
Router(config-vpdn)#accept-dialin
Router(config-vpdn-acc-in)#protocol l2tp
Router(config-vpdn-acc-in)#virtual-template 3

3. interface virtual-template
— создаем и настраиваем шаблон виртуального интерфейса:

Router(config)#interface virtual-template 3
Router(config-if)# ip unnumbered FastEthernet0/0
Router(config-if)#peer default ip address pool L2TP-IPSEC-POOL
Router(config-if)#encapsulation ppp

4. ip local pool
— создаем пул адресов, которые будут выдаваться при поднятии туннеля:

Router(config)#ip local pool L2TP-IPSEC-POOL 50.50.50.1 50.50.50.15

5. username
— создаем пользователя:

Router(config)#aaa new-model
Router(config)#aaa authentication ppp default local
Router(config)#aaa authorization network default local
Router(config)#username vpn password strong_pass

 

Настройка IPSec

IPSec — это не протокол, а стандарт, состоящий из 3 протоколов:

  • ESP (Encapsulating Security Payload)  шифрует данные
  • AH (Authentication Header) отвечает за аутентификацию источника и проверку целостности данных
  • IKE (Internet Key Exchange protocol) используется для согласования параметров и создания защищенного туннеля

Процесс согласования параметров и создания туннеля происходит в 2 этапа — первая и вторая фаза IKE. В результате работы IKE создается 2 туннеля — ISAKMP-туннель и, собственно, защищенный туннель для передачи данных. ISAKMP-туннель после второй фазы IKE не разрывается, он служит для обновления ключей шифрования основного канала (ключи обновляются каждые N секунд, время обновления можно задать в настройках isakmp policy командой lifetime)

 

При первой фазе IKE стороны «меряются» ISAKMP-полисями, поэтому первым делом…

1. crypto isakmp policy
— создаем ISAKMP policy

ISAKMP policy используется для создания ISAKMP Tunnel при первой фазе IKE. Уже по ISAKMP туннелю стороны договариваются об SA (Security Association) основного шифрованого канала (метод шифрования, ключи). Создание второго туннеля уже для шифрования данных — это вторая фаза IKE.

Чем меньше номер policy, тем она приоритетнее. Если сторонам не удалось согласовать параметры для построения ISAKMP туннеля, используя политику, например, 10, то они переходят к согласованию, используя политику 20 и т.д.

  • номер политики — 10
  • алгоритм шифрования — 3des
  • метод аутентификации — pre-shared keys
  • задаем длину ключа — Diffie-Hellman (DH) группа 2 — 1024 bit
  • алгоритм хеширования — md5
  • время жизни ключа шифрования — 3600 сек — 1 час, после истечения lifetime ключ меняется
Router(config)#crypto isakmp policy 10
Router(config-isakmp)#encryption 3des
Router(config-isakmp)#authentication pre-share
Router(config-isakmp)#group 2
Router(config-isakmp)#hash md5
Router(config-isakmp)#lifetime 3600

 

2. crypto isakmp key
— создаем pre-shared key, который используется для создания ISAKMP-туннеля:

Router(config)#crypto isakmp key cisco address 0.0.0.0 0.0.0.0 no-xauth
Router(config)#crypto isakmp keepalive 3600

Смотрим параметры новосозданной ISAKMP-полиси:

Router#show crypto isakmp policy

Global IKE policy
Protection suite of priority 10
encryption algorithm:    Three key triple DES
hash algorithm:        Message Digest 5
authentication method:    Pre-Shared Key
Diffie-Hellman group:    #2 (1024 bit)
lifetime:        3600 seconds, no volume limit
Router#show crypto isakmp key
Keyring      Hostname/Address                            Preshared Key

default      0.0.0.0        [0.0.0.0]                    cisco

 

При второй фазе IKE для создания туннеля для шифрованых данных стороны «меряются» transform-set’ами

3. crypto ipsec transform-set
— cоздаем transform-set  — набор протоколов, которые поддерживает сторона для установления IPSEC. transform-set определяет, как будут шифроваться данные:

Router(config)#crypto ipsec transform-set 3DES-MD5 esp-3des esp-md5-hmac
Router(cfg-crypto-trans)#mode transport

Есть два режима работы IPSec:

  • туннельный (он включен по умолчанию) — шифруются данные вместе с ip-заголовками
  • транспортный — шифруются только данные

Для работы совместо с L2TP нам нужен транспортный режим, что мы и задаем в настройка transform-set’a командой mode transport

 

4. crypto dynamic-map
— создаем динамическую карту шифрования, назовем ее, например, 3DES-MD5-DYNMAP, и к ней привязываем transform-set:

Router(config)#crypto dynamic-map 3DES-MD5-DYNMAP 10
Router(config-crypto-map)#set transform-set 3DES-MD5

5. crypto-map

— создаем статическую карту шифрования, связываем динамическую карту шифрования со статической:

Router(config)#crypto map 3DES-MD5-MAP 10 ipsec-isakmp dynamic 3DES-MD5-DYNMAP

6. interface
— привязываем статическую карту шифрования к интерфейсу:

Router(config)#interface fastEthernet 0/0
Router(config-subif)#crypto map 3DES-MD5-MAP

*Jun 16 11:46:56.183: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ONip

 

При подключении к L2TP/IPSec в VPN-клиенте помимо ip-адреса сервера, логина и пароля, нужно указать ключ (Shared Secret). Этот ключ мы задавали командой crypto isakmp key, в моем примере ключ cisco.

Cisco: PPTP-сервер на Cisco 2811

http://pro-voip.com.ua cisco

PPTP (Point-to-Point Tunneling Protocol) — туннельный протокол типа точка-точка, позволяющий компьютеру устанавливать защищённое соединение с сервером за счёт создания специального туннеля в стандартной, незащищённой сети. (c) wiki

VPDN (Virtual Private Dialup Network)

Сценарий 1

Подключаемся к PPTP-серверу, получаем отдельный белый ip и с этим ip выходим в интернет.
Получается, что на каждое подключение — свой белый ip-адрес.
На стороне провайдера необходим маршрут в нашу сеть, которая выдается для PPTP.

 

 

cisco-pptp-scenario1

 

 

1. Включаем VPDN

Router(config)#vpdn enable

2. Создаем VPDN-группу

Заходим в режим конфигурации VPDN-группы:

  • разрешаем входящие «dial-in» запросы
  • указываем протокол pptp
  • определяем шаблон, который будем использовать при создании виртуального интерфейса
Router(config)#vpdn-group VPN-1
Router(config-vpdn)#accept-dialin
Router(config-vpdn-acc-in)#protocol pptp
Router(config-vpdn-acc-in)#virtual-template 1

3. Создаем virtual-template для VPDN-группы 

При подключении пользователя к PPTP-серверу создается Virtual-Access-интерфейс.  Virtual-Access-интерфейс клонируется с Virtual-Template-интерфейса (с шаблона).

Создаем шаблон virtual-template и настраиваем параметры будущего виртуального интерфейса:

  • задаем инкапсуляцию ppp
  • список адресов, назначаемых виртуальному интерфейсу выделяется динамически с пула VPN-POOL-1
  • задаем реальный интерфейс, который клонируем в виртуальный
  • отключаем keepalive
  • задаем параметры ppp — шифрование (encrypt) и перечисляем возможные методы аутентификации (authentication)
Router(config)#interface virtual-template 1
Router(config-if)#encapsulation ppp
Router(config-if)#peer default ip address pool VPN-POOL-1
Router(config-if)#ip unnumbered FastEthernet 0/0
Router(config-if)#no keepalive
Router(config-if)#ppp encrypt mppe auto
Router(config-if)#ppp authentication pap chap ms-chap ms-chap-v2

4. Создаем пул адресов VPN

Router(config)#ip local pool VPN-POOL-1 50.50.50.1 50.50.50.15

5. Создаем пользователя

  • включаем aaa new-model (если еще не включена)
  • ppp аутентификация и авторизация будет производиться с использованием локальной базы пользователей
  • добавляем пользователя
Router(config)#aaa new-model
Router(config)#aaa authentication ppp default local
Router(config)#aaa authorization network default local
Router(config)#username vpn password strong_pass

 


 

Сценарий 2

Если нет отдельной сети белых ip-адресов для VPN-пула, можно использовать сеть серых адресов + NAT

Подключаемся к PPTP-серверу, серый ip, NAT’им «серый» ip в «белый» и с «белым» ip выходим в интернет.
В итоге на все подключения — 1 «белый» ip.

 

 

cisco-pptp-scenario2

 

 

1. Включаем VPDN

Router(config)#vpdn enable

2. Создаем VPDN-группу

Router(config)#vpdn-group VPN-2
Router(config-vpdn)#accept-dialin
Router(config-vpdn-acc-in)#protocol pptp
Router(config-vpdn-acc-in)#virtual-template 2

3. Создаем virtual-template для VPDN-группы 

+ NAT

! NAT включаем на Virtual-Template -интерфейсе, а не на реальном FastEthernet0/0:

Router(config)#interface virtual-template 2
Router(config-if)#encapsulation ppp
Router(config-if)#peer default ip address pool VPN-POOL-2
Router(config-if)#ip unnumbered FastEthernet 0/0
Router(config-if)#no keepalive
Router(config-if)#ppp encrypt mppe auto
Router(config-if)#ppp authentication pap chap ms-chap ms-chap-v2

Router(config-if)#ip nat enable
Router(config-if)#ip nat inside

4. Создаем пул адресов VPN

Router(config)#ip local pool VPN-POOL-2 192.168.1.1 192.168.1.254

5. Создаем пользователя

Router(config)#aaa new-model
Router(config)#aaa authentication ppp default local
Router(config)#aaa authorization network default local
Router(config)#username vpn password strong_pass

6. Завершаем настройку NAT

+ NAT

nat inside — виртуальный интерфейс
nat outside — реальный интерфейс Fa0/1

Router(config)#interface FastEthernet0/1
Router(config-subif)#ip nat enable
Router(config-subif)#ip nat outside

C помощью стандартного access-list 1 указываем какую сеть натить и в какой интерфейс:

Router(config)#access-list 1 permit 192.168.1.0 0.0.0.255
Router(config)#ip nat inside source list 1 interface FastEthernet0/1 overload

 


 

Дополнение

Если настроить на Cisco оба вышеописаных сценария, Cisco ругнется, что у нас две VPDN-группы с одинаковой конфигурацией:

% Warning, the vpdn groups VPN-1 and VPN-2 have the same configuration

— указан один и тот же протокол — pptp

И правильно ругнется —  когда пользователь будет подключаться по PPTP, как циске выбрать, к какой группе этого пользователя прилепить — VPN-1 или VPN-2 ? Работать PPTP-сервер в таком случае будет, но будет активной только одна VPDN-группа — та, которая была создана первой, т.е. VPN-1.

Если все-таки нужно несколько групп, можно поступить следующим образом: для подключения к разным VPDN-группам нужно использовать разные ip-адреса интерфейсов cisco для pptp-сервера:

Router(config)#vpdn-group VPN-1
Router(config-vpdn)#source-ip 10.10.10.1