среда, 30 июля 2014 г.

FlexVPN simple configuration

А почему, нет. Уже в 2012 году в Сан-Диего анонс был, пора начинать потихоньку.



Дано: Топология на рисунке. Задача сходна с DMVPN, нужно получить объединение в виртуальную LAN.

Решение:


воскресенье, 27 июля 2014 г.

SLA 24/7/365 with BGP dual way

Недавно разработывал комплексное решение в том числе  с  BGP, и вспомнил, что упоминался способ организации 24/7/365 доступности сервисов с помощью BGP. Особых пояснений тут не требуется.
P.S.  IOS 15.1(4) M2 имеет проблемы  в работе с  BGP.


Как всегда кусок топологии от другого проекта на скорую руку :)
Никаких излишеств, только демонстрация принципа.

Дано: 
Искомая AS1. Border routers CE1 CE2. Внешний IP их совпадает. BGP настроен тривиально просто без излишеств.

Решение:
Если CE1 анносировался первым, то таблица маршрутизации P роутера:

100.0.0.0/30 is subnetted, 3 subnets
B        100.1.1.0 [20/0] via 201.0.0.2, 00:07:03
B        100.1.1.4 [20/0] via 201.0.0.2, 00:10:10
B        100.1.1.8 [20/0] via 202.0.0.2, 00:01:19
      201.0.0.0/24 is variably subnetted, 2 subnets, 2 masks
C        201.0.0.0/30 is directly connected, FastEthernet1/0
L        201.0.0.1/32 is directly connected, FastEthernet1/0
      202.0.0.0/24 is variably subnetted, 2 subnets, 2 masks
C        202.0.0.0/30 is directly connected, FastEthernet1/1
L        202.0.0.1/32 is directly connected, FastEthernet1/1
R2#
При падении линка или маршрутизации до CE1 зоны 10001, таблица маршрутизации перестроится на СЕ2. Правда это потребует "значительного" времени согласно таймерам BGP. Таблица маршрутизации роутера Р после перестройки маршрутизации станет такой.

      100.0.0.0/30 is subnetted, 3 subnets
B        100.1.1.0 [20/0] via 202.0.0.2, 00:01:16
B        100.1.1.4 [20/0] via 201.0.0.2, 00:19:18
B        100.1.1.8 [20/0] via 202.0.0.2, 00:01:16
      201.0.0.0/24 is variably subnetted, 2 subnets, 2 masks
C        201.0.0.0/30 is directly connected, FastEthernet1/0
L        201.0.0.1/32 is directly connected, FastEthernet1/0
      202.0.0.0/24 is variably subnetted, 2 subnets, 2 masks
C        202.0.0.0/30 is directly connected, FastEthernet1/1
L        202.0.0.1/32 is directly connected, FastEthernet1/1
Это простое, с виду, решение на самом деле открывает приличный простор для комбинирования решений.

среда, 16 июля 2014 г.

Cisco syslog и syslog-ng под Debian

Итак, перейдём к одной из самых важных компонент мониторинга и поддержки сетевого периметра вместе с модулями сети. Это логирование сообщений на удалённый хост с cisco с помощью syslog-сервера.
В качестве simple примера который не претендует на оперативность и вообще ответа, т.е. является только частью M от MARC ( не путайте с цисковским MARS)-- решение syslog-ng поднятое под дебиан, 100% дёшево и сердито, а главное работает, но как в тайге.

1) Установка и настройка SYSLOG-NG

Как обычно ставим из менеджера пакетов, ибо он входит в стандартный набор.

Вкатываем в конфиг файл по адресу:
/etс/syslog-ng/syslog-ng.conf

Следующую начинку:

Файл для хранения логов
destination d_cisco { file("/var/log/cisco.log"); };
  Фильтры по критериям
filter f_cisco_info { level(info); };
filter f_cisco_notice { level(notice); };
filter f_cisco_warn { level(warn); };
filter f_cisco_crit { level(crit); };
filter f_cisco_err { level(err); };
  В куда класть
log { source(net); filter(f_cisco_info); destination(d_cisco); };
log { source(net); filter(f_cisco_notice); destination(d_cisco); };
log { source(net); filter(f_cisco_warn); destination(d_cisco); };
log { source(net); filter(f_cisco_crit); destination(d_cisco); };
log { source(net); filter(f_cisco_err); destination(d_cisco); };
 Источник приёма данных
source net { udp(ip(0.0.0.0) port(514)); };
2) Настройка cisco

Указываем хост логирования, уровень логирования и сервис нумерации сообщений ( на всякий случай)

logging 13.18.10.4

logging trap informational

service sequence-numbers


3) Результат

В файле по адресу /var/log/cisco.log благополучно находите свои syslog сообщения свитча/роутера. Всё вроде бы хорошо, но есть одна проблема, сообщения от роутеров будут валиться в одну и ту же малину, что создаст, в конечном итоге,  невероятный бардак в этом файле. Как вариант решения можно использовать для каждого роутера разные порты, например, и раскладывать их в разные файлы, с совпадающими номерами портов и номеров файлов в названии, оно опробовано и работает.

Однако, если хочется внедрить хорошее комлексное продакшн решение в плане мониторинга, то у меня осталось очень положительное мнение о PRTG. Установка из коробки, куча разноообразных сенсоров, интуитивно сразу понятный интерфейс, всё необходимое сразу под рукой, графики и сводки выдаёт не запинаясь, единственное -- он платный больше чем за 10 сенсоров. Очень платный. Судя по свежему прайсу просто ахрененно платный.Но, как говорится, кому и буханка хлеба дорого, кому-то и яхта на сдачу. Однако хорошие вещи дешёво не стоят -- тоже факт.

понедельник, 14 июля 2014 г.

Гипотеза чёрной королевы

— У нас, — сказала Алиса, с трудом переводя дух, — когда долго бежишь со всех ног, непременно попадёшь в другое место.
 — Какая медлительная страна! — вскричала Королева. — Ну а здесь, знаешь ли, приходится бежать со всех ног, чтобы только остаться на том же месте, а чтобы попасть в другое место нужно бежать вдвое быстрее. 
Л. Кэррол.

Увидел сегодня старую побитую проржавевшую тачку, и мне вспомнился один разговор в июне.
Стоят трое человек перед старой, разбитой машиной и думают:
1) Какая рухлядь, фу, ни за что на ней не поеду
2) Пофиг, если едет значит едет, буду ездить
3) Видит перед собой произведение искусства, филигранные формы, отточенные боковые линии спойлеров, логотипы огня по бокам, мощные воздухозаборники, слышит наяву рёв двигателя и затем  воплощает это в жизнь.

Сдаётся мне, админы деляться по классам точно так же. Спасибо Тимофей, ты стал моим человеком июня.

Cisco SNMP в связке с Zabbix

Всё руки не доходили сразу затолкать пост после оформления brief. Решил сегодня добить чтобы не глаза не мозолил, а то валяется который год в черновиках. Поднял чистый Zabbix для скриншотов и собрал к нему топологию

Итак Cisco и Zabbix. Без долгих вступлений.
Крайне рекомендую к полному прочтению сначала RFC по SNMP.
Затем вот это
http://www.cisco.com/c/en/us/td/docs/ios-xml/ios/snmp/configuration/12-4t/snmp-12-4t-book.pdf
чтобы понимать общие принципы, кто про что и зачем вообще встал с дивана.

1) Включаем snmp для снятия данных с агента на cisco (stimcom это своеобразный ключ аутентификации, может быть любым, но должен совпадать на zabbix и cisco )
snmp-server community stimcom RO

Опционально можно сразу включить трапы ( если нужно конечно )

snmp-server enable traps 

snmp-server host 10.0.2.100 version 2c stimcom

2)  Нужно получить OID нужного компонента для снятия данных Zabbix'ом. Поскольку с актуализацией данных по cisco -- это НЕВЕРОЯТНЫЙ бардак, зная первоосновы можно пойти деревянным путём.

Чавкаем запрос с Zabbix тачки в сторону роутера, заодно проверяя, что есть контакт и вторая версия snmp на ней поддерживается корректно.

snmpwalk -v2c -c stimcom 10.0.1.1


если лог полетел значит всё хорошо
ждём нужного куска и находим нужный нам элемент
Например ifInOctets.4 на моей циске для снятия скорости передачи данных

zabbix# snmpget -v 2c -On -c stimcom 10.0.2.1 ifInOctets.4

.1.3.6.1.2.1.2.2.1.10.4 = Counter32: 88920305

zabbix#

Вторая строчка в ответ на запрос покажет нам искомый OID.

или загрузку ЦПУ например можно подставить
.1.3.6.1.4.1.9.2.1.56.0 - загрузка CPU в среднем за за 5 секунд.
.1.3.6.1.4.1.9.2.1.57.0 - загрузка CPU в среднем за за 60 секунд.
.1.3.6.1.4.1.9.2.1.58.0 - загрузка CPU в среднем за 5 минут.
на одних роутерах данные будут верны, на других неверны, копается в этой помойке каждый сам, и ни одна организация порядок навести не хочет, так что хаос торжествует во всей красе.

3)  Дальше нам нужно в zabbix , в свойствах hosts составить Item

Затем там же Graphs


И насладиться мега графиком в Monitorings --> Graphs


воскресенье, 13 июля 2014 г.

DMVPN DualHUB(Dual_ISP) Spoke1(Dual_ISP)



Данное продакш решение демонстрирует возможности построения логических модулей и является одним из фундаментальных блоков для решения множества задач. Написано уже давно лично мной без чьей-либо помощи, и является моей привычной средой уровня работы.
Все элементарные-базовые концептуальные решения заимствованы из гугла, и цисковких манов. Спасибо так же более "старшим" неизвестным мне коллегам, у которых можно было увидеть базовые применения по EEM в пределах одного оператора.
Надеюсь, что и мои записи так же помогут неизвестным мне начинающим коллегам.

В данном рассмотрении уделено особое внимание связке HUB1-Spoke1, как выделения его в модуль решения. Всё остальные связки делают по аналогии пользуясь этим же решением или комплектом более простых.

1) Задаём IP адреса на интерфейсы(пропущено) и прописываем маршрутизацию
ПоказатьСкрыть
2) Настраиваем mGRE и маршрутизацию
ПоказатьСкрыть

3) На данном этапе надо решить задачку по экономии трафика подключив логический модуль
ПоказатьСкрыть
4) И дошлифуем шифрованием
ПоказатьСкрыть
5) "Пилите, Шура, пилите! Они золотые!"
ПоказатьСкрыть