31 October 2013

Краткий конспект по CCNA Exploration 4.0

Раcшариваю свой краткий русский конспект по курсу CCNA Exploration ver. 4.0. Как вы знаете (или не знаете), официального перевода данного курса на русский нет и уже не будет. Возможно мой конспект поможет страдальцам с плохим знанием английского, ну или тем кто хочет быстро повторить материал.

Конспект доступен AS IS, ругаться на перевод и неточности не надо. Если вас не устраивает в нем какая то часть, копируйте к себе и переделывайте сами. Статьи будут добавляться оперативно, каждые два дня.

Как это читать? Берете курс CCNA Exploration открываете нужную главу, открываете соответствующую главу конспекта (или распечатываете) и читаете их оба параллельно.

И помните, что права на текст принадлежат Cisco.

Network Fundamentals

Routing protocols and concepts.
Switching and Wireless.
Accessing the WAN.

Восстановление IOS на Catalyst 2960

Возникла необходимость восстановить IOS на Cisco Catalyst 2960. Кто то из ccna-щиков так хорошо подчистил после лабы флеш, что затер с него и IOS. Каталист грузился только в режиме роммон, и моргает лампочка "syst". Как оказалось подгрузить IOS по tftp как это делается в роутерах данный каталист не может. По этому пришлось заливать по консольному кабелю.
Порядок действий:
  • Заранее находим IOS (копирнул с другого каталиста).
  • Подключаемся через консольный кабель.
  • Запускаем HyperTerminal (kitty не умеет в нужном формате передавать файлы).
  • Появляется надпись: switch:
  • Дальше надо изменить скорость порта, со стандартной 9600 на что то побольше, иначе очень при очень долго будет передаваться, для этого пишем:
    switch: set BAUD 115200
  • После смены скорости придетс переподключить HyperTerminal с новой скоростью, иначе нормально работать с консолью будет невозможно.
  • Теперь на каталисте включаем копирование файла с xmodem:
    switch: copy xmodem: flash:
  • В меню HyperTerminal выбираем передачу файла (через xmodem) и указываем на файлик.
  • Ждем пока закачается IOS (мин 20ть). Затем меняем скорость консоли на обычную 9600.
  • Перезапускаем каталист.

PPTP server на Cisco ISR

Чтобы обеспечить безопасное подключения к сети офиса из дома, рассмотрим вариант поднятия на роутере простенького pptp сервера.

# Включаем использование виртуальных частных коммутируемых сетей

vpdn enable
# создаем группу
vpdn-group 1
accept-dialin
protocol pptp
virtual-template 1
# Создаем пользователя для клиента
username <user> password <password>
# Настраиваем виртуальный интерфейс
interface Virtual-Template1
ip address 192.168.10.254 255.255.255.248
# указываем пул из которого клиенту будет выдаваться адрес
peer default ip address pool VPN
no keepalive
# включаем шифрование
ppp encrypt mppe auto
# указываем протокол аутентификации
ppp authentication ms-chap-v2
# Создаем пул адресов для клиентов
ip local pool VPN 192.168.10.249 192.168.10.253
# Указываем роутеру аутентифицировать pptp клиентов по локальной базе (нужно, если включен aaa new model)
aaa authentication ppp default local
aaa authorization network default local
# Настраиваем клиента, подключаемся к сети и проверяем.
show vpdn session pptp

PS использование username <user> secret <password> может вызвать проблемы с аутентификацией.

Cisco ISR как PPPoe Client

Предположим, что наш провайдер выдает доступ по pppoe, что довольно часто встречается. Не нервничаем, берем железяку и настраиваем.

# Интерфейс идущий в локалку
interface FastEthernet0/0
description $LAN$
ip address 172.16.1.1 255.255.255.128
ip nat inside
# Интерфейс идущий к провайдеру
interface FastEthernet0/1
description $WAN$
no ip address
pppoe enable group global
pppoe-client dial-pool-number 1
# Виртуальный интерфейс ppp
interface Dialer0
description $OUTSIDE$
mtu 1492
ip address negotiated
ip nat outside
encapsulation ppp
ip tcp adjust-mss 1452
dialer pool 1
ppp authentication chap callin
ppp chap hostname <login>
ppp chap password <password>
ppp ipcp dns request
# Указываем лист доступа для NAT
access-list 1 permit 172.16.1.0 0.0.0.127
# Указываем маршрут по умолчанию
ip route 0.0.0.0 0.0.0.0 Dialer0
# Включаем NAT с перегрузкой
ip nat inside source list 1 interface Dialer0 overload
# Проверить работоспособность сессии можно командой
Router# sh pppoe session interface fa 0/1

PS Конфиг проверен на Cisco ISR 2801 (c2801-advsecurityk9-mz.124-15.t9.bin). У счастливых обладателей роутеров cisco с ios 15.0 наблюдаются проблемы с pppoe client. Рекомендуется либо откатиться на 12.4, либо обновиться на 15.1. Я выбрал первое.

GRE tunneling

Пример настройки простого VPN на основе GRE туннеля между двумя офисами поверх публичной сети.
Топология:


Настройка:

R1:
!
interface Tunnel0
ip address 192.168.254.253 255.255.255.252
tunnel source FastEthernet0/0
tunnel destination 209.165.200.2
!
interface FastEthernet0/0
ip address 209.165.200.1 255.255.255.252
!
interface FastEthernet0/1
ip address 192.168.2.1 255.255.255.0
!
router eigrp 1
passive-interface FastEthernet0/1
network 192.168.2.0
network 192.168.254.252 0.0.0.3
no auto-summary
!
R2:
!
interface Tunnel0
ip address 192.168.254.254 255.255.255.252
tunnel source FastEthernet0/0
tunnel destination 209.165.200.1
!
interface FastEthernet0/0
ip address 209.165.200.2 255.255.255.252
!
interface FastEthernet0/1
ip address 192.168.1.1 255.255.255.0
!
router eigrp 1
passive-interface FastEthernet0/1
network 192.168.1.0
network 192.168.254.252 0.0.0.3
no auto-summary
Проверяем:
Таблица маршрутизации R1:

Вывод свойств интерфейса туннеля:
Таблица маршрутизации R2:
Заголовки пакета на выходе из R1:
  • GRE туннель не обеспечивает безопасности, поэтому его обычно прячут в шифрованный ipsec туннель(или используют чистый ipsec без gre).
  • на туннельном интерфейсе инкапсуляция GRE по умолчанию включена (tunnel mode gre ip)
  • для обеспечения отказоустойчивости и при наличие нескольких каналов связи, в качестве начальной/конечной точки туннеля может быть использован loopback
  • т.к. GRE может нести в себе кучу протоколов, то достаточно переписать адреса локалок и tun-интерфейсов, чтобы лаба превратилась в лабу по туннелированию IPv6 поверх IPv4
Скачать: pkt-файл

Лабораторка на PAT

Пример настройки NAT overloading (PAT) на маршрутизаторах Cisco.


Настройка:

Router:

Router(config)# interface fastethernet 0/0
Router(config-if)# ip address 192.168.2.1 255.255.255.0
Router(config-if)# ip nat inside
Router(config-if)# no shutdown

Router(config)# interface fastethernet 0/1
Router(config-if)# ip address 209.165.200.225 255.255.255.252
Router(config-if)# ip nat outside
Router(config-if)# no shutdown

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

Router# copy running-config startup-config

Проверяем конфигурацию:

Лабораторка на Dynamic NAT

Пример настройки динамического NAT на маршрутизаторах Cisco.
Настройка:
GW:

GW(config)# interface fastethernet 0/0
GW(config-if)# ip address 209.165.200.2 255.255.255.252
GW(config-if)# ip nat outside
GW(config-if)# no shutdown

GW(config)# interface fastethernet 0/1
GW(config-if)# ip address 192.168.0.1 255.255.255.0
GW(config-if)# ip nat inside
GW(config-if)# no shutdown

Router(config)# access-list permit 192.168.0.0 0.0.0.255

GW(config)# ip nat pool CISCO 209.165.200.9 209.165.200.14 netmask 255.255.255.248
GW(config)# ip nat inside source list 1 pool CISCO
GW(config)# ip route 0.0.0.0 0.0.0.0 209.165.200.1

GW(config)# ip nat inside source list NAT pool NAT

GW# copy running-config startup-config
Проверяем конфигурацию:


Скачать: pkt-файл

Laba DHCP

Пример настройки dhcp на маршрутизаторах Cisco.

Настройка.

Router:

Router(config)# interface fastethernet 0/0
Router(config-if)# ip address 192.168.2.1 255.255.255.0
Router(config-if)# no shutdown

Router(config)# interface fastethernet 0/1
Router(config-if)# ip address 192.168.1.1 255.255.255.0
Router(config-if)# no shutdown

Router(config)# ip dhcp excluded-address 192.168.1.1
Router(config)# ip dhcp excluded-address 192.168.2.1

Router(config)# ip dhcp pool pool1
Router(dhcp-config)# network 192.168.1.0 255.255.255.0
Router(dhcp-config)# default-router 192.168.1.1

Router(config)# ip dhcp pool pool2
Router(dhcp-config)# network 192.168.2.0 255.255.255.0
Router(dhcp-config)# default-router 192.168.2.1

Router# copy running-config startup-config

Проверяем конфигурацию:

Скачать: pkt-файл

Лабораторка Extended ACL

Расширенные листы доступа, позволяют фильтровать трафик основываясь на ip-адресах источника, назначения; портах приложений; типу протокола.
Простое правило, расширенный лист лучше всего применять как можно ближе к месту назначения.
Сценарий:

Компьютеры получают адреса по dhcp от сервера. На маршрутизаторах прописаны статические маршруты. На маршрутизаторах настроен доступ по telnet.
Требуется:
  • разрешить из сети 192.168.2.0/24 доступ к веб-серверу и серверу электронной почты, dhcp и dns. Запретить остальные tcp-соединения.
  • разрешить из сети 192.168.3.0/24 доступ к ftp-серверу, telnet, dhcp и dns. Запретить остальные tcp-соединения.
Топология:


Настройка:
R1:
R1(config)# access-list 100 permit tcp 192.168.2.0 0.0.0.255 any eq www
R1(config)# access-list 100 permit tcp 192.168.2.0 0.0.0.255 any eq pop3
R1(config)# access-list 100 permit tcp 192.168.2.0 0.0.0.255 any eq smtp
R1(config)# access-list 100 deny tcp any any
R1(config)# access-list 100 permit ip any any
R1(config)# interface fastethernet 0/0
R1(config-if)# ip access-group 100 in


R3:
R3(config)# access-list 100 permit tcp 192.168.3.0 0.0.0.255 any eq ftp
R3(config)# access-list 100 permit tcp 192.168.3.0 0.0.0.255 any eq telnet
R3(config)# access-list 100 deny tcp any any
R3(config)# access-list 100 permit ip any any
R3(config)# interface fastethernet 0/1
R3(config-if)# ip access-group 100 in

Проверяем конфигурацию:

Скачать: pkt-файл

PS отличие pkt в том что сеть 192.168.3.0/24 получает адреса от маршрутизатора R2. Что сути лабораторной работы не меняет.

Листы контроля доступа (Access Control Lists)

Листы контроля доступа (ACL) позволяют выборочно ограничивать или разрешать потоки трафика, фильтровать протоколы маршрутизации, перенаправлять трафик в соответствии с правилом (PBR) и .тд

ACL представляет из себя список правил и обрабатывается сверху вниз до первого совпадения. Если одно из условий совпало, лист дальше не обрабатывается. Исходя из этого более специфичные правила записывать выше (на конкретный хост или порт), более общие ниже (на сетевой адрес). Так же есть смысл наиболее часто срабатывающие правила помещать ближе к началу листа. В конце листа присутствует негласное правило "запретить все" (deny any, deny all), поэтому если совпадений в списке не нашлось то трафик будет заблочен последним правилом.
Правило трех П:
  • один лист на протокол (per protocol) - для каждого протокола используется свой acl: ip, ipx, apple talk
  • один лист на порт (per port)
  • один лист на направление (per direction) - один лист на входящий трафик (in) один лист на исходящий трафик (out)
Ключи ACL:
  • permit - разрешить
  • deny - запретить
  • remark - комментарий, ремарка
  • established - используется для tcp, позволяет разрешить ответные соединения на указанное правило
  • host - используется при указании конкретного узла (вместо маски 0.0.0.0)
  • any - указывает на любой адрес (вместо маски 255.255.255.255)
  • eqnoeq - равно, неравно (при указании порта)
  • ltgt - меньше больше  (при указании порта)
  • range - диапазон (при указании порта)
  • wildcard mask - маска в которой бит 0 должен проверятся, бит - 1 игнорироваться.
  • log - включает логирование срабатываний листа
Стандартные нумерованные листы доступа:
  • Используемые номера от 1 до 99 и 1300 до 1999
  • access-list {n} {permit | deny | remark}{source ip}{wildcardmask}
  • обрабатывает только ip адрес источника
  • рекомендуется размещать ближе к назначению
Расширенные нумерованные листы доступа:
  • Используемые номера от 100 до 199 и 2000 до 2699
  • access-list {n} {protocol} {permit | deny | remark} {source-ip} {wd-mask} {source-port} {dest-ip} {wd-mask}{dest-port} established
  • обрабатывает ip адрес источника/назначения, тип протокола, порты
  • рекомендуется размещать ближе к источнику
Именованные листы доступа:
  • вместо номера используется имя, что позволяет сразу понять назначение листа
  • ip access-list {standart | extended} listname
  • позволяют нумеровать строки, удобно при добавлении новых правил в любое место листа
  • позволяют редактировать содержимое листа без пересоздания

Применение ACL на интерфейс: ip access-group n {in | out}
Применение ACL на линейный интерфейс: ip access-class n {in | out}

Комплексные листы доступа:
  • Динамические (Dynamic) - позволяют динамически временно добавлять правила в лист доступа, к примеру после аутентификации пользователя на маршрутизаторе
  • Рефлексивные (Reflexive) - позволяют более гибко разрешать входящий трафик в ответ на исходящие соединения (в отличие от established работают не только с tcp, но и с другими протоколами)
  • Основанные на времени (TimeBased) - позволяют разрешить/запретить доступ по правилам листа только в определенный диапазон времени

Посмотреть листы доступа и количество срабатываний можно так: show access-lists {n | name}

Лабораторка Frame Relay Point-to-Point

Frame Relay, протокол канального уровня использующийся провайдерами для предоставления услуги по объединению удаленных офисов предприятия в единую сеть.
Рассмотрим пример настройки оборудования для работы с протоколом frame relay с использованием логических point-to-point интерфейсов:
Топология:
Настройка: 
HQ:

interface Serial0/0/0
 no ip address
 encapsulation frame-relay
!
interface Serial0/0/0.100 point-to-point
 ip address 192.168.254.1 255.255.255.252
 frame-relay interface-dlci 100
!
interface Serial0/0/0.200 point-to-point
 ip address 192.168.254.5 255.255.255.252
 frame-relay interface-dlci 200
!
interface Serial0/0/0.300 point-to-point
 ip address 192.168.254.9 255.255.255.252
 frame-relay interface-dlci 300
ROf1:
interface Serial0/0/0
 no ip address
 encapsulation frame-relay
!
interface Serial0/0/0.100 point-to-point
 ip address 192.168.254.2 255.255.255.252
 frame-relay interface-dlci 100
!
interface Serial0/0/0.400 point-to-point
 ip address 192.168.254.13 255.255.255.252
 frame-relay interface-dlci 400
!
interface Serial0/0/0.500 point-to-point
 ip address 192.168.254.17 255.255.255.252
 frame-relay interface-dlci 500
ROf3:
interface Serial0/0/0
 no ip address
 encapsulation frame-relay
!
interface Serial0/0/0.200 point-to-point
 ip address 192.168.254.6 255.255.255.252
 frame-relay interface-dlci 200
!
interface Serial0/0/0.500 point-to-point
 ip address 192.168.254.18 255.255.255.252
 frame-relay interface-dlci 500
!
interface Serial0/0/0.600 point-to-point
 ip address 192.168.254.21 255.255.255.252
 frame-relay interface-dlci 600
ROf4:
interface Serial0/0/0
 no ip address
 encapsulation frame-relay
!
interface Serial0/0/0.300 point-to-point
 ip address 192.168.254.10 255.255.255.252
 frame-relay interface-dlci 300
!
interface Serial0/0/0.400 point-to-point
 ip address 192.168.254.14 255.255.255.252
 frame-relay interface-dlci 400
!
interface Serial0/0/0.600 point-to-point
 ip address 192.168.254.22 255.255.255.252
 frame-relay interface-dlci 600
Проверяем:
Вывод show frame-relay map показывает имеющиеся маршруты

Вывод show frame-relay pvc показывает состояние каналов
Послесловие: 
  • В данной лабораторке настроена логическая топология full mesh, т.е. каждый с каждым, итого 6 каналов.
  • Для маршрутизации пакетов используются статические маршруты.
Скачать: pkt-файл
Ссылки: 

Лабораторная по HSRP

Основная задача и предназначение данного протокола состоит в том, чтобы добиться практически 100% доступности и отказоустойчивости первого хопа от отправителя. Это достигается путем использования у двух или более маршрутизаторов или маршрутизирующих коммутаторов третьего уровня одного IP адреса и MAC адреса так называемого виртуального маршрутизатора.
Топология:

Настройка:
R1:
!
interface FastEthernet0/0
ip address 172.16.1.1 255.255.255.0
!
interface FastEthernet0/1
ip address 192.168.1.1 255.255.255.0
standby 1 ip 192.168.1.3
standby 1 priority 160
standby 1 preempt
standby 1 authentication md5 key-string cisco
standby 1 track FastEthernet0/0 50
!
R2:
!
interface FastEthernet0/0
ip address 172.16.1.2 255.255.255.0
!
interface FastEthernet0/1
ip address 192.168.1.2 255.255.255.0
standby 1 ip 192.168.1.3
standby 1 priority 170
standby 1 preempt
standby 1 authentication md5 key-string cisco
standby 1 track FastEthernet0/0 50
!
Проверяем:
Роутер с большим приоритетом (R2) является активным шлюзом, роутер с меньшим приоритетом (R1) находится в режиме ожидания.
Выключим интерфейс fa0/0 активного шлюза (R2), т.к. в настройке мы указали следить за этим интерфейсом и при его отказе понизить приоритет на 50.
Указанный в настройках параметр preempt позволяет роутеру перейти в активное состояние если его приоритет выше, чем у текущего активного роутера. После изменения приоритета, роутер R2 перешел в состояние ожидания, а R1 стал активным.
  • Если бы параметр preemt не был использован, при смене приоритетов R2 все равно остался бы активным
  • Значение приоритета HSRP на роутерах по умолчанию = 100.
  • В таком примере один из роутеров в топологии простаивает, что не есть хорошо. Для распределения нагрузки между обоими роутерами можно создать вторую группу на тех же интерфейсах (т.е. два виртуальных шлюза). И затем половине компьютеров сети выдать один шлюз, половине - другой. Хотя если задача сводится к балансировке, правильнее использовать протокол GLBP.
Ссылки:

Лабораторка на Inter-VLAN Routing

Пример настройки Inter-VLAN Routing на маршрутизаторах/коммутаторах 3 уровня Cisco.
Пример настройки с использованием маршрутизатора:
R1:

R1(config)# interface fastethernet 0/0
R1(config-if)# no ip address
R1(config-if)# no shutdown

R1(config)# interface fastethernet 0/0.2
R1(config-if)# encapsulation dot1q 2
R1(config-if)# ip address 172.16.1.1 255.255.255.0

R1(config)# interface fastethernet 0/0.3
R1(config-if)# encapsulation dot1q 3
R1(config-if)# ip address 172.16.2.1 255.255.255.0

R1# copy running-config startup-config

S0:
S0(config)# vtp domain cisco

S0(config)# vlan 2
S0(config)# vlan 3

S0(config)# interface range fastethernet 0/1-3
S0(config-if)# switchport mode trunk

S0# copy running-config startup-config
Пример настройки с использованием коммутатора 3 уровня:
MS0:
MS0(config)# vtp domain cisco

MS0(config)# vlan 2
MS0(config)# vlan 3

MS0(config)# ip routing

MS0(config)# interface range fastethernet 0/1-2
MS0(config-if)# switchport trunk encapsulation dot1q
MS0(config-if)# switchport mode trunk

MS0(config)# interface vlan 2
MS0(config-if)# ip address 172.16.1.1 255.255.255.0

MS0(config)# interface vlan 3
MS0(config-if)# ip address 172.16.2.1 255.255.255.0

MS0# copy running-config startup-config
Пример настройки коммутаторов 2 уровня (одинаковая для обоих топологий):
S-1-2-3-4:

S(config)# interface range fastethernet 0/1
S(config-if)# switchport mode trunk

S(config)# interface range fastethernet 0/2
S(config-if)# switchport mode access
S(config-if)# switchport access vlan 2

S(config)# interface range fastethernet 0/2
S(config-if)# switchport mode access
S(config-if)# switchport access vlan 3

S# copy running-config startup-config
Проверяем конфигурацию:

PS Если мы создаем на роутере субинтерфейс для native vlan, то это нужно указать в настройке интерфейса
пример: R1(config-if)# encapsulation dot1q 2 native