суббота, 6 июля 2013 г.

CCNP humor

-- Кто мы?
-- Роутеры!
-- Чего мы хотим?
-- Сидеть по периметру магистральной области!
-- Когда мы это хотим?
-- Пока админ на работе

вторник, 16 апреля 2013 г.

EIGRP authentication md5




Зададим текущее время:
R3#clock set 00:00:00 1 Jan 2000
 
Заходим  на интерфейс, где необходимо сделать шифрование обновлений:

R3(config)#int fa0/1

Включаем аутентификацию:
R3(config-if)#ip authentication mode eigrp 7 md5 
*Mar  1 00:22:13.767: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 7: Neighbor 10.10.10.25 (FastEthernet0/1) is down: authentication mode changed
 

Приписываем какую ключницу использовать:
R3(config-if)#ip authentication key-chain eigrp 7 firstkey

----------------------------------------------------------------------------------

Создаём ключницу, ключ, и прописываем время использования:
R3(config)#key chain firstkey
R3(config-keychain)#key 1
R3(config-keychain-key)#key-string keynumberone


R3(config-keychain-key)#accept-lifetime 00:00:20 1 jan 2000 infinite
R3(config-keychain-key)#send-lifetime 00:00:20 1 jan 2000 infinite

пятница, 12 апреля 2013 г.

EIGRP show and debug

R1#show ip eigrp interfaces
R1#show ip eigrp neighbors
R1#show ip eigrp topology
R1#show ip eigrp traffic
R1#show ip route eigrp

R1#show ip protocols
R1#show ip route 

R1#debug eigrp packets

     

вторник, 9 апреля 2013 г.

EIGRP Вычисление метрики


Начнём с основ: 
Если значения коэффициентов K1, K2, K3 
(K1=1, K2=0, K3=1, K4=0, K5=0) 
равны значениям по умолчанию, то формула вычисления метрики будет такой:
Metric = Bandwidth + Delay

----------------------------------------------------------------
Формула для вычисления значения bandwidth :

bandwidth = (10000000/bandwidth(i)) * 256

Где bandwidth(i) является наименьшей пропускной способностью (bandwidth) из всех исходящих интерфейсов по пути в сеть назначения представленная в килобитах.


-----------------------------------------------------------

Формула для вычисления значения delay:

delay = delay(i) * 256


Где delay(i) является суммой всех задержек (delays) сконфигурированных на исходящих интерфейсах по пути в сеть назначения в десятках микросекунд (microseconds). Задержка (delay) показываемая командой ip eigrp topology или show interface указана в микросекундах, соответственно это значение нужно поделить на 10 перед использованием в этой формуле.
Чтобы не долбать себе мозг десятками микросекунд, просто модифицируем формулу по моему вкусу


delay = delay(i) * 25,6

------------------------------------------------------------
Откуда брать данные для формулы?

R1#show interface e1/0
Ethernet1/0 is up, line protocol is up
  Hardware is AmdP2, address is cc02.15b0.0010 (bia cc02.15b0.0010)
  Internet address is 10.10.10.29/30
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set

 R1#show interface fa0/0
FastEthernet0/0 is up, line protocol is up
  Hardware is AmdFE, address is cc02.15b0.0000 (bia cc02.15b0.0000)
  Internet address is 10.10.10.1/30
  MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set

--------------------------------------------------------------
Теперь вычислим метрику для разных ситуаций

Для 10.10.10.4/30 ( R1-R4 )
bandwidth = ( 10 000 000 / 100 000 ) * 256 = 25 600
delay = ( 100 + 100 ) * 25,6 = 5 120
metric = 25 600 + 5 120 = 30 720


Для 10.10.10.8/30 ( R1-R4-R9 )
bandwidth = ( 10 000 000 / 100 000 ) * 256 = 25 600
delay = ( 100 + 100 + 100 ) * 25,6  7 680
metric = 25 600 + 7 680 = 33 280


------------------------------------------------------  
Теперь рассмотрим вычисление метрики до одной и той же подсети разными путями:
Для 10.10.10.24/30 (R1-R4-R9-R3)
bandwidth = ( 10 000 000 / 100 000 ) * 256 = 25 600
delay = ( 100 + 100 + 100 + 100) * 25,6 = 10 240
metric = 25 600 + 10 240 = 35 840


Для 10.10.10.24/30 (R1-R2-R3)
bandwidth = ( 10 000 000 / 10 000 ) * 256 = 256 000
delay = ( 1000 + 100 + 100 ) * 25,6 = 30 720
metric = 256 000 + 30 720 = 286 720

----------------------------------------------------------
Для 10.10.10.32 (R1-R2)
bandwidth = ( 10 000 000 / 10 000 ) * 256 = 256 000
delay = ( 1000 + 100 ) * 25,6 = 28 160
metric = 256 000 + 28 160 = 284 160


----------------------------------------------------------
А теперь просмотрим таблицу топологии роутера R1

R1#show ip eigrp topology
IP-EIGRP Topology Table for AS(7)/ID(10.10.10.29)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status

P 10.10.10.8/30, 1 successors, FD is 33280
        via 10.10.10.2 (33280/30720), FastEthernet0/0
        via 10.10.10.30 (286720/30720), Ethernet1/0
P 10.10.10.0/30, 1 successors, FD is 28160
        via Connected, FastEthernet0/0
P 10.10.10.4/30, 1 successors, FD is 30720
        via 10.10.10.2 (30720/28160), FastEthernet0/0
P 10.10.10.24/30, 1 successors, FD is 35840
        via 10.10.10.2 (35840/33280), FastEthernet0/0
        via 10.10.10.30 (286720/30720), Ethernet1/0
P 10.10.10.28/30, 1 successors, FD is 281600
        via Connected, Ethernet1/0
P 10.10.10.16/30, 1 successors, FD is 40960
        via 10.10.10.2 (40960/38400), FastEthernet0/0
        via 10.10.10.30 (291840/35840), Ethernet1/0
P 10.10.10.20/30, 1 successors, FD is 38400
        via 10.10.10.2 (38400/35840), FastEthernet0/0
        via 10.10.10.30 (289280/33280), Ethernet1/0
P 10.10.10.32/30, 1 successors, FD is 284160
        via 10.10.10.30 (284160/28160), Ethernet1/0

суббота, 23 марта 2013 г.

Cisco ASA, Часть третья, SSH access outside

Настройка доступа SSH на outside интерфейсе
ASA Version 8.4(2)

 
1)  Задаём hostname
ciscoasa(config)# hostname ASA
 

2) Задаём домен
ASA(config)# domain test.local
 

3)  Создаём ключи
ASA(config)# show crypto key mypubkey

нет ключей? тогда создаём

ASA(config)# crypto key generate rsa
INFO: The name for the keys will be: <Default-RSA-Key>
Keypair generation process begin. Please wait...


проверяем


ASA(config)# sh crypto key mypubkey rsa
Key pair was generated at: 13:04:47 UTC Mar 23 2013
Key name: <Default-RSA-Key>
 Usage: General Purpose Key
 Modulus Size (bits): 1024
 Key Data:

  30819f30 0d06092a 864886f7 0d010101 05000381 8d003081 89028181 009c1f35
  bffb3a15 34b5f55c 0345031a adc09531 d705d905 78938f3d 92acc008 ae6303d8
  8f0b2ba4 84608ea7 b75aa564 5d1c8b01 73f3ef63 0378c391 54f9068c 5a533545
  0f368426 9efa3f8d 2b66774d b8e871e6 7ba58249 904c6ced e14fb790 04565ec0
  9ac943c0 c1ee7f01 52a592a7 c00ee8a3 5cd2fc16 8e826672 ba1ad813 63020301 0001



примечание
crypto key generate rsa label {имя пары} создание пары ключей
crypto key zeroize rsa label {имя пары} удаление пары ключей



4) Настраиваем интерфейс
ASA(config)# int g0
ASA(config-if)# ip address 209.88.95.104 255.255.254.0
ASA(config-if)# no shutdown
ASA(config-if)# nameif outside
INFO: Security level for "outside" set to 0 by default.
ASA(config-if)# exit
 

5) Разрешаем вход ssh
ASA(config)# ssh 209.88.94.81 255.255.255.255 outside
 

6) Задаём пароль локального админа
ASA(config)# username stim password stimpass privilege 15

7) Настраиваем авторизацию aaa

ASA(config)# aaa authentication ssh console LOCAL

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

Cisco ASA, часть вторая, NAT

Настройка стандартного NAT для стандартного офиса
(хотя это PAT чистой воды)
Cisco ASA IOS 8.4.2 





Config:
ASA(config)# object network my-inside-net
ASA(config-network-object)# subnet 192.168.1.0 255.255.255.0
ASA(config-network-object)# nat (inside,outside) dynamic interface


Monitoring & Logs:
ASA# show nat
ASA# show nat pool
ASA# show running-config nat
ASA# show xlate

последняя команда пожалуй самая вкусная

понедельник, 18 марта 2013 г.

Cisco ASA, Часть первая, ACL

Часть первая


Задача: 
пользователи  должны иметь доступ к серверу xp_http_ftp_cisco 
по порту 80 (web-сайт), 
21,20 (для ftp) 
и 10000 (для администрирования сервера ftp по web-интерфейсу);

Итак приступим:

1) Поднять интерфейсы, настроить ip-адреса и security-level
ciscoasa> en
Password:
ciscoasa# conf t
ciscoasa(config)# hostname asa1
 

asa1(config)# interface g2
asa1(config-if)# nameif inside
INFO: Security level for "inside" set to 100 by default.

asa1(config-if)# ip address 192.168.1.1 255.255.255.0
asa1(config-if)# no shutdown
asa1(config-if)# exit

asa1(config)# interface g1
asa1(config-if)# nameif DMZ
INFO: Security level for "DMZ" set to 0 by default.
asa1(config-if)# security-level 50
asa1(config-if)# ip address 10.10.10.1 255.255.255.0
asa1(config-if)# no shutdown
asa1(config-if)# exit

asa1(config)# interface g0
asa1(config-if)# nameif outside
INFO: Security level for "outside" set to 0 by default.
asa1(config-if)# ip address 3.3.3.1 255.255.255.0
asa1(config-if)# no shutdown
asa1(config-if)# exit
asa1(config)# wr
Building configuration...
Cryptochecksum: 4063acb7 c6982e66 0e0b787d a5a2c78f

2246 bytes copied in 1.290 secs (2246 bytes/sec)
[OK]


2) Добавим доступ с ASDM (опционально)
asa1(config)# username admin password cisco privilege 15
asa1(config)# http server enable
asa1(config)# http 192.168.1.0 255.255.255.0 inside

 ------------------------------------
Ставим TFTP сервер типа TFTPDWin и загружаем на флеш память ASA файл с asdm
---------------------------------------
asa1# copy tftp: flash:
Address or name of remote host []? 192.168.1.2
Source filename []? asdm-647.bin
Destination filename [asdm-647.bin]?
Accessing tftp://192.168.1.2/asdm-647.bin....!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!etc

Writing current ASDM file disk0:/asdm-647.bin!!!!!!!!!!!!!!etc
17902288 bytes copied in 129.60 secs (138777 bytes/sec)
-------------------------------------
asa1# sh flash:
--#--  --length--  -----date/time------  path
    5  4096        Mar 17 2013 14:03:36  log
   10  4096        Mar 17 2013 14:03:42  coredumpinfo
   11  59          Mar 17 2013 14:03:42  coredumpinfo/coredump.cfg
   90  196         Mar 17 2013 14:03:42  upgrade_startup_errors_201303171403.log
   15  4096        Mar 17 2013 18:36:04  boot
   16  6           Mar 18 2013 18:35:00  boot/grub.conf
   80  0           Mar 17 2013 18:47:18  nat_ident_migrate
   91  28672       Jan 01 1980 00:00:00  FSCK0000.REC
   92  4096        Jan 01 1980 00:00:00  FSCK0001.REC
   93  28672       Jan 01 1980 00:00:00  FSCK0002.REC
   94  4096        Jan 01 1980 00:00:00  FSCK0003.REC
   95  28672       Jan 01 1980 00:00:00  FSCK0004.REC
   96  4096        Jan 01 1980 00:00:00  FSCK0005.REC
   97  17902288    Mar 20 2013 09:29:34  asdm-647.bin

268136448 bytes total (249769984 bytes free)
asa1# wr
Building configuration...
Cryptochecksum: e7e2b9ec 35d191e6 92560981 c5bfc984

3247 bytes copied in 1.370 secs (3247 bytes/sec)
[OK]



3) Формируем access-list согласно нашей задаче
asa1(config)# access-list HTTP_FTP_10000_inside extended permit tcp 192.168.1.0 255.255.255.0 host 10.10.10.201 eq www
asa1(config)# access-list HTTP_FTP_10000_inside extended permit tcp 192.168.1.0 255.255.255.0 host 10.10.10.201 eq ftp
asa1(config)# access-list HTTP_FTP_10000_inside extended permit tcp 192.168.1.0 255.255.255.0 host 10.10.10.201 eq 10000 
asa1(config)# access-list HTTP_FTP_10000_inside extended permit tcp 192.168.1.0 255.255.255.0 host 10.10.10.201 eq www 
asa1(config)# access-list HTTP_FTP_10000_inside extended permit icmp 192.168.1.0 255.255.255.0 any

4) Применяем созданный access-list  на inside интерфейс
asa1(config)# access-group HTTP_FTP_10000_inside in interface inside

5) Настраиваем service-policy аля ip inspect

 

asa1(config)# policy-map global_policy
определяем название map
asa1(config-pmap)# class-map inspection_default
определяем дефолтные настройки совпадения по трафику
asa1(config-cmap)# match default-inspection-traffic
asa1(config-cmap)# exit
------------------------------

теперь создаём класс inspection_default 
и доверяем ему инспектировать трафик
далее прописываем какой вид трафика он будет инспектировать

------------------------------
asa1(config)# policy-map global_policy
asa1(config-pmap)# class inspection_default
asa1(config-pmap-c)# inspect ftp
asa1(config-pmap-c)# inspect icmp
asa1(config-pmap-c)# exit
asa1(config-pmap)# exit

------------------------------
Дальше возможны варианты развития событий:

Либо вы применяете его на все интерфейсы
Что не есть хорошо, ибо схема на этом не заканчивается 
asa1(config)# service-policy global_policy global

Либо на один из интерфейсов, правильнее на inside
asa1(config)# service-policy global_policy interface inside


Результат смотреть так:
asa1(config)# show service-policy inspect ftp

P.S.
Однако тот же эффект будет и на DMZ
asa1(config)# service-policy global_policy interface DMZ




P.P.S. Написано с идеи этой статьи, однако она полностью устарела.


Справочные статьи: 
http://www.cisco.com/en/US/products/ps6120/products_configuration_example09186a0080b88904.shtml
http://www.cisco.com/en/US/products/ps6120/products_configuration_example09186a00807ee585.shtml




суббота, 9 марта 2013 г.

IPSec Configuration Manual



Преамбула, или ради чего стоило вставать с дивана.
IPSec это логический туннель, который может шифровать трафик проходящий через него своими силами. В отличии, например, от PPTP тут, не создаётся виртуальных(или используя физические) интерфейсов с чётко выделенным адресом, которые должны строго подцепиться друг к другу по определённому регламенту. 
Заместо этого, задаётся правило идентификации базовых хостов перед началом инициации туннеля и вид шифрования трафика проходящего через туннель -- это раз. 
На втором этапе расписывается MAP(карта), трафик попадающий в эту карту будет перемещаться между хостами уже по регламенту IPSec со всей песней с припевом. 
В данном случае мы расписали, что карта для IPSec:
R1(config-crypto-map)#match address 110 (см номер ACL пункта 4)
смотрим в пункт 4
R1(config)#access-list 110 permit ip 10.0.1.0 0.0.0.255 10.0.2.0 0.0.0.255
т.е. как показано на рисунке трафик пробегающий из 10.0.1.0/24 сети с одной стороны в сеть 10.0.2.0/24 на другую сторону -- будет перемещаться используя туннелирование IPSec с означенными параметрами.
После завершения кофигурирования IPSec туннеля он находится в состоянии DOWN. 
Чтобы дать стартовый пинок, достаточно пустить трафик через диапазон IPSec туннеля ( это может быть icmp пинг, http запрос  и тому подобное ) после чего, если включены
debug crypto isakmp 
debug crypto ipsec
можно наблюдать резвый лог установления туннеля.

Убедиться что пакеты прошли по туннелю можно через команду
R1#show crypto ipsec sa
    #pkts encaps: 15, #pkts encrypt: 15, #pkts digest: 15
    #pkts decaps: 11, #pkts decrypt: 11, #pkts verify: 11

Более подробно смотри развёрнутый бриф по IPSeс по тегу-метке IPSec.

P.S. Если туннель не работает, надо пересматривать конфиг до помутнения рассудка, ты где-то облажался. Если твёрдо уверен, что ошибок нет, а туннель не работает, всё стирай и пиши конфиг заново.





Шаг 1: Конфигурируем ACL для подачи "заинтересованного" трафика". 
Разрешаем протоколы AH(51), ESP(51) и UDP по порту эквивалентному ISAKMP (500)

R1(config)# access-list 102 permit ahp host 211.181.25.221 host 211.181.24.15 
R1(config)# access-list 102 permit esp host 211.181.25.221 host 211.181.24.15
R1(config)# access-list 102 permit udp host 211.181.25.221 host 211.181.24.15 eq isakmp


Применяем ACL к интерфейсу:
R1(config)# int fa 0/0

R1(config-if)# ip add 211.181.24.15 255.255.254.0
R1(config-if)# no sh
R1(config-if)# ip access-group 102 in


Проверяем:
R1#sh access-lists
Extended IP access list 102
    10 permit ahp host 211.181.25.221 host 211.181.24.15

    20 permit esp host 211.181.25.221 host 211.181.24.15
    30 permit udp host 211.181.25.221 host 211.181.24.15 eq isakmp



Шаг 2: Сконфигурируем ISAKMP:

а) Включаем и конфигурируем ISAKMP(Internet Security Association and Key Management Protocol) политики для регламентирования процедуры обмена ключами согласно выбору ESP
(Authentication, Confidential, Diffle-Hellmane and Integrity см. IPSec Framework)
(номер политики это приоритет её просмотра на предмет использования)
R1(config)# crypto isakmp enable
R1(config)# crypto isakmp policy 20
R1(config-isakmp)# authentication pre-share
R1(config-isakmp)# encryption des
R1(config-isakmp)# group 2
R1(config-isakmp)# hash sha
R1(config-isakmp)# lifetime 86400

R1(config-isakmp)# exit

б)  Задаём ключи для обмена ISAKMP IKE (Internet Key Exchange)

crypto isakmp key <0..6> если 0 ключ не шифрован, если 6-- шифрован
  0  Specifies an UNENCRYPTED password will follow
  6  Specifies an ENCRYPTED password will follow


R1(config)# crypto isakmp key 0 cisco111 address 211.181.25.221

Шаг 3: Задание трансформы, оно же вида и способа шифрования трафика в туннеле
имя значения не имеет и применяется только для локального удобства описания


R1(config)# crypto ipsec transform-set TransformOffice1 esp-aes 128
R1(cfg-crypto-trans)#mode tunnel
R1(cfg-crypto-trans)#exit

Шаг 4: Задаём ACL чтобы он пропускал трафик туннеля

R1(config)#access-list 110 permit ip 10.0.1.0 0.0.0.255 10.0.2.0 0.0.0.255
 


Шаг 5: Даём установочный пинок создавая Crypto-Map и применяя на интерфейс

R1(config)#crypto map MapOffice1 5 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.

 

R1(config-crypto-map)#match address 110 (см номер ACL пункта 4)
R1(config-crypto-map)#set peer 211.181.25.221 default
R1(config-crypto-map)#set peer 172.30.3.2
(позволяет создать указание на резервного пира)
R1(config-crypto-map)#set pfs group1 (
Diffie-Hellman )
R1(config-crypto-map)#set transform-set
TransformOffice1 (см пункт 3)
R1(config-crypto-map)#set security-association lifetime seconds 86400


5) Применяем CryptoMap на интерфейс

R1(config)#int fa 0/0
R1(config-if)#cry
R1(config-if)#crypto map
MapOffice1
R1(config-if)#

*Mar  1 00:33:55.831: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON


6) Прописываем роутинг либо статический, либо через любой протокол маршрутизации, если у нас в середине провайдер, то дефолт шлюз на него естественно

R1(config)#int fa 0/0
R1(config-if)#cry
R1(config-if)#crypto map
MapOffice1
R1(config-if)#

*Mar  1 00:33:55.831: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON


R1(config)# ip route 0.0.0.0 0.0.0.0 211.181.25.221R1(config)# ip route 10.0.2.0 255.255.255.0 FastEthernet0/0

C другой стороны

R2(config)#access-list 122 permit ahp host 211.181.24.15 host 211.181.25.221
R2(config)#access-list 122 permit esp host 211.181.24.15 host 211.181.25.221
R2(config)#access-list 122 permit udp host 211.181.24.15 host 211.181.25.221 eq isakmp

R2(config)#int fa 0/0
R2(config-if)#ip add
211.181.25.221 255.255.254.0
R2(config-if)#no sh
R2(config-if)#ip access-group 122 in
R2(config-if)#exit


R2(config)#crypto isakmp policy 110
R2(config-isakmp)#authentication pre-share
R2(config-isakmp)#encryption des
R2(config-isakmp)#group 2
R2(config-isakmp)#hash sha
R2(config-isakmp)#lifetime 86400
R2(config-isakmp)#exit


R2(config)#crypto isakmp key 0 cisco111 address
211.181.24.15
 

R2(config)#crypto ipsec transform-set TransformOffice1 esp-aes 128
R2(cfg-crypto-trans)#exit

R2(config)#access-list 120 permit ip 10.0.2.0 0.0.0.255 10.0.1.0 0.0.0.255
 

R2(config)#crypto map MapOffice1 5 ipsec-isakmp
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.

R2(config-crypto-map)#match address 120
R2(config-crypto-map)#set peer
211.181.24.15 default
R2(config-crypto-map)#set pfs group1
R2(config-crypto-map)#set transform-set
TransformOffice1
R2(config-crypto-map)#set security-association lifetime seconds 86400
 

R2(config-crypto-map)#int fa 0/0
 R2(config-if)#crypto map
MapOffice1
 R2(config-if)#
*Mar  1 01:12:55.539: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
R4(config-if)#exit


R2(config)# ip route 0.0.0.0 0.0.0.0 211.181.24.15
R2(config)# ip route 10.0.1.0 255.255.255.0 FastEthernet0/0



среда, 6 марта 2013 г.

GRE tunnel

Настройка  с обоих концов:

R1(config)#int tunnel 0
R1(config-if)#ip add 10.0.0.1 255.255.255.252
R1(config-if)#tunnel source fa 0/1
R1(config-if)#tunnel destination 201.85.34.65
R1(config-if)#tunnel mode gre ip



R1(config)#int tunnel 0
R1(config-if)#ip add 10.0.0.2 255.255.255.252
R1(config-if)#tunnel source fa 0/1
R1(config-if)#tunnel destination 201.85.35.10
R1(config-if)#tunnel mode gre ip


Как мы все помним, трафик в этом туннеле ползает не зашифрованный.



среда, 20 февраля 2013 г.

Switched Port Analyzer (SPAN)


Перенаправление трафика с порта g0/1  на порт g0/2

Убедимся, что сессия 1 удалена
Switch(config)# no monitor session 1

Настраиваем source и destination interface
Switch(config)# monitor session 1 source interface gigabitethernet0/1
Switch(config)# monitor session 1 destination interface gigabitethernet0/2 encapsulation replicate
Switch(config)# end
 

Перенаправление  трафика на порт Fa3/4, который приходит в vlan20 и уходит в vlan 30

Switch(config)# monitor session 1 source vlan 20 rx
Switch(config)# monitor session 1 source vlan 30 tx
Switch(config)# monitor session 1 destination interface FastEthernet 3/4


Switch#show monitor session 1

STP BPDU Guard, Root Guard, Storm Control Security

Switch(config)#spanning-tree portfast default
включает portfast на всех access портах ( действует далеко не всегда так как прописано, применять осторожно, а лучше ручками везде прописывать на каждый интерфейс )

Switch(config)#spanning-tree portfast bpduguard default
включает BPDUguard где включен portfast (аналогично предыдущему лучше ручками каждый)


Switch# show spanning-tree summary
Switch# show spanning-tree summary totals
----------------------------------------------------------------------------

Switch(config-if)# spanning-tree guard root
разница между BPDU Guard и Guard root в том, что BPDU Guard  намертво прекращает обмен BPDU'шками  на порту, а Root Guard разрешает обмен BPDU пакетами до тех пор, пока устройство на том конце не пытается стать root bridge

Switch# show spanning-tree inconsistentports
-----------------------------------------------------------

Switch(config-if)#storm-control broadcast level 75.6
Switch(config-if)#storm-control multicast pps level 2k 1k
Switch(config-if)#storm-control action shutdown (or trap)

Switch# show storm-control
------------------------------------------------------------------------------

суббота, 9 февраля 2013 г.

Debug ACL

R1#show access-lists TESTLIST
 

Extended IP access list TESTLIST
    10 permit tcp any any



R1#debug ip packet
применять осторожно

Time-based ACLs

Config:

R1(config)# time-range bill-access-time
R1(config-time-range)# periodic weekdays 11:00 to 12:00
R1(config-time-range)# periodic weekdays 15:00 to 16:00
R1(config-time-range)# exit

R1(config)# access-list 107 permit ip 192.168.1.0 0.0.0.255 any time-range

bill-access-time

R1(config)# access-list 107 deny ip any any
R1(config)# interface fa 0/1
R1(config-if)# ip access-group 107 in
R1(config-if)# exit

пятница, 8 февраля 2013 г.

Reflexive ACLs

Configuration reflexive:

1)
R1(config)# ip access-list extended inout_ACL
R1(config-ext-nacl)# permit tcp any any eq 80 reflect webreflexACL
R1(config-ext-nacl)# permit udp any any eq 53 reflect dnsreflexACL timeout 10


2)
R1(config)# ip access-list extended outin_ACL
R1(config-ext-nacl)# evaluate webreflexACL
R1(config-ext-nacl)# evaluate dnsreflexACL
R1(config-ext-nacl)# deny ip any any

3)

R1(config)# interface fa0/0
R1(config-if)# ip access-group inout_ACL out
R1(config-if)# ip access-group outin_ACL in
 

В чём соль:
1) разрешаем доступ по 80(http) и 53(dns) портам доступ изнутри наружу и присваиваем имена для пункта 2
2) подсказываем, что нужно пропускать внутрь соединения, иницированных нашими acl's
3) накладываем правила на интерфейс

вторник, 5 февраля 2013 г.

AAA configuration servers (конфигурация серверов) tacacs+ и radius

R1(config)#aaa new-model
 

R1(config)#tacacs-server host 192.168.0.101 single-connection
R1(config)#tacacs-server key tacacspasswordacceess
 

R1(config)#radius-server host 192.168.0.100
R1(config)#radius-server key radiuspasswordaccess
 

R1(config)#aaa authentication login default group tacacs+ group radius local-case


Commentary:
Авторизация будет происходить последовательно вначале по tacacs+, если он недоступен, то по radius, если radius недоступен, то локально.

   

понедельник, 4 февраля 2013 г.

AAA в концептах

Итак попробуем разложить ааа по полочкам в эпизодах:

Episode 1a
R1(config)#enable secret cisco
R1(config)#username admin secret admin

R1(config)#aaa new-model
R1(config)#aaa authentication login default local
R1(config)#aaa authentication login test1group enable
 

R1(config)#line vty 0 4
R1(config-line)#login authentication default


PC>telnet 192.168.0.1
Trying 192.168.0.1 ...Open


User Access Verification

Username: admin
Password:

R1>



Commentary:
R1(config)#aaa authentication login default local
Команда присваивает листу "default" -- вид авторизации "local"
в нашем случае:
R1(config)#username admin secret admin 
Что мы и видим при попытке законнектиться с PC -- он просит логин и пароль.


Episode 1b
R1(config)#enable secret cisco
R1(config)#username admin secret admin

R1(config)#aaa new-model
R1(config)#aaa authentication login default local
R1(config)#aaa authentication login test1group enable
 

R1(config)#line vty 0 4
R1(config-line)#login authentication test1group


PC>telnet 192.168.0.1
Trying 192.168.0.1 ...Open


User Access Verification

Password: 

R1>

Commentary:
R1(config)#aaa authentication login test1group enable
Команда присваивает листу "test1group" -- вид авторизации "enable"
в нашем случае:
R1(config)#enable secret cisco
Что мы и видим при попытке законнектиться с PC -- он просит уже не логин и пароль юзера, а только пароль аналогичный режиму enable.

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

AAA

Настройка AAA на CISCO 

Статья для информации. Честно стырено отсюда
http://www.wellit.ru/reference/20.html

пятница, 1 февраля 2013 г.

NTP

Задаём на мастере:

Конфигурируем время:
R1#clock set 12:00:00 DEC 14 2008
R1#
*Dec 14 12:00:00.000: %SYS-6-CLOCKUPDATE: System clock has been updated from 00:21:05 UTC Fri Mar 1 2002 to 12:00:00 UTC Sun Dec 14 2008, configured from console by console.

R1#show clock
12:03:42.875 UTC Sun Dec 14 2008

R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.

R1(config)#ntp master 1
Устанавливаем аутентификацию на обновления:
R1(config)#ntp authenticate
R1(config)#ntp authentication-key 1 md5 cisco 123
R1(config)#ntp trusted-key 1
R1(config)#exit


Задаём на клиентах:

R2(config)#ntp server <ip сервера>
Устанавливаем аутентификацию на обновления:
R2(config)#ntp authenticate
R2(config)#ntp authentication-key 1 md5 cisco 123
R2(config)#ntp trusted-key 1
R2(config)#exit

Cisco logging to remote host (to CCP)

R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.


Куда логируем:
R1(config)#logging host 192.168.0.10

До какого уровня сообщений будем логировать: (ставь 7)
R1(config)#logging trap 7

В куда слать логи:

R1(config)#logging source-interface fa 0/0


Включаем логирование:
R1(config)#logging on


Тестируем:
R1(config)#int fa 0/1
R1(config-if)#no sh
R1(config-if)#
*Mar  1 00:03:51.939: %LINK-3-UPDOWN: Interface FastEthernet0/1, changed state to up
*Mar  1 00:03:52.939: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
*Mar  1 00:03:52.947: %SYS-6-LOGGINGHOST_STARTSTOP: Logging to host 192.168.0.10 started - CLI initiated


----------------------------------------------------------------------
Если честно, зачем вот этот весь огород, чтобы только логи получить, я так и не понял. И даже выполнив это всё -- логов в CCP вы не увидите.
Если вы хотите получить логи для CCP, достаточно сделать так:

1) Это команда добавлена в ходе исследования, без неё логов в CCP не будет. Поскольку CCP, как я понял, щупает и работает с буфером роутера, а без этой команды в буфер логи не кладутся:
R1(config)#logging buffered 7

2) Включаем логирование:
R1(config)#logging on

И все логи, уже, замечательно видны в CCP.

понедельник, 28 января 2013 г.

Cisco SDM prepare

R1(config)#enable secret <password>
Настройка интерфейса для доступа SDM
R1(config)#interface fastethernet 0
R1(config-if)#ip address 192.168.0.1 255.255.255.0
R1(config-if)#no shutdown
R1(config-if)#exit



Включение http и https серверов 
R1(config)# ip http server
R1(config)# ip http secure-server
R1(config)# ip http authentication local


Добавим пользователя
R1(config)# username <username> privilege 15 secret <password>

И обозначим авторизацию
R1(config)# line vty 0 4
R1(config-line)# login local
 

R1(config-line)# transport input telnet 
R1(config-line)# transport input telnet ssh
 

тут сами решайте, что вам по вкусу

R1(config-line)# exit

Securing the Cisco IOS and configuration files

R1(config)# secure boot-image

R1(config)# secure boot-config 

R1(config)# no service password recovery

Создаёт неудаляемую копию IOS'a и конфигурационного файла
И перекрывает доступ в ROMMON для особо страждущих ручек)

Restore procedures:
1. R1# reload 

2. Find filenames of saved IOS and configuration file:

a) In ROMmon mode use: dir
b) R1#show secure bootset

3.
R1# boot <filename saved ios>
 

4. R1(config)# secure boot-config restore <filename configuration file>

четверг, 24 января 2013 г.

Role-Based CLI Access

R1(config)#aaa new-model 
R1(config)#enable secret cisco
R1#enable view
 Password:
R1#%PARSER-6-VIEW_SWITCH: successfully set to view 'root'.


R1#conf t
R1(config)#parser view SHOWVIEW
 
R1(config-view)#%PARSER-6-VIEW_CREATED: view 'SHOWVIEW' successfully created.
R1(config-view)#secret ciscoshowview
R1(config-view)#commands exec include all show
R1(config-view)#exit


R1(config)#parser view RELOADPINGVIEW
R1(config-view)#%PARSER-6-VIEW_CREATED: view 'RELOADPINGVIEW' successfully created.
R1(config-view)#secret pingreloadcisco
R1(config-view)#commands exec include all ping
R1(config-view)#commands exec include all reload
R1(config-view)#exit


R1(config)#parser view USERSHOW superview
R1(config-view)#secret ciscoshowsuperview
R1(config-view)#view SHOWVIEW
R1(config-view)#exit



R1(config)#parser view USERPINGRELOAD superview
R1(config-view)#secret ciscoreloadsuperview
R1(config-view)#view
RELOADPINGVIEW 

R1(config-view)#exit

 
R1(config)#username adminshow view USERSHOW secret cisco1
R1(config)#username adminpingreload view
RELOADPINGVIEW secret cisco2
R1(config)#aaa authentication login default local
R1(config)#aaa authorization exec default local
R1(config)#aaa authorization console
R1(config)#exit

Configure privilege levels (Конфигурирование уровня привиллегий)

R1#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R1(config)#username admin privilege 1 password cisco
 

R1(config)#privilege exec level 5 ping
R1(config)#enable secret level 5 cisco5
R1(config)#username admin5 privilege 5 secret cisco5
 

R1(config)#privilege exec level 10 reload
R1(config)#enable secret level 10 cisco10
R1(config)#username admin10 privilege 10 secret cisco10
 

R1(config)#username admintotal privilege 15 secret ciscototal
R1(config)#exit

вторник, 22 января 2013 г.

Защита авторизации, логирование авторизации

R1(config)#login block-for 15 attempts 5 within 60
R1(config)#ip access-list standart PERMIT-ADMIN
  • R1(config-std-nacl)#remark Permit only Administrative hosts
  • R1(config-std-nacl)#permit 192.168.10.10
  • R1(config-std-nacl)#permit 192.168.11.10 
  • R1(config-std-nacl)#exit 
R1(config)#login quiet-mode access-class PERMIT-ADMIN 
R1(config)#login delay 10
R1(config)#login on-success log
R1(config)#login on-failure log