четверг, 26 декабря 2013 г.

EEM, IP SLA, TRACK, VERIFY-REACHABILITY in Catalyst 4500

Нужно часть трафика перекинуть на прокси-сервер. Если сервер падает, нужно пускать трафик мимо него. В ядре стоит коммутатор Catalyst 4900M  с лицензией IP Services. Несмотря на лицензию, функционал EEM и PBR на коммутаторах урезан. В EEM нельзя привязать событие к track, в route-map при установке next-hop нельзя проверять доступность, используя IP SLA. Для себя решил это, находя соответствие определенному шаблону в syslog.

!
interface Vlan31
 ip address 10.6.100.50 255.255.255.252
!
interface Port-channel11
 ip address 10.6.100.1 255.255.255.252
 ip policy route-map PBR
!
ip access-list extended USERS-SUBNETS
 permit ip host 10.6.112.101 any
 permit ip host 10.6.112.85 any
 permit ip host 10.6.13.12 any
!
ip sla 12
 icmp-echo 10.6.100.49 source-interface Vlan31
 threshold 3000
 frequency 10
ip sla schedule 12 life forever start-time now
!
track 12 ip sla 12
 delay down 30
!
route-map PBR permit 10
 match ip address USERS-SUBNETS
 set ip next-hop 10.6.100.49
route-map PBR deny 100
!
event manager applet KERIO-UP
 event syslog pattern "%TRACKING-5-STATE: 12 ip sla 12 state Down->Up"
 action 1.0 syslog msg "KERIO-UP"
 action 2.0 cli command "enable"
 action 3.0 cli command "config t"
 action 3.2 cli command "interface Port-channel11"
 action 3.3 cli command "ip policy route-map PBR"
 action 3.4 cli command "exit"
event manager applet KERIODOWN
 event syslog pattern "%TRACKING-5-STATE: 12 ip sla 12 state Up->Down"
 action 1.0 syslog msg "KERIO-DOWN"
 action 2.0 cli command "enable"
 action 3.0 cli command "config t"
 action 3.2 cli command "interface Port-channel11"
 action 3.3 cli command "no ip policy route-map PBR"
 action 3.4 cli command "exit"
!

суббота, 7 декабря 2013 г.

Easy VPN Server and Remote hardware client

Готовлюсь к экзамену 642-637 SECURE. Все лабораторные работы проходили спокойно и по расписанию. Все понятно. Но тут дошло дело до Easy VPN. Название не предвещает ничего плохого, наоборот, говорит о том, что это «легко». Не тут то было. Настроить сервер через CLI в IOS для подключения программного клиента из Windows не составило большого труда, хотя конфигурация в количестве строчек выглядит внушительно. Проблемы начались, когда я подошел к конфигурации «сервер – аппаратный клиент». В рамках экзамена SECURE я рассматриваю соединение двух IOS устройств. Несмотря на то, что в офисе имеется два 2911, я решил реализовать схемы лабораторных работ в GNS.
Итак, изучив теорию, поняв, какие параметры IKE устраивают программные клиенты, какие подходят для аппаратных, я решил запустить простую схему сервер клиент. Уточню, что клиент находится в режиме «network-extension». Схема указана на рисунке ниже. В данном случае я столкнулся с проблемой, что клиент не помещает маршрут на приватную сеть сервера VPN в таблицу маршрутизации, хотя в split-tunnel она приезжает. Для того чтобы частная сеть клиента видела частную сеть сервера на маршрутизаторе клиента необходимо прописать статический маршрут на сеть сервера через внешний интерфейс. На этом интерфейсе уже есть карта шифрования, которая подхватит пакеты с нужным адресом назначения и завернет их в туннель.

Не буду приводить тут выводы дебагов, пингов и трасс. Это всё вам придется исследовать самостоятельно. Тут я положу схему сети и конфиги маршрутизаторов из GNS. Для этих экспериментов я использовал образ «c3745-adventerprisek9-mz.124-15.T14».

четверг, 28 ноября 2013 г.

Cisco IOS SSL VPN Configuration Guide

Как создается IPSEC туннель, примеры Cisco IOS

Готовлюсь к экзамену 642-637 Secure. Читаю одноименную книжку. Теперь всё ясно и понятно про IPSec и GRE. Зарисовки из конфигов рутеров в GNS.

IKE фаза 1 (Main mode or Aggressive mode)
1. Negotiate phase (согласование опций)
1.1 Hashing: MD5, SHA
1.2 Authentikation: PSK, RSA Sigs
1.3 Group (DH): 1,2,5
1.4 Lifetime of tunnel wo traffic seconds
1.5 Encryption: DES, 3DES, AES
2. Setup Keys (DH)
3. Authenticate
4. IKE phase 1 SA/tunnel ready


IKE фаза 2
1. Negotiate phase 2 (Quick mode)
1.1 Hashing: MD5/SHA HMAC
1.2 (Already authenticated)
1.3 Group/PFS (DH) Можно выбрать ещё раз
1.4 Lifetime: time or data (для туннеля 2)
1.5 Encryption
2. IKE phate 2 SA/Tunnel ready


---
Вариант 1 - обычный IPsec


!
crypto isakmp policy 100
encr aes
authentication pre-share
group 5
lifetime 360
crypto isakmp key GnsTest address 172.16.2.2
!
!
crypto ipsec transform-set GNSTEST esp-aes esp-sha-hmac
!
crypto map GNS-CM 10 ipsec-isakmp
set peer 172.16.2.2
match address 101
!
!

среда, 9 октября 2013 г.

Полезные команды Linux на одном листе

Оригинал тут - http://www.f-notes.info/linux:linux_command

КомандаОписание
Системная информация
archотобразить архитектуру компьютера
uname -m
uname -rотобразить используемую версию ядра
dmidecode -qпоказать аппаратные системные компоненты - (SMBIOS / DMI)
hdparm -i /dev/hdaвывести характеристики жесткого диска
hdparm -tT /dev/sdaпротестировать производительность чтения данных с жесткого диска
cat /proc/cpuinfoотобразить информацию о процессоре
cat /proc/interruptsпоказать прерывания
cat /proc/meminfoпроверить использование памяти
cat /proc/swapsпоказать файл(ы) подкачки
cat /proc/versionвывести версию ядра
cat /proc/net/devпоказать сетевые интерфейсы и статистику по ним
cat /proc/mountsотобразить смонтированные файловые системы
lspci -tvпоказать в виде дерева PCI устройства
lsusb -tvпоказать в виде дерева USB устройства
dateвывести системную дату
cal 2007вывести таблицу-календарь 2007-го года
date 041217002007.00установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
clock -w

понедельник, 30 сентября 2013 г.

ASA URL Filtering

Оригинал тут - https://supportforums.cisco.com/docs/DOC-1268

Introduction

One of the ASA features is url filtering. It can be used to block or allow users from going to certain urls/websites. This article aims to educate the user on how to use this feature. After reading it carefully someone should be able to take full advantage of url filtering and use it for his needs.

In this article we will either block or allow domains in urls and words in the uri. Of course the ASA can match on other things too. They can be found in the ASA configuration guides. From now and onwards we will allow or block the cisco.com domain. In other words, any user browsing to any page that is behind cisco.com will be subject to url filtering. Such pages would be www.cisco.com/index.html or cisco.com/exampledir/page.html. Also, we will allow or block "/test/" in the uri. In other words, any page path that contains "/test/" will be url filtered. Examples are www.examplesite.com/exampledir/test/page.html or www.anyurl.com/test/examplepage.jsp or www.anything.com/onedir/seconddir/test

The mechanism used to apply url filtering is Modular Policy Framework (MPF). We will create regular expressions (regex) that will be matched in class-maps of type http. These class-maps will be used in policy-maps to define the drop action. Then the policy-maps will be applied with an http inspection in another policy-map that will be applied to an interface. In that way the http inspection action will be applied to the traffic that hits an interface.

NOTE: Though, we need to highlight that for Enterprise URL Filtering, customers should be steered toward using WebSense or N2H2 integration with the ASA. Such web filtering engines can provide much more robust filtering based on classes of sites. URL filtering directly on the ASA using regex, should be used only sparsely when broad classifications can be applied, with limited regex patterns. The ASA will not scale being used in an enterprise with large regex matches and large volumes of HTTP traffic.


Block specific urls

Lets assume that we want to block some specific websites. For example we want to block specific anything under cisco.com and uris that contain "/test/". We will create the regexes and match them in a class-map. Note that if ANY regex is matched then the class-map will actually be met. Then in the policy-map block-url-policy whatever meets the class-map (cisco.com OR uri containing "/test/") is reset. The rest are allowed (not cisco.com and not uri containing "/test/"). The policy-map block-url-policy is used for http inspection in another policy-map (global_policy) and applied with a service-policy.
 
regex blockex1 "/test/"
regex blockex2 "cisco\.com"

class-map type inspect http match-any block-url-class
 match request uri regex blockex1
 match request header host regex blockex2

policy-map type inspect http block-url-policy
 parameters
 class block-url-class
  drop-connection log
policy-map global_policy
 class inspection_default
  inspect http block-url-policy

service-policy global_policy global


вторник, 10 сентября 2013 г.

Настройка cluster Active/Standby на ASA

В кластер ASA можно собирать при наличии на каждой лицензии Security Plus. Для обмена репликациями я выделил отдельный физический интерфейс и назначить ему IP адреса. Адреса должны быть в одной подсети. Изначально Standby узел объявляет себя активным если она не получил несколько ответов от IP интерфейса, которым асы связаны между собой (где ходит репликация). Мне нужно сделать так, чтобы резервный узел включался и в том случае, если падает интерфейс Inside. Для этого на этом интерфейсе нужно прописать дополнительную конфу. Выделяем /29 сеть, даем один адрес узлу перед асой (в моем случае это L3 коммутатор), в конфиге главной асы прописываем на интерфейсе адрес, и обозначаем адрес второго узла для того, чтобы аса мониторила этот интерфейс. После этого нужно включить непосредственно сам мониторинг.

Итак, всё просто. Сначала настраиваем главный (Active) узел.

ciscoasa# conf t
ciscoasa(config)#interface GigabitEthernet0/0.30
ciscoasa(config)#vlan 30
ciscoasa(config)#nameif Inside
ciscoasa(config)#security-level 100
ciscoasa(config)#ip address 10.6.100.25 255.255.255.248 standby 10.6.100.26
ciscoasa(config)#exit
ciscoasa(config)#failover lan unit primary
ciscoasa(config)#failover lan interface failoverlink GigabitEthernet0/5
ciscoasa(config)#failover polltime unit msec 500 holdtime 2
ciscoasa(config)#failover replication http
ciscoasa(config)#failover link failoverlink GigabitEthernet0/5
ciscoasa(config)#failover interface ip failoverlink 10.6.100.41 255.255.255.252 standby 10.6.100.42
ciscoasa(config)#monitor-interface Inside

пятница, 2 августа 2013 г.

Cisco Design Models compilation

Оригинал тут - http://www.burningnode.com/2012/12/20/cisco-design-models-compilation/

Cisco produced a few different network architecture guidelines for enterprise networks. For those of you who are preparing the CCDA, you will encounter sooner or later these designs and best practices. As, I never found a document compiling every models for my CCDA preparation, I decided to create this one.
Below, a sum up of main Cisco’s network models: Hierarchical Model, Entreprise Campus Network, Entreprise Composite Network Model (ECNM), Datacenter Network Model, Service Oriented Network Architecture (SONA), Security Architecture For Entreprise (SAFE) and Cisco Borderless Network.

Hierarchical Model
We find different types of hierarchical model depending on the size of the company:
1 tier: one layer, typically small/branch offices (<50 br="" employees="">2 tier: core/distribution (collapsed core) and access layers OR core and distribution/access layers (50-100)
3 tier: core, distribution and access layers (100-200+)

Hierarchical models

вторник, 18 июня 2013 г.

IP_VFR-4-FRAG_TABLE_OVERFLOW и ip virtual-reassembly

Оригинал тут - http://sergeyn.blogspot.ru/2009/03/ipvfr-4-fragtableoverflow.html

Mar 20 11:48:14 192.168.20.10 832: Mar 20 08:48:13.629: %IP_VFR-4-FRAG_TABLE_OVERFLOW: GigabitEthernet0/1: the fragment table has reached its maximum threshold 64
Mar 20 11:48:32 192.168.20.10 833: Mar 20 08:48:31.437: %IP_VFR-4-TOO_MANY_FRAGMENTS: GigabitEthernet0/1: Too many fragments per datagram (more than 32) - sent by *.*.*.*, destined to *.*.*.*

%IP_VFR-4-FRAG_TABLE_OVERFLOW : [chars]: the fragment table has reached its maximum threshold [dec]

Explanation: The number of datagrams being reassembled at any one time has reached it maximum limit.

Recommended Action: Increase the maximum number of datagrams that can be reassembled by entering the ip virtual-reassembly max-reassemblies number command, with number being the maximum number of datagrams that can be reassembled at any one time.

среда, 15 мая 2013 г.

Посмотреть кол-во портов, модулей, контейнеров под SFP


Очень удобно.

l2sw-poe8-cat2960#show inventory raw

NAME: "1", DESCR: "WS-C2960-24LC-S"
PID: WS-C2960-24LC-S   , VID: V04  , SN: FCQ1538Y1KZ

NAME: "WS-C2960-24LC-S - Power Supply 0", DESCR: "WS-C2960-24LC-S - Power Supply 0"
PID:                   , VID:      , SN: DCA1530J327

NAME: "WS-C2960-24LC-S - Fan 0", DESCR: "WS-C2960-24LC-S - Fan 0"
PID:                   , VID:      , SN:          

NAME: "WS-C2960-24LC-S - Fixed Module 0", DESCR: "WS-C2960-24LC-S - Fixed Module 0"
PID:                   , VID:      , SN:          

NAME: "GigabitEthernet0/1 Container", DESCR: "GigabitEthernet Container"
PID:                   , VID:      , SN:          

NAME: "GigabitEthernet0/1", DESCR: "GigabitEthernet0/1"
PID:                   , VID:      , SN:          

понедельник, 6 мая 2013 г.

Cisco Catalyst 2960 Series Enables Routing


the switch is running:
1 48    WS-C2960G-48TC-L 12.2(55)SE1           C2960-LANBASEK9-M
I know it’s not the IOS version, because it is the same one as before the reload and it worked then.”
Talking more about this:
In the global configuration mode, enter the command
sdm prefer lanbase-routing

среда, 24 апреля 2013 г.

А вы хорошо знаете статическую маршрутизацию? habrahabr.ru

Репост статьи из http://habrahabr.ru/post/174167/

Очень интересная статья о статической маршрутизации. Речь идет о вещах, которых не часто приходится задумывать, в результате чего возникает мнение, что они работают сами собой.

Автор http://habrahabr.ru/users/JDima/

Статический маршрут — первое, с чем сталкивается любой человек при изучении понятия маршрутизации IP пакетов. Считается, что это — наиболее простая тема из всех, в ней всё просто и очевидно. Я же постараюсь показать, что даже настолько примитивная технология может содержать в себе множество нюансов.

Оговорка. При написании топика я исхожу из того, что читатель знаком с концепцией маршрутизации, умеет делать статические маршруты и не считает слово «ARP» ругательным. Впрочем, даже бывалые связисты наверняка найдут тут что-то новое.
Все примеры были проверены на IOS линейки 15.2M. Поведение других ОС может различаться.
И никакого динамического роутинга тут не будет.


Мы работаем со следующей топологией:


четверг, 11 апреля 2013 г.

Linux user with only ftp access

Пользователь, у которого есть доступ только к ftp. Зайти в систему под этим аккаунтом не получится.

Добавляем "/usr/sbin/nologin" или "/bin/false" в /etc/shells, в /etc/passwd пользователю выставляем

cisco:x:1001:1001:cisco:/home/cisco:/bin/nologin.

четверг, 7 марта 2013 г.

Проверка HTTP, SMTP по telnet

Почти у всех устройств в cli есть telnet клиент. С помощью него можно проверить доступность сервисов HTTP, SMTP и других.

HTTP




C2911-RND-INT#telnet 10.110.255.2 8080 /vrf TEST
Trying 10.110.255.2, 8080 ... Open
GET /index.htm HTTP/1.1
host: 10.110.255.2

HTTP/1.1 404 Not Found
Content-Type: text/html
Accept-Ranges: bytes
Server: HFS 2.2f

далее идёт html код.

SMTP

telnet mail.domain.ext 25
You should receive a reply like:
Trying ???.???.???.???...
Connected to mail.domain.ext.
Escape character is '^]'.
220 mail.domain.ext ESMTP Sendmail ?version-number?; ?date+time+gmtoffset?

воскресенье, 17 февраля 2013 г.

Using ROMmon to Recover startup-config from NVRAM


Восстановить startup-config из nvram через ROMmon.
We had a supervisor die in a core switch today. (Alas! He served us well…) Incidentally, an unrelated issue with CiscoWorks meant that I did not have the fresh, readily-available backup config that I have come to take, all too much, for granted. A quick look through my console logs (I keep a local log of everything I ever do. Remind me to post on that later.) revealed that my last ‘show tech’ for this particular device was back in December of last year. It would not have been a huge deal to start there and make a few updates, but I really really really like to be confident I have the most fresh config possible. I would hate to miss some small detail and have an issue down the road attributed to human error. So… why not pull the config out of NVRAM from the half-baked supervisor?
The answer would be because you can’t. At least that was the response from the TAC Engineer when I asked. Of course, I didn’t believe him. ;) The real challenge was that, in this particular case, the supervisor would no longer boot. It would crash and break back into ROMmon before there was an opportunity to enter any commands in IOS and, apparently, there is no (easy) way to access the NVRAM file system from within ROMmon. The ‘dev’ command will show what file systems are available.
rommon 10 > dev
Devices in device table:
        id  name
      net:  network                  
 bootdisk:  boot disk                  (device is file system capable)
    disk0:  PCMCIA Disk 0              (device is file system capable)
    disk1:  PCMCIA Disk 1              (device is file system capable)
    eprom:  eprom                      (device is file system capable)
   mkseg1:  main memory (kseg1)      
   mkseg0:  main memory (kseg0)      
   mkuseg:  main memory (kuseg)        

пятница, 25 января 2013 г.

Site-to-site туннель GRE через IPSEC на маршрутизаторе Cisco 2911R с использованием модуля шифрования NME-RVPN


Первая схема

Казалось бы, обыденная задача - объединить два офиса шифрованным каналом. Всего-то нужно построить site-to-site VPN и зашифровать с помощью crypto map. Все так и есть, если речь идет не о государственной структуре. Нельзя использовать вражеские шифровальные алгоритмы и железо. Именно под эту задачу были выбраны маршрутизаторы ISR второго поколения 2911R. Буква R в конце названия говорит о том, что данные рутеры были произведены на территории РФ. Для шифрования трафика будем использовать модули для этих рутеров - NME RVPN, выполненные в качестве карты расширения для ISR. Они несут на борту русский софт от компании S-Terra и, конечно же, «Крипто про». По сути, платы представляют собой отдельную машинку под управлением redhat linux с несколькими кастомными софтинами. Имеет один внешний порт помимо общей коммутационной шины, которой подключаются все подобные модули в ISR.