Kitobni o'qish: «Справочник по настройке сетевого оборудования Cisco»
Введение
Об этой книги
В процессе подготовки к получению сертификатов нарабатывался материал, файлы с командами и выводами show и debug которые приходилось систематизировать и объединять в один большой файл для удобства поиска, изучения и хранения. Результатом это работы и стала эта книга и она является справочным материалом для настройки сетевого оборудования компании Cisco. К сожаленью должен предупредить, что возможно не корректное отображение команд show и debug, а также возможны опечатки и ошибки, но я буду продолжать дополнять и редактировать это произведение по этому не судите строго, всё отраженные в данной книге команды были отработаны лично мною. Также стоит заметить, что некоторые команды на новом оборудование могут иметь другой синтаксис.
С обозначением, всё достаточно просто, адреса на оборудование совпадают с номером устройства, к примеру 10.0.21.1 принадлежит маршрутизатору r1, по третьему октету видно что он соединен с маршрутизатором r2, другой пример адрес 10.0.214.1 общий для маршрутизаторов r1, r2, r4. Сеть 10.0.12.0 также находится между ними где маршрутизатору r1 принадлежит адрес 10.0.12.1, а r2 10.0.12.2. Также в некоторых примерах есть Frame-relay не обращайте внимание, просто на нем было на тот момент проще сделать, хотя я лично не встречал данного типа сетей.
Первоначальная настройка коммутаторов и маршрутизаторов
Оборудование Cisco имеет два основных режима работы: пользовательский (user mode) и привилегированный (privileged mode). Пользовательский режим использует приглашение
Router>
В данном режиме имеется множественные ограничения, просмотреть, что доступно из данного режима можно вводом знака вопроса ?, который также является подсказкой. Для того чтобы изменить конфигурацию устройства необходимо войти в привилегированный режим, для этого вводиться команда enable
Router>enable
И переходим в привилегированный режим:
Router#
Для того чтобы приступить к настройке устройства, необходимо перейти в режим настройки командой configure terminal
Router#configure terminal
Переходим в режим глобального конфигурирования:
Router(config)#
Для выхода из этого режима можно воспользоваться командой exit, end или Ctrl+Z, команда exit переводит на шаг назад, а две других сразу в привилегированный режим
Для сохранения изменений в устройстве необходимо в привилегированном режиме ввести команду
Router#copy running-config startup-config
или
Router#write
Либо это можно сделать в любом другом режиме, используя команду do:
Router(config)#do copy running-config startup-config
Просмотреть сделанные изменения или конфигурацию, можно путем команды show. К примеру, для просмотра конфигурации достаточно набрать
Router#show running-config
Для просмотра из режима настройки
Router(config)#do show running-config
При этом не надо набирать команду целиком, достаточно набрать sh run, если для устройства команда будет не понятна, оно обозначит не понятный символ символов каретки (^).
Для полного удаления конфигураций, Вам нужно использовать старый маршрутизатор или коммутатор на новом месте, воспользуйтесь командой:
Router#erase startup-config
После этого перегрузите его командой:
Router#reload
Также можно перегрузить устройство в определенное время, Вы хотите это сделать в 20:00 сегодня:
Switch# reload at 20:00
И в определенный день:
Switch# reload at 20:00 jun 10
Также надо помнить, что коммутатор содержит таблицы виртуальных локальных сетей (vlan) в отдельном файле и для их удаления Вам необходимо удалить этот файл или удалить виртуальные локальные сети вручную.
Удаление всех виртуальных локальных сетей:
sw2#delete flash:vlan.dat
Удаление виртуальной локальной сети (vlan) под номером 234:
sw2(config)#no vlan 234
Так же считаю очень полезным знание клавиш редактирования в командной строке, ниже приведена таблица:
Клавиша Описание
Ctrl+A Возвращает курсор к началу текущей строки
Ctrl+B Перемещает курсор на один символ назад
Ctrl+D Удаляет символ слева от курсора
Ctrl+E Перемещает курсор в конец строки
Ctrl+F Перемещает курсор вперед на один символ
Ctrl+K Удаляет все символы от текущего положения курсора до конца строки
Ctrl+N Переход на следующую в предыстории сеанса команду
Ctrl+P Переход на предыдущую в предыстории сеанса команду
Ctrl+T Меняет местами текущий символ и символ слева от курсора
Ctrl+R Перерисовывает или вводит заново текущую строку
Ctrl+U Очищает строку
Ctrl+W Удаляет слово слева от курсора
Ctrl+X Удаляет все символы от текущего положения курсора и до начала строки
Ctrl+Y Вставляет символы, удаленные последними, на место соответствующие текущему положению курсора
Ctrl+Z Выход из текущего режима конфигурирования и возврат в предыдущий режим
Табуляция Попытка завершить текущую команду
↑ Переход назад в предыстории команд
↓ Переход вперед в предыстории команд
← Перевод курсора влево
→ Перевод курсора вправо
Ctrl+^, затем X Прерывание выполнения любой команды
Пробел Позволяет пролистывать блоками.
Следует знать команды оптимизации запросов, пример:
Switch#show running-config
При вводе Вам будет показана вся конфигурация, но Вы можете оптимизировать запрос, используя команды begin, include, exclude и применяемую только для маршрутизаторов команду section. Как это выглядит на практике:
Switch#show running-config | begin interface
При выводе Вам будет представлена информация с того момента где в строке есть слово interface, соответственно если вы примените include, то получите только те строки, где присутствует интересующая Вас команда:
Switch# show interface | include protocol
Vlan 1 is up, line protocol is up
FastEthernet0/0 is up, line protocol is up
Ваше сетевое оборудование, для удобства, должно иметь имена, задается это командой:
Router(config)#hostname r1
После ввода команды видно как мы назвали маршрутизатор:
r1(config)#
В начале настройки устройства, для удобства работы на нем следует ввести несколько команд, которые я привожу ниже.
Для отключения разрешения символьных имен:
r1(config)#no ip domain-lookup
r1(config)#line console 0
Вводим бесконечное значение тайм-аута, не будет отключаться сессия:
r1(config-line)#exec-timeout 0 0
Делаем синхронизацию вывода не запрошенных сообщений:
r1(config-line)#logging synchronous
r1(config-line)#exit
Для удаленного управления оборудование мы должны ввести следующие команды:
Заводим пользователя и пароль для него и выставляем самый высокий уровень привилегий:
r1(config)#username admin privilege 15 password cisco
Но лучше сделать это вот так:
Заменяем слово password на secret, и Ваш пароль будет защищён.
r1(config)#username admin privilege 15 secret cisco
Настраиваем доступ по SSH, для этого вводим следующие команды:
Нужно указать Ваш домен, имя маршрутизатору мы уже выбрали:
r1(config)#ip domain-name cisco.net
r1(config)#crypto key generate rsa
Далее появиться запрос на размер ключа, ставим 2048, так как желательно самое большое значение, если данное значение ввести не удается ставим максимально возможное.
Вводим нужную версию:
r1(config)#ip ssh version 2
Ниже задаем, сколько подключений возможно, в примере ниже мы установили пять, с 0 по 4, но можем установить и больше:
r1(config)#line vty 0 4
Позволяем вход для локально заданных пользователей:
r1(config-line)#login local
Разрешаем два типа подключений:
r1(config-line)#transport input telnet ssh
Выходим и сохраняемся:
r1(config-line)#end
r1#write
Проверить мы можем командой show running-config, а также show ip ssh.
Посмотреть информацию об открытых сессиях можно командой show sessions, а через show users информацию об активных линиях.
Не забывайте сохраняться после внесения изменений:
r1# copy running-config startup-config
Также для удобства важно подписывать интерфейсы, как показано ниже:
r1(config)#interface f0/0
r1(config-if)#description *** Connects to router r2 ***
И задаём адрес на интерфейсе:
r1(config-if)#ip address 10.1.1.1 255.255.255.0
На этом примере показано изменение скорость и дуплекс на интерфейсе:
sw1#configure terminal
sw1(config)#interface f0/0
sw1(config-if)#speed ?
10 Force 10 Mbps operation
100 Force 100 Mbps operation
auto Enable AUTO speed configuration
sw1(config-if)#duplex ?
auto Enable AUTO duplex configuration
full Force full duplex operation
half Force half-duplex operation
Проверив командой show, мы видим, что по умолчанию на данном интерфейсе установлено авто скорость и дуплекс:
sw1(config-if)#do sh int f0/0 | inc Auto
Auto-duplex, Auto-speed
При попытке задать адрес на интерфейсе коммутатора, мы получим следующие сообщение:
sw1(config-if)#ip address 10.1.1.1 255.255.255.0
% IP addresses may not be configured on L2 links.
И если нам нужно задать на этом порту IP адрес нам надо сделать данный интерфейс интерфейсом третьего уровня, мы должны сделать следующие:
sw1(config-if)#no switchport
И после этого вводим адрес и проверяем интерфейс:
sw1(config-if)#ip address 10.1.1.1 255.255.255.0
sw1(config-if)#do show run interface f0/0
Building configuration…
Current configuration : 83 bytes
!
interface FastEthernet0/0
no switchport
ip address 10.1.1.1 255.255.255.0
end
Мы установили нужный адрес.
Если мы хотим отменить данную команду и сделать данный интерфейс интерфейсом второго уровня, вводим:
sw1(config-if)#switchport
Команда shutdown отключает интерфейс, команда no shutdown включает его, на маршрутизаторах интерфейсы по умолчанию выключены.
Мы можем при необходимости изменять MTU на нашем устройстве:
По умолчанию оно 1500, для интерфейсов от 10 до 100 Mb/s область от 1500 до 1998 byte.
sw1(config)#system mtu <указываем значение>
По умолчанию оно 1500,для интерфейсов 1000 Mb/s область от 1500 до 9000 byte.
sw1(config)#system mtu jumbo <указываем значение>
По умолчанию оно 1500 и может быть любым, но не факт, что будет принято.
r1(config)#system mtu routing <указываем значение>
Для того чтобы новое MTU вступило в силу требуется сохранить конфигурацию и перегрузить устройство.
Иногда требуется восстановить настройки интерфейса по умолчанию, это делается командой приведенной ниже:
sw1(config)#default interface f0/0
Building configuration…
Interface FastEthernet0/0 set to default configuration
sw1(config)#
Так же на любом интерфейсе можно создать под интерфейсы, делается это так:
r1(config)#interface s0/0/0
Удалили адрес на интерфейсе:
r1(config-if)#no ip address
Включили интерфейс, как я писал ранее, он по умолчанию отключен:
r1(config-if)#no shutdown
Задаем пару под интерфейсов:
r1(config-if)#interface s0/0/0.1 point-to-point
r1(config-if)#ip address 10.1.1.1 255.255.255.0
r1(config-if)#interface s0/0/0.2 point-to-point
r1(config-if)#ip address 10.1.2.1 255.255.255.0
На одном интерфейсе можно задать несколько адресов:
r1(config)#interface s0/0/0
r1(config-if)#ip address 10.1.1.1 255.255.255.0
Просто добавляем в конце команду secondary:
r1(config-if)#ip address 10.1.2.1 255.255.255.0 secondary
Также на оборудование используется петлевой интерфейс, данный интерфейс удобен для тестирования оборудования, создается он командой:
r1(config)# interface loopback 0
r1(config-if)# ip address 1.1.1.1 255.255.255.255
Мы можем настраивать сразу насколько интерфейсов, это удобно при настройке портов доступа на коммутаторе.
Команда range позволяет это сделать:
sw1(config)#interface range f0/1 – 24
Для обнаружения соседних устройств, в оборудование Cisco используется частный протокол CDP – Cisco Discovery Protocol, протокол может быть включен как глобально на устройстве, так и только на определенном интерфейсе:
Глобальное включение, выключение:
r1(config)#(no) cdp run
r1(config)#interface s0/0/0
Пример включения, выключение на интерфейсе:
r1(config-if)#(no) cdp enable
Просмотр соседних устройств, при добавлении слова detail будет предоставлена более детальная информация о соседних устройствах:
r1#show cdp neighbors (detail)
Следует также помнить об открытом протоколе LLDP – Link Layer Discovery Protocol который также помогает собрать информацию о соседях, он включается командой показанной ниже и проверяется похожими с cdp командами:
r1(config)#run lldp
r1# show lldp ?
Данная ниже команда отобразит информацию о программном обеспечении, самом устройстве и его аппаратной части:
r1#show version
Cisco IOS Software, C2900 Software (C2900-UNIVERSALK9-M), Version 15.1(4)M1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2011 by Cisco Systems, Inc.
Compiled Tue 14-Jun-11 19:25 by prod_rel_team
ROM: System Bootstrap, Version 15.0(1r)M12, RELEASE SOFTWARE (fc1)
r1 uptime is 13 hours, 43 minutes
System returned to ROM by reload at 18:25:57 MSK Tue May 28 2013
System restarted at 18:27:34 MSK Tue May 28 2013
System image file is "flash0:c2900-universalk9-mz.SPA.151-4.M1.bin"
Last reload type: Normal Reload
Last reload reason: Reload Command
–– часть информации удалена –
Cisco CISCO2901/K9 (revision 1.0) with 487424K/36864K bytes of memory.
Processor board ID FCZ1540C5LU
2 Gigabit Ethernet interfaces
1 terminal line
DRAM configuration is 64 bits wide with parity enabled.
255K bytes of non-volatile configuration memory.
255744K bytes of ATA System CompactFlash 0 (Read/Write)
License Info:
License UDI:
––
Device# PID SN
––
*0 CISCO2901/K9 FCZХХХХХХХ
Technology Package License Information for Module:'c2900'
––
Technology Technology-package Technology-package
Current Type Next reboot
––
ipbase ipbasek9 Permanent ipbasek9
security None None None
uc None None None
data None None None
Configuration register is 0x2102
Для установки времени используем следующие команды:
Устанавливаем время:
r1#clock set 08:00:00 Jan 2011
Часовой пояс:
r1(config)#clock timezone MSK+4
Задаем для маршрутизатора сервер времени:
r1(config)#ntp server 10.1.1.2
Данной командой маршрутизатор назначается сервером времени:
r2(config)#ntp master
Данная команда показывает время на нашем устройстве:
r1#show clock
Заставляет маршрутизатор обновлять часы по времени NTP-сервера:
r1(config)#clock update-calendar
Заставляет маршрутизатор задействовать внутренний календарь для получения эталонного времени:
r1(config)#clock calendar-valid
Подводим итог:
Для первоначальной настройки маршрутизатора или коммутатора мы должны ввести следующие команды и обязательно на подключенном к нашей сети интерфейсе указать адрес:
Router>enable
Router#conf t
Router(config)#hostname r1
r1(config)#interface F0/0
r1(config-if)#no shutdown
r1(config-if)#ip add 10.0.12.1 255.255.255.0
r1(config)#ip route 0.0.0.0 0.0.0.0 10.0.12.2
r1(config)#no ip domain-lookup
r1(config)#line console 0
r1(config-line)#exec-timeout 0 0
r1(config-line)#logging synchronous
r1(config-line)#exit
r1(config)#username admin privilege 15 secret cisco
r1(config)#ip domain-name cisco.net
r1(config)#crypto key generate rsa 2048
r1(config)#ip ssh version 2
r1(config)#line vty 0 4
r1(config-line)#login local
r1(config-line)#transport input telnet ssh
r1(config-line)#exit
r1(config)#exit
r1#clock set 08:00:00 Jan 2020
r1#write
Теперь мы можем подключиться к данному устройству по протоколам telnet и ssh с соседнего устройства, к примеру тут на него указан маршрут по умолчанию.
Коммутация
Виртуальная локальная сеть
Virtual
Local
Area
Network
(
Vlan
)
Для виртуально локальной сети (vlan) могут быть назначены номера от 1 до 1005, в прозрачном варианте (transparent) от 1 до 4094. Для Vlan можно назначить любое имя, но предпочтительнее называть их по их функциям, к примеру, admin ту, в которой работают администраторы и так далее:
Создаем виртуальную локальную сеть (vlan):
sw1(config)#vlan 234
Следующей командой задаем имя для данной виртуальной локальной сети:
sw1(config-vlan)#name VLAN234
sw1(config-vlan)#end
sw1#wr
Удалить виртуальную локальную сеть (vlan) можно простои командой no, пример приведён ниже:
sw1(config)#no vlan 234
Порт, предназначенный для одной виртуальной локальной сети, называется – портом доступа (access port). Порт настраивается следующими командами:
sw1(config)#interface f0/2
Назначаем порт портом доступа:
sw1(config-if)# switchport mode access
Задаем ему виртуальную локальную сеть (vlan):
sw1(config-if)# switchport access vlan 234
Проверить порт можно командой, показанной ниже:
sw1#show interface f0/2 switchport
Name: Fa0/2
Switchport: Enabled
Administrative Mode: static access
Operational Mode: static access
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 234 (Support)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: none
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk Native VLAN tagging: enabled
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk associations: none
Administrative private-vlan trunk mappings: none
Operational private-vlan: none
Trunking VLANs Enabled: ALL
Pruning VLANs Enabled: 2-1001
Capture Mode Disabled
Capture VLANs Allowed: ALL
Protected: false
Unknown unicast blocked: disabled
Unknown multicast blocked: disabled
Appliance trust: none
Пример создание двух виртуальных локальных сетей (vlan) и назначения им интерфейсов:
sw1(config)#vlan 5
sw1(config-vlan)#name vlan5
sw1(config-vlan)#vlan 43
sw1(config-vlan )#name vlan43
sw1(config-vlan)#exit
sw1(config)#interface FastEthernet0/5
sw1(config-if)#switchport access vlan 5
sw1(config-if)#interface FastEthernet0/24
sw1(config-if)#switchport access vlan 43
sw1(config-if)#end
sw1#wr
Посмотреть мы можем, командой:
sw1#show interface status
Port Name Status Vlan Duplex Speed Type
Fa0/1 notconnect 1 auto auto 10/100BaseTX
Fa0/2 notconnect 1 auto auto 10/100BaseTX
Fa0/3 connected 1 a-half a-10 10/100BaseTX
Fa0/4 notconnect 1 auto auto 10/100BaseTX
Fa0/5 vlan5 connected 5 a-half a-10 10/100BaseTX
Fa0/24 vlan43 connected 43 a-half a-10 10/100BaseTX
–– часть информации удалена –
Если мы хотим поменять одну виртуальную локальную сеть (vlan) на другую, делается это просто:
Для начала данная виртуальная локальная сеть (vlan) должна присутствовать на коммутаторе. Проверить виртуальную локальную сеть можно командой show vlan brief.
Ниже приведен пример команды:
sw1#show vlan brief
VLAN Name Status Ports
–– – – –
1 default active Fa0/6,Fa0/7,Fa0/8, Fa0/9
Fa0/11,Fa0/12,Fa0/13,Fa0/14
Fa0/15,Fa0/16,Fa0/17,Fa0/18
Gi0/1, Gi0/2
30 VLAN30 active
33 VLAN33 active
42 VLAN42 active
51 VLAN51 active Fa0/5
54 VALN54 active Fa0/4
234 VLAN234 active Fa0/2
243 VLAN243 active
300 VALN300 active Fa0/3
1002 fddi-default act/unsup
1003 trcrf-default act/unsup
Допустим, мы хотим установить, на интерфейс Fa0/3 vlan 30 для этого вводим следующие команды
sw1(config)#interface f0/3
sw1(config)#switchport access vlan 30
sw1(config)#exit
sw1#show vlan brief | i 30
30 VLAN30 active Fa0/3
После проверки мы видим, что на третьем интерфейсе вместо 300 находиться 30 виртуальная локальная сеть (vlan), ну соответственно мы должны обязательно сохранить наши изменения командой wr.
Магистральный протокол виртуальной локальной сети (VTP) Vlan Trunking Protocol
Протокол VTP используется для создания и управления виртуальными локальными сетями. Для настройки VTP перейдем в режиме конфигурирования и введем vtp
После ввода знака вопроса, мы видим, что мы можем настроить
sw1(config)#vtp ?
domain Set the name of the VTP administrative domain.
file Configure IFS file system file where VTP configuration is stored.
interface Configure interface as the preferred source for the VTP IP updater address.
mode Configure VTP device mode
password Set the password for the VTP administrative domain
pruning Set the administrative domain to permit pruning
version Set the administrative domain to VTP version
Добавив команду режим (mode) мы видим, что существует три модели настройки VTP:
sw2(config)#vtp mode ?
client Set the device to client mode.
server Set the device to server mode.
transparent Set the device to transparent mode
Режим прозрачный (transparent) поддерживает расширенные виртуальные локальные сети (vlans) от 1 до 4094. Он более удобен в использовании, так как в прозрачном режиме коммутатор только передает информацию и не применяет её к своей конфигурации.
Режим клиент (client)применяет к себе все настройки сделанные на сервере.
Режим сервер (server) предназначен для ввода и удаления новых виртуальных локальных сетей, на коммутаторах он установлен по умолчанию.
Показанный ниже утилита используется, только в режиме сервера (server) позволяет сократить трафик в сети. Но при этом очень сильно загружает коммутатор, который, является сервером:
sw1(config)#vtp pruning
Мы настраиваем свои коммутаторы так:
sw1(config)#vtp domain CISCO
sw1(config)#vtp mode transparent
sw1(config)#vtp password cisco
Не обязательно для VTP задавать домен и паспорт, но очень важно указать модель использования коммутатора, по умолчанию коммутатор находиться в режиме сервера (server).
Для проверки вводим команду, показанную ниже, и получаем:
sw1#show vtp status
VTP Version : running VTP2
Configuration Revision : 0
Maximum VLANs supported locally : 1005
Number of existing VLANs : 16
VTP Operating Mode : Transparent
VTP Domain Name : CISCO
VTP Pruning Mode : Disabled
VTP V2 Mode : Enabled
VTP Traps Generation : Disabled
MD5 digest : 0x07 0x4A 0x67 0xF3 0xA0 0x0E 0x9B 0xAD
Configuration last modified by 150.2.20.1 at 3-1-93 01:18:04
Данная ниже команда показывает заданный нами паспорт:
sw1#show vtp password
Конечно, настроить VTP область можно и так:
sw1(config)#vtp domain CISCO
sw1(config)#vtp mode server
sw1(config)#vtp password cisco
А на все другие коммутаторы сделать клиентами:
sw2(config)#vtp domain CISCO
sw2(config)#vtp mode client
sw2(config)#vtp password cisco
При данной модели, как уже было, написано все изменения можно будет вносить на сервере, и они будут применяться ко всем коммутаторам сети. Но данный вариант настройки имеет один недостаток, если в систему будет, поставлен коммутатор с более высоким номером Configuration Revision он, перестроит всю систему. Что приведет к выводу сети из строя.
Протокол VTP для маршрутизаторов, при наличии в нем модуля коммутатора, настраивается другим способом, пример приводиться ниже:
sw1#vlan database
sw1(vlan)#vtp transparent
sw1(vlan)#vtp domain cisco.com
sw1(vlan)#vtp password cisco
Также мы можем добавить нужные нам функции pruning и т.д.
sw1(vlan)#exit
sw1#wr
Подводим итог:
sw1#conf t
sw1(config)#vtp mode transparent
sw1(config)#exit
sw1#wr
Для нормальной работы коммутатора достаточно одной этой команды, все изменения по vlan мы будем вносить в наши коммутаторы сами.
Коммутируемый виртуальный интерфейс Switched Virtual Interface (SVI)
Пример настройки приведен ниже.
sw1(config)#interface vlan 234
sw1(config-if)#ip address 10.10.234.1 255.255.255.0
sw1(config-if)#exit
Виртуальная локальная сеть (Vlan) на маршрутизаторах
На старых маршрутизаторах виртуальная локальная сеть задается другим способом, пример приведен ниже:
sw1#vlan database
sw1(vlan)#vlan 234 name ADMIN
sw1(vlan)#exit
Подводим итог:
sw1#conf t
sw1(config)#vlan 10
sw1(config-vlan)#name user_vlan
sw1(config)#vlan 11
sw1(config-vlan)#name management_vlan
sw1(config-vlan)#exit
sw1(config)#interface range f0/1 – 24
sw1(config-if)# description *** Access Interface ***
sw1(config-if)#switchport mode access
sw1(config-if)#switchport access vlan 10
sw1(config-if)#exit
sw1(config)#interface vlan 11
sw1(config-if)# description *** Management Interface ***
sw1(config-if)#ip address 10.0.11.2 255.255.255.0
sw1(config-if)#exit
sw1(config)#exit
sw1#wr
Мы создали две виртуальные локальные сети (vlans) для пользователей под номером 10 с портами от 1 до 24 и 11 для управления данным коммутатором, которой присвоили адрес 10.0.11.2. Обязательно в конце сохраняемся.
Магистральный порт (Trunk port)
Порт, предназначенный для множества VLAN, называется – Trunk port, магистральным портом. Протоколы магистральных портов ISL, 802.1q. Можно ещё вспомнить DTP (Dynamic Trunking Protocol), но он встречается редко в основном на очень старых коммутаторах.
ISL (Inter-Switch Link) частный протокол компании Cisco, может использоваться только на коммутаторах Cisco. Сразу стоит отметить, что на новых коммутаторах данный протокол уже не используется.
Мы задаем его сразу для двух портов, и для этого используем команду range, этой командой мы можем задать и большую область портов.
sw1(config)# interface range GigabitEthernet0/1 – 2
sw1(config-if)#switchport trunk encapsulation isl
sw1(config-if)#switchport mode trunk
Проверка осуществляется командой:
sw1#show interface trunk
802.1q открытый стандарт поддерживается всеми производителями, его мы и будем использовать, настраивается:
sw1(config)# interface range GigabitEthernet0/1 – 2
sw1(config-if)#switchport trunk encapsulation dot1q
sw1(config-if)#switchport mode trunk
На многих новых коммутаторах, достаточно ввести команду:
sw1(config)# interface range GigabitEthernet0/1 – 2
sw1(config-if)#switchport mode trunk
Так как протокол 802.1q используется по умолчанию.
Проверка осуществляется командой:
sw1#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi0/1 on 802.1q trunking 1
Gi0/2 on 802.1q trunking 1
Port Vlans allowed on trunk
Gi0/1 1-1005
Gi0/2 1-1005
Port Vlans allowed and active in management domain
Gi0/1 1,30,33,42,51,54,234,243,300
GI0/2 1,30,33,42,51,54,234,243,300
Port Vlans in spanning tree forwarding state and not pruned
Gi0/1 1,30,33,42,51,54,234,243,300
Gi0/2 none
Также мы можем сменить native VLAN, она же не тегируемая виртуальная локальная сеть, по умолчанию она 1, но командой показанной ниже мы можем её поменять, к примеру, на 11:
sw1(config)# interface range GigabitEthernet0/1 – 2
sw1(config-if)#switchport trunk native vlan 11
Посмотреть изменения мы можем командой, показанной ниже:
sw1#show interfaces trunk
Port Mode Encapsulation Status Native vlan
Gi0/1 on 802.1q trunking 11
Gi0/2 on 802.1q trunking 11
Если нужно гарантировано отключить DTP (Dynamic Trunking Protocol) на магистральных портах, данный тип поддерживается старым оборудованием, делаем это так:
sw1(config)# interface range GigabitEthernet0/1 – 2
sw1(config-if)#switchport trunk encapsulation dot1q
sw1(config-if)#switchport mode trunk
sw1(config-if)#switchport nonegotiate
Последняя строка отключает DTP.
На магистральных портах, мы можем сделать ограничение по виртуальным локальным сетям (vlans), как это сделать показано ниже:
sw1(config)# interface range GigabitEthernet0/1 – 2
sw1(config-if)#switchport trunk allowed vlan 1-10
Существуют, также возможность удалит, добавить или исключить виртуальную локальную сеть (vlan) на магистральные порты или порт:
sw1(config)# interface range GigabitEthernet0/1 – 2
Удалили vlan 2:
sw1(config-if)#switchport trunk allowed vlan remove 2
Добавили vlan 2:
sw1(config-if)#switchport trunk allowed vlan add 2
Исключить 10 виртуальную локальную сеть:
sw1(config-if)#switchport trunk allowed vlan except 10
Подводим итог:
Для коммутатора 3560, который находиться в ядре или на уровне распределения, это выглядит так:
sw1#conf t
sw1(config)# interface range GigabitEthernet0/1
sw1(config-if)#switchport trunk encapsulation dot1q
sw1(config-if)#switchport mode trunk
sw1(config-if)#switchport trunk allowed vlan 1-10
sw1(config-if)#exit
sw1(config)#exit
sw1#wr
Для коммутатора 2960, который у нас является коммутатором уровня доступа:
sw2#conf t
sw2(config)# interface range GigabitEthernet0/1
sw2(config-if)#switchport mode trunk
sw2(config-if)#exit
sw2(config)#exit
sw2#wr
Сразу стоит отметить, что настройки на магистральных портах могут отличаться, от того, что приведено в данном примере. Мы ограничиваем доступ по виртуальным локальным сетям (vlans) на коммутаторе уровня ядра или распределения соответственно sw2 будут доступны только vlans с 1 по 10. При этом данные виртуальные сети должны быть созданы на обоих коммутаторах.
Проверка осуществляется командой:
sw1#show interface trunk
Port Mode Encapsulation Status Native vlan
Gi0/1 on 802.1q trunking 1
Port Vlans allowed on trunk
Gi0/1 1-4094
Port Vlans allowed and active in management domain
Gi0/1 1-10
Port Vlans in spanning tree forwarding state and not pruned
Gi0/1 1-10
Агрегация каналов EtherCannel 2 уровня
Позволяет объединять до 8 физических интерфейсов в один логический, создается на магистральных портах. Применяется для создания избыточности, следует отметить, что первые два варианта уже не используются и Cisco рекомендует использовать протокол LACP. Пример настройки приведен ниже:
sw1(config)# interface range fa0/19 – 20
sw1(config-if)# channel-group 12 mode on
sw2(config)# interface range fa0/19 – 20
sw2(config-if)# channel-group 12 mode on
EtherCannel 2 уровня Port Aggregation Protocol (PAgP) личный протокол Cisco, возможные применения Auto/Desirable-Desirable, настраивается так:
sw1(config)# interface range fa0/19 – 20
sw1(config-if)# channel-group 12 mode desirable
sw2(config)# interface range fa0/19 – 20
sw2(config-if)# channel-group 21 mode auto
EtherCannel 2 уровня Link Aggregation Control Protocol (LACP) открытый стандарт определенный правилом IEEE 802.3ad, возможные применения Active/Passive-Active, настраивается так:
sw1(config)# interface range fa0/19 – 20
sw1(config-if)# channel-group 12 mode active
sw2(config)# interface range fa0/19 – 20
sw2(config-if)# channel-group 21 mode passive
Подводим итог:
sw1#conf t
sw1(config)# interface range fa0/19 – 20
sw1(config-if)#shutdown
sw1(config-if)#switchport trunk encapsulation dot1q
sw1(config-if)#switchport mode trunk
sw1(config-if)#channel-group 12 mode active
sw1(config-if)#no shutdown
sw1(config-if)#exit
sw1(config)#exit
sw1#wr
sw2#conf t
sw2(config)# interface range fa0/19 – 20
sw2(config-if)#shutdown
sw2(config-if)#switchport trunk encapsulation dot1q
sw2(config-if)#switchport mode trunk
sw2(config-if)#channel-group 21 mode active
sw2(config-if)#no shutdown
sw2(config-if)#exit
sw2(config)#exit
sw2#wr
Мы подняли EtherCannel между двумя коммутаторами на портах 19 и 20. Стоит отметить команды shutdown и no shutdown при создании EtherCannel, они нужны для того, чтобы канал корректно поднялся.
Также стоит отметить, что после того как вы подняли Port-channel все изменения, к примеру добавление vlan, надо производить на интерфейсе Port-channel:
sw1#show run interface po12
Building configuration…
Current configuration : 127 bytes
!
interface Port-channel12
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 1-10
switchport mode trunk
end
Проверка осуществляется командой:
sw1# show etherchannel summary
Flags: D – down P – in port-channel
I – stand-alone s – suspended
H – Hot-standby (LACP only)
R – Layer3 S – Layer2
U – in use f – failed to allocate aggregator
u – unsuitable for bundling
w – waiting to be aggregated
d – default port
Number of channel-groups in use: 3
Number of aggregators: 3
Group Port-channel Protocol Ports
––+–+–+–
1 Po12(SU) LACP Gi0/19(P) Gi0/20(P)
Агрегация каналов EtherCannel 3 уровня
Третий уровень обычно используется между уровнями ядра и распределения:
sw1#conf t
sw1(config)# ip routing
sw1(config)# interface port-channel 12
sw1(config-if)# no switchport
sw1(config-if)# ip address 10.1.1.1 255.255.255.0
sw1(config)# interface range fa0/19 – 20
sw1(config-if)# shutdown
sw1(config-if)# no switchport
sw1(config-if)# channel-group 12 mode on
sw1(config-if)# interface range fa0/19 – 20
sw1(config-if)#no shutdown
sw1(config-if)# end
sw1#wr
sw2#conf t
sw2(config)# ip routing
sw2(config)# interface port-channel 21
sw2(config-if)# no switchport
sw2(config-if)# ip address 10.1.1.2 255.255.255.0
sw2(config)# interface range fa0/19 – 20
sw2(config-if)# shutdown
sw2(config-if)# no switchport
sw2(config-if)# channel-group 21 mode on
sw2(config-if)#no shutdown
sw2(config-if)# interface range fa0/19 – 20
sw2(config-if)#no shutdown
sw2(config-if)# end
sw2#wr
Также важно помнить, что на коммутаторе должен быть включен 3 уровень, по умолчанию он может быть выключен, чтобы включить его надо ввести команду, показанную ниже, коммутаторами 3 уровня являются коммутаторы от 3500 серии и выше.
sw1(config)#ip routing
Проверка осуществляется командой:
sw1# show etherchannel summary
Агрегация
каналов
балансировка
нагрузки
(EtherChannel Load Balancing)
Ниже приведен пример настройки для простой сети.
sw1#conf t
sw1(config)#port-channel load-balance dst-ip
sw1(config)#end
sw1#wr
Возможна балансировка по разным значениям, ниже приведены возможные варианты:
dst-ip Dst IP Addr
dst-mac Dst Mac Addr
src-dst-ip Src XOR Dst IP Addr
src-dst-mac Src XOR Dst Mac Addr
src-ip Src IP Addr
src-mac Src Mac Addr
Проверка осуществляется командой:
sw1# show etherchannel load-balance
EtherChannel Load-Balancing Configuration:
dst-ip
EtherChannel Load-Balancing Addresses Used Per-Protocol:
Non-IP: Destination MAC address
IPv4: Destination IP address
IPv6: Destination IP address
Протокол
связующего
дерева
Spanning-Tree Protocol (STP)
Протокол связующего дерева, предназначен для предотвращения петель. Коммутаторы обмениваются BPDU (Bridge Protocol Data Unit) пакетами и на основании обмена данными пакетами выстраивают топологию, обмен пакетами продолжается и после того как была выстроена топология. Также происходит выборы корневого моста (bridge root), корневого порта (root port) и назначенного порта (designated port).Следует отметить, что по умолчанию на коммутаторах Cisco включен режим PVST+ (802.1d). В STP порты могут находиться в следующих состояниях:
Отключен (Disabled)
Слушает (Listening)
Изучает (Learning)
Передает (Forwarding)
Заблокирован (Blocking)
Модель STP выбирается при помощи команды указанной ниже:
sw1(config)#spanning-tree mode ?
mst Multiple spanning tree mode
pvst Per-Vlan spanning tree mode
rapid-pvst Per-Vlan rapid spanning tree mode
PVST+ (802.1d)
Протокол связующего дерева, включен по умолчанию, но он является не лучшим выбором, так как сходиться за очень большой промежуток времени, порядка 50 секунд. Существуют методы ускорения сходимости данного протокола.
Ниже показаны таймеры PVST+ и как их можно, изменить:
sw1(config)# spanning-tree vlan 1-4094 hello-time <1-10>
Hello timer 2 сек по умолчанию.
sw1(config)# spanning-tree vlan 1-4094 forward-time <4-30>
Forward Delay 15 сек по умолчанию.
sw1(config)# spanning-tree vlan 1-4094 max-age <6-40>
Max Age 20 сек по умолчанию.
Также существуют данные ниже команды, которые ускоряют PVST+, первая, ускоряет время изменения корневого порта,3-5 секунд, используется только на коммутаторах доступа. Вторая уменьшает сходимость max-age таймера, используется на всех коммутаторах.
sw1(config)#spanning-tree uplinkfast
sw1(config)#spanning-tree backbonefast
Проверка осуществляется командой:
sw1#show spanning-tree summary
Switch is in pvst mode
–– часть информации удалена –
Rapid-PVST (802.1w)
Более быстрый протокол связующего дерева, для его работы надо настроить команду portfast на всех портах доступа, то есть мы указываем команду switchport mode access на простых портах и добавляем команду portfast и коммутатор не проверяет эти порты во время работы протокола STP. Данная модель более предпочтительна.
Поэтому мы задаем следующую команду на нашем коммутаторе:
sw1(config)#spanning-tree mode rapid-pvst
Проверка осуществляется командой:
sw1#show spanning-tree summary
Switch is in rapid-pvst mode
–– часть информации удалена –
Протокол связующего дерева (STP) выбор корневого коммутатора
По умолчанию для 802.1d и 802.1w, корневой коммутатор будет выбран автоматический, но он может не совпасть с нашим корневым коммутатором или в результате добавления нового коммутатора в сеть, изменить всю топологию сети, поэтому настоятельно рекомендуется задать его самим. Ниже приведены два варианта команд:
sw1(config)# spanning-tree vlan 1-4094 priority 0
sw2(config)# spanning-tree vlan 1-4094 priority 4096
sw1(config)# spanning-tree vlan 1-4094 root primary
sw2(config)# spanning-tree vlan 1-4094 root secondary
В данном примере sw1 является первым корневым для всех виртуальных локальных сетей (vlans), а sw2 вторым корневым для всех виртуальных локальных сетей нашей сети.
Данная команда показывает, что данный коммутатор является корневым для vlan 9
sw1#show spanning-tree vlan 9
VLAN0009
Spanning tree enabled protocol rstp
Root ID Priority 9
Address 001b.544e.3280
This bridge is the root
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 9 (priority 0 sys-id-ext 9)
Address 001b.544e.3280
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Role Sts Cost Prio.Nbr Type
–– – – – – –
Gi1/0/6 Desg FWD 4 128.6 P2p
Gi1/0/7 Desg FWD 4 128.7 P2p
Gi1/0/8 Desg FWD 4 128.8 P2p
Gi1/0/9 Desg FWD 4 128.9 P2p
Gi1/0/10 Desg FWD 4 128.10 P2p
Протокол
связующего
дерева
балансировка
нагрузки
со
стоимостью
порта
(STP Load balancing with Port Cost)
Мы можем также управлять балансировкой при помощи изменения стоимости портов, по умолчанию стоимость гигабитного порта 4, с помощь команды показанной ниже можно изменить её как в большую, так и в меньшую сторону:
sw1(config)#interface Gi0/1
sw1(config-if)#spanning-tree cost <1-65535>
При назначении стоимости равной 1 данный порт будет корневым для коммутатора доступа:
Проверка осуществляется командой:
Show spanning-tree vlan <vlan number>
Протокол связующего дерева балансировка нагрузки с
приоритетом порта (STP Load balancing with Port Priority)
Также возможно изменение роли порта при помощи изменения приоритета:
sw1(config)#interface Gi0/1
sw1(config-if)#spanning-tree port-priority <0-255>
Проверка осуществляется командой:
sw1#Show spanning-tree vlan <vlan number>
Множественный протокол связующего дерева MST (802.1s)
Данный протокол также как и 802.1w достаточно быстрый и используется при очень большом количестве vlan. Настраивается:
sw1(config)#spanning-tree mode mst
sw1(config)#spanning-tree mst configuration
sw1(config-mst)#name MYVLAN
sw1(config-mst)# revision 1
sw1(config-mst)#instance 1 vlan 10, 11, 12, 13, 14, 15
sw1(config-mst)#instance 2 vlan 16, 17, 18, 19, 20, 21
sw2(config)#spanning-tree mode mst
sw2(config)# spanning-tree mst configuration
sw2(config-mst)#name MYVLAN
sw2(config-mst)#revision 1
sw2(config-mst)#instance 1 vlan 10, 11, 12, 13, 14, 15
sw2(config-mst)#instance 2 vlan 16, 17, 18, 19, 20, 21
sw2(config)#spanning-tree mst 2 root primary
Последней строкой задано, что второй коммутатор является корневым для 2 инстанции:
sw3(config)#spanning-tree mode mst
sw3(config)#spanning-tree mst configuration
sw3(config-mst)#name MYVLAN
sw3(config-mst)#revision 1
sw3(config-mst)#instance 1 vlan 10, 11, 12, 13, 14, 15
sw3(config-mst)#instance 2 vlan 16, 17, 18, 19, 20, 21
sw3(config)#spanning-tree mst 1 root primary
Последней строкой задано, что третий является корневым для первой инстанции:
sw4(config)#spanning-tree mode mst
sw4(config)#spanning-tree mst configuration
sw4(config-mst)#name MYVLAN
sw4(config-mst)#revision 1
sw4(config-mst)#instance 1 vlan 10, 11, 12, 13, 14, 15
sw4(config-mst)#instance 2 vlan 16, 17, 18, 19, 20, 21
Проверка осуществляется командой:
show spanning-tree mst configuration
show spanning-tree mst 1
Множественный протокол связующего дерева балансировка нагрузки со стоимостью порта (MST Load balancing with Port Cost)
sw1(config)#interface Gi0/1
sw1(config-if)#spanning-tree mst 1 cost <1-65535>
Проверка осуществляется командой:
sw1#show spanning-tree mst 1
Множественный протокол связующего дерева балансировка нагрузки с приоритетом порта (MST Load balancing with Port Priority)
sw1(config)#interface Gi0/1
sw1(config-if)#spanning-tree mst 1 port-priority <0-255>
Проверка осуществляется командой:
sw1#show spanning-tree mst 1
Подводим итог:
sw1#conf t
sw1(config)#spanning-tree mode rapid-pvst
sw1(config)# spanning-tree vlan 1-4094 root primary
sw1(config)#end
sw1#wr
sw2#conf t
sw2(config)# spanning-tree mode rapid-pvst
sw2(config)# spanning-tree vlan 1-4094 root secondary
sw2(config)#end
sw2#wr
Мы сделали первый коммутатор корневым для всех виртуальных сетей, а второй коммутатор, вторым корневым.
Проверка осуществляется командой:
sw1#show spanning-tree vlan «номер vlan»
Утилиты Протокола связующего дерева STP
Быстрый порт (Portfast)
Данная утилита STP позволяет порту пропустить состояния listening и learning и сразу перейти в состояние forwarding. Она используется только на портах доступа. При её включении поступает предупреждение, что к данному порту нельзя подключать коммутаторы, а только хосты.
Настраивается двумя способами:
В первом варианте вводиться одной строкой и применяется ко всем портам доступа, показано ниже:
sw1(config)#spanning-tree portfast default
Проверка осуществляется командой:
sw1#show spanning-tree summary
Switch is in rapid-pvst mode
Root bridge for: none
Extended system ID is enabled
Portfast Default is enabled
PortFast BPDU Guard Default is enabled
Portfast BPDU Filter Default is disabled
Loopguard Default is disabled
EtherChannel misconfig guard is enabled
UplinkFast is disabled
BackboneFast is disabled
Configured Pathcost method used is short
Во втором варианте и этот вариант более рекомендуем, настраивается на каждом интерфейсе, показано ниже:
sw1(config)#interface FastEthernet0/1
sw1(config-if)#switchport access vlan 9
sw1(config-if)#switchport mode access
sw1(config-if)#spanning-tree portfast
Отключается на интерфейсе командой:
sw1(config-if)#spanning-tree portfast disable
Проверка осуществляется командой:
sw1#show spanning-tree interface FastEthernet 0/1 portfast
VLAN0009 enabled
Или в развернутом варианте:
sw1#show spanning-tree interface FastEthernet 0/1 detail
Port 3 (FastEthernet0/1) of VLAN0016 is designated forwarding
Port path cost 19, Port priority 128, Port Identifier 128.3.
Designated root has priority 16, address 001b.544e.3280
Designated bridge has priority 32784, address 001b.2b24.2f00
Designated port id is 128.3, designated path cost 4
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
The port is in the portfast mode
Link type is point-to-point by default
Bpdu guard is enabled
Loop guard is enabled by default on the port
BPDU: sent 33130, received 0
Защита
от
BPDU
пакетов
(Bpduguard)
Данная утилита используется на уровне доступа, она отключает интерфейс, переходит в состояние err-disable, при приходе на него BPDU пакета, используется вместе с portfast, чтобы после её срабатывания включить интерфейс, надо дать на заблокированном интерфейсе команду shutdown после этого набрать no shutdown.
В первом варианте вводиться одной строкой и применяется ко всем портам доступа, показано ниже:
sw1(config)#spanning-tree portfast default
sw1(config)#spanning-tree portfast bpduguard default
Проверка осуществляется командой:
sw1#show spanning-tree summary
Switch is in rapid-pvst mode
Root bridge for: VLAN0001, VLAN0116, VLAN0120
Extended system ID is enabled
Portfast Default is enabled
PortFast BPDU Guard Default is enabled
Portfast BPDU Filter Default is disabled
Loopguard Default is enabled
EtherChannel misconfig guard is enabled
UplinkFast is disabled
BackboneFast is disabled
Configured Pathcost method used is short
–– часть информации удалена –
Во втором варианте, настраивается на каждом интерфейсе, и мы используем этот вариант, применение показано ниже:
sw1(config)#interface FastEthernet0/1
sw1(config-if)#spanning-tree bpduguard enable
Отключаем командой показанной ниже.
sw1(config-if)#spanning-tree bpduguard disable
Проверка осуществляется командой:
sw1#show spanning-tree interface FastEthernet 0/1 detail
Port 1 (FastEthernet0/1) of VLAN0009 is designated forwarding
Port path cost 19, Port priority 128, Port Identifier 128.1.
Designated root has priority 9, address 001b.544e.3280
Designated bridge has priority 32777, address 001b.54cb.e580
Designated port id is 128.1, designated path cost 4
Timers: message age 0, forward delay 0, hold 0
Number of transitions to forwarding state: 1
The port is in the portfast mode
Link type is point-to-point by default
Bpdu guard is enabled
Loop guard is enabled by default on the port
BPDU: sent 167665, received 0
Фильтр
BPDU
пакетов
(Bpdufilter)
Данная утилита предназначена, для фильтрации BPDU пакетов, она не пропускает чужой и не отправляет свой BPDU пакет и при этом не отключает интерфейс, к примеру, наш коммутатор стоит против коммутатора нашего провайдера, чтобы не пропускать его BPDU пакеты мы должны установить данную утилиту на интерфейс, обращенный к провайдеру.
Мы можем указать данную команду одной строкой для всех портов portfast:
sw1(config)#spanning-tree portfast default
sw1(config)#spanning-tree portfast bpdufilter default
Проверка осуществляется командой:
sw1#show spanning-tree summary
Switch is in rapid-pvst mode
Root bridge for: VLAN0001, VLAN0116, VLAN0120
Extended system ID is enabled
Portfast Default is enabled
PortFast BPDU Guard Default is disabled
Portfast BPDU Filter Default is enabled
Loopguard Default is enabled
EtherChannel misconfig guard is enabled
UplinkFast is disabled
BackboneFast is disabled
Configured Pathcost method used is short
–– часть информации удалена –
Настраивается на определенном интерфейсе, применение показано ниже:
sw1(config)#interface FastEthernet0/1
sw1(config-if)#spanning-tree bpdufilter enable
Следует заметить, что не стоит использовать данную утилиту вместе с утилитой bpduguard.
Защита коневого коммутатора (Guard root)
Данная утилита позволяет гарантировать не избрание корневым определенного коммутатора, но для её использования обязательно требуется, чтобы до её включения мы избрали коммутатор, который будет у нас корневым и только после этого мы прописываем на интерфейсах в сторону не корневого коммутатора данную команду:
sw1(config)#interface FastEthernet0/24
sw1(config-if)#spanning-tree guard root
Проверка осуществляется командой:
sw1#show spanning-tree inconsistentports
Защита
от
петель
(Guard loop)
Данная утилита обеспечивает дополнительную защиту против образования петель, для предотвращения STP петель за счет однонаправленной связи.
Работает подобно UDLD, но вместо этого использует BDPU keepalive для определения однонаправленного движения. Заблокированные порты будут переведены в состояние LOOP_INCONSISTANT_STATE, чтобы избежать петель.
Глобально задается командой показанной ниже:
sw1(config)#spanning-tree loopguard default
Проверка осуществляется командой:
sw1#show spanning-tree summary
Switch is in pvst mode
Root bridge for: none
EtherChannel misconfig guard is enabled
Extended system ID is disabled
Portfast Default is disabled
PortFast BPDU Guard Default is disabled
Portfast BPDU Filter Default is disabled
Loopguard Default is enabled
UplinkFast is disabled
BackboneFast is disabled
Pathcost method used is short
–– часть информации удалена –
На отдельном интерфейсе задается командой, показанной ниже:
sw1(config)#interface FastEthernet0/24
sw1(config-if)#spanning-tree guard loop
Протокол обнаружения однонаправленной связи UniDirectional Link Detection (UDLD)
Протокол обнаружения однонаправленной связи (UDLD), является протоколом 2 уровня, отслеживает физическую конфигурацию кабелей и обнаруживает однонаправленные соединения и отключает порт. Данные соединения могут быть причиной петель в коммутации, образовывать черные дыры и недетерминированных перенаправлении. Чтобы включить интерфейс, после его отключения, необходимо на интерфейсе выполнить команду shutdown, а потом no shutdown.
Настраивается на интерфейсе:
sw1#conf t
sw1(config)# interface range fa0/19 – 20
Для медной пары:
sw1(config-if)#udld aggressive
Для оптического кабеля:
sw1(config-if)#udld
sw1(config-if)#end
sw1#wr
Проверка осуществляется командой:
sw1# show udld
Туннель через коммутаторы (802.1q Tunneling)
Туннель через коммутаторы 802.1q Tunneling, имеем 2 маршрутизатора их надо соединить туннелем через коммутаторы, следует отметить, что между коммутаторами есть магистральное соединение и на них прописаны vlan, настройка приводиться ниже:
r1(config)#interface f0/0
r1(config-if)#no shutdown
r1(config-if)#interface f0/0.10
r1(config-if)#encapsulation dot1Q 10
r1(config-if)#ip address 10.0.0.1 255.255.255.0
r1(config-if)#interface f0/0.20
r1(config-if)#encapsulation dot1Q 20
r1(config-if)#ip address 20.0.0.1 255.255.255.0
r2(config)#interface f0/0
r2(config-if)#no shutdown
r2(config-if)#interface f0/0.10
r2(config-if)#encapsulation dot1Q 10
r2(config-if)#ip address 10.0.0.2 255.255.255.0
r2(config-if)#interface f0/0.20
r2(config-if)#encapsulation dot1Q 20
r2(config-if)#ip address 20.0.0.2 255.255.255.0
sw1(config)#system mtu 1504
Данный интерфейс смотрит на маршрутизатор r1
sw1(config)#interface f0/1
sw1(config-if)#switchport access vlan 200
sw1(config-if)#switchport mode dot1q-tunnel
sw1(config-if)#l2protocol-tunnel cdp
sw1(config-if)#no cdp enable
sw1(config-if)#interface f0/19
sw1(config-if)#switchport trunk encapsulation dot1q
sw1(config-if)#switchport mode trunk
sw2(config)#system mtu 1504
Данный интерфейс смотрит на маршрутизатор r2
sw2(config)#interface f0/2
sw2(config-if)#switchport access vlan 200
sw2(config-if)#switchport mode dot1q-tunnel
sw2(config-if)#l2protocol-tunnel cdp
sw2(config-if)#no cdp enable
sw2(config-if)#interface f0/19
sw2(config-if)#switchport trunk encapsulation dot1q
sw2(config-if)#switchport mode trunk
Проверяем командой show cdp neighbor и ping на первом и втором маршрутизаторе.
Частные виртуальные локальные сети (Private VLANs)
Частные виртуальные локальные сети используются, когда нужно, чтобы один хост или несколько хостов не имели доступа к общей сети. Соответственно существуют три типа таких портов изолированные (isolated),сообщество (community) и прослушивающий (promiscuous), прослушивающий (promiscuous) порт может общаться со всеми видами портов в пределах частной виртуальной локальной сети. Также через него частные порты могут обмениваться между собой информацией. Варианты настройки приведены ниже:
Настройка изолированной виртуальной локальной сети (isolated vlan)
Обязательно переводим коммутатор в прозрачный режим (transparent) и после этого создаем изолированию виртуальную локальную сеть и первую виртуальную локальную сеть, только одна изолированная сеть может быть привязана к первой сети, к которой она будет привязана:
sw2(config)#vtp transparent
sw2(config-vlan)#vlan 201
sw2(config-vlan)#private-vlan isolated
sw2(config-vlan)#vlan 100
sw2(config-vlan)#private-vlan primary
sw2(config-vlan)#private-vlan association 201
sw2(config-vlan)#end
sw2#wr
Настраиваем порт, к которому будет подключен изолированный хост:
sw2(config)#interface f0/1
sw2(config-if)#switchport mode private-vlan host
sw2(config-if)#switchport private-vlan host-association 100 201
Проверка осуществляется командой:
sw2#show vlan private-vlan
Primary Secondary Type Ports
–– – – –
100 201 isolated Fa0/1
Также посмотреть результат можно и этой командой
sw2#show interface f0/1 switchport
Name: Fa0/1
Switchport: Enabled
Administrative Mode: private-vlan host
Operational Mode: private-vlan host
Administrative Trunking Encapsulation: negotiate
Operational Trunking Encapsulation: native
Negotiation of Trunking: Off
Access Mode VLAN: 1 (default)
Trunking Native Mode VLAN: 1 (default)
Administrative Native VLAN tagging: enabled
Voice VLAN: none
Administrative private-vlan host-association: 100 (VLAN00100) 201 (VLAN00201)
Administrative private-vlan mapping: none
Administrative private-vlan trunk native VLAN: none
Administrative private-vlan trunk Native VLAN tagging: enabled
Administrative private-vlan trunk encapsulation: dot1q
Administrative private-vlan trunk normal VLANs: none
Administrative private-vlan trunk private VLANs: none
Operational private-vlan:
100 (VLAN00100) 201 (VLAN00201)
Настройка сообщества виртуальной локальной сети (community vlan)
В данном случае мы настраиваем закрытое сообщество, где несколько хостов связаны между собой.
sw2(config)#vtp transparent
sw2(config-vlan)#vlan 202
sw2(config-vlan)#private-vlan community
sw2(config-vlan)#vlan 100
sw2(config-vlan)#private-vlan primary
sw2(config-vlan)#private-vlan association 202
sw2(config-vlan)#end
sw2#wr
Назначаем четыре порта, к которым будет привязано данное сообщество:
sw2(config)#interface range f0/2 – 5
sw2(config-if)#switchport mode private-vlan host
sw2(config-if)#switchport private-vlan host-association 100 202
sw2(config-if)#end
sw2#wr
Проверка осуществляется командами:
sw2#show vlan private-vlan
Primary Secondary Type Ports
–– – – –
100 202 community Fa0/2
100 202 community Fa0/3
100 202 community Fa0/4
100 202 community Fa0/5
sw2#show interface f0/1 switchport
Настройка
прослушивавшего
порта
(promiscuous)
Если нам требуется обмен данными между изолированным портом и сообществом портов, то надо настроить (promiscuous) прослушивающий порт, в который надо будет добавить все виртуальные локальные сети, которые будут обмениваться данными. Как это делается показано ниже:
sw2(config)#interface f0/24
sw2(config-if)#switchport mode private-vlan promiscuous
sw2(config-if)#switchport private-vlan mapping 100 add 201 202
sw2(config-if)#end
sw2#wr
Проверка осуществляется командами:
Sw2#show interface private-vlan mapping
sw2#show interface f0/1 switchport
МАС
адресация
По умолчанию динамические MAC адреса находятся в таблице коммутатора 5 минут, но мы можем изменить это время:
sw1(config)# mac address-table aging-time <10-1000000> vlan <номер vlan>
Проверяем командой:
sw1# show mac address-table aging-time
К примеру, нам надо найти, на каком коммутатора находиться нужный нам МАС адрес, вводим команду:
sw01#show mac address-table dynamic address 984b.e1ad.63e3
И получаем ответ:
Mac Address Table
––
Vlan Mac Address Type Ports
–– – – –
5 984b.e1ad.63e3 DYNAMIC Gi1/0/10
Total Mac Addresses for this criterion: 1
Если нам надо узнать какой МАС адрес использует, наш IP адрес используем данную ниже команду:
sw01#show arp | i 10.0.10.11
B результате мы получим искомый нами МАС адрес, если мы просто зададим show arp, то получим полный список IP адресов с соответствующими им МАС адресами.
Охраняемый порт (Protected Ports)
Данная функция работает только на локальном коммутаторе. Между protected портами на канальном уровне не передается трафик (multicast, broadcast или unicast) то есть они не общаются между собой, но разрешен обмен трафиком с незащищенными портами, при этом обмен маршрутной информации между данными портами возможет. Включается:
sw1(config)#interface FastEthernet0/3
sw1(config-if)#switchport protected
sw1(config)#interface FastEthernet0/4
sw1(config-if)#switchport protected
Для отключения данной команды, следует ввести команду no:
sw1(config)#interface FastEthernet0/3
sw1(config-if)#no switchport protected
Проверка осуществляется командой:
sw1#show interface FastEthernet0/3 switchport
Protected: true
Шторм
контроль
(Storm Control)
Данная функция помогает избежать распространения перегрузок multicast, broadcast или unicast шторма, которые могут возникнуть при наводнении виртуальной локальной сети ненужными пакетами, включается на интерфейсе командой показанной ниже:
sw1(config)#interface FastEthernet0/3
sw1(config-if)#storm-control broadcast level 1
sw1(config-if)#storm-control action shutdown
В настроенном варианте мы ограничили, шторм 1 процентом от пропускной полосы интерфейса и если он будет происходить, вторая команда отключит интерфейс.
Для отключения данной команды, следует ввести команду no:
sw1(config)#interface FastEthernet0/3
sw1(config-if)#no storm-control broadcast level 1
Проверка осуществляется командой:
sw1#show storm-control
Interface Filter State Upper Lower Current
–– – – – –
Fa0/3 Forwarding 1.00% 1.00% 0.00%
Маршрутизатор
на
палочке
(Router-On-A-Stick)
Классический пример подключения небольшого офиса, мы имеем коммутатор уровня доступа серии 2900 и маршрутизатор создаем две виртуальные сети 21 для данных и 22 для голоса.

Создаем на коммутаторе две виртуальные сети, и назначаем порты доступа:
sw1(config)#vlan 21,22
sw1(config-vlan)#name DATA
sw1(config-vlan)#vlan 22
sw1(config-vlan)#name VOICE
sw1(config-vlan)#exit
sw1(config)#interface range FastEthernet0/1 – 23
sw1(config-if)#switchport mode access
sw1(config-if)#switchport access vlan 21
sw1(config-if)#switchport voice vlan 22
Делаем данный интерфейс магистральным:
sw1(config)#interface FastEthernet0/24
sw1(config-if)# switchport trunk encapsulation dot1q
sw1(config-if)# switchport mode trunk
На маршрутизаторе:
r1(config)# interface FastEthernet0/0
r1(config-if)#no ip address
r1(config-if)#no shutdown
r1(config)#interface FastEthernet0/0.21
r1(config-if)# encapsulation dot1q 21
r1(config-if)# ip address 10.1.21.1 255.255.255.0
r1(config)# interface FastEthernet0/0.22
r1(config-if)# encapsulation dot1q 22
r1(config-if)# ip address 10.1.22.1 255.255.255.0
Следует добавить, что на маршрутизаторе можно включить DHCP сервер, но об этом дальше.
Анализ коммутированного порта SPAN (Switchport Analyzer)
Переводит указанный трафик для анализа на определенный порт, к которому подключено устройство для анализа трафика IPS/IDS. Источниками трафика могут быть любые порты второго уровня. Примеры настройки показаны ниже:
В данном случае перехватывается весь трафик от виртуальных локальных сетей с 1 по 10 и отправляется на порт 20, соответственно к 20 порту должно быть подключено устройство для анализа данного трафика.
sw01(config)#monitor session 1 source vlan 1 – 10
sw01(config)#monitor session 1 destination interface f0/20
Если требуется забрать трафик с определенного интерфейса:
sw1(config)#monitor session 1 source interface f0/1
sw1(config)#monitor session 1 destination interface f0/20
Только входящий:
sw1(config)#monitor session 1 source interface f0/1 rx
Только исходящий:
sw1(config)#monitor session 1 source interface f0/34 tx
Забирать трафик с магистрального порта:
sw1(config)#monitor session 1 source interface g0/1 encapsulation replicate
sw1(config)#monitor session 1 destination interface f0/20
Нас интересуют не все виртуальные локальные сети, а только с 6 по 9:
sw1(config)#monitor session 1 source interface g0/1 encapsulation replicate
sw1(config)#monitor session 1 filter vlan 1-5, 10
sw1(config)#monitor session 1 destination interface f0/20
Указанные в фильтре виртуальные локальные сети не будут перехватываться.
Проверка осуществляется командой:
sw01#show monitor session 1
Удаленный анализ коммутированного порта RSPAN (Remote Switchport Analyzer)
Используется когда надо анализировать трафик на других коммутаторах, как настраивается показано ниже:
В начале, на все коммутаторах задается сеть перехвата:
sw1(config)#vlan 100
sw1(config-vlan)#remote-span
sw1(config)#exit
sw2(config)#vlan 100
sw2(config-vlan)#remote-span
sw2(config)#exit
sw3(config)#vlan 100
sw3(config-vlan)#remote-span
sw3(config)#exit
На первом коммутаторе перехватываем трафик на всех виртуальных локальных сетях:
sw1(config)#monitor session 1 source vlan 1 – 10
sw1(config)#monitor session 1 destination remote vlan 100
На втором только порты 1 и 2:
Sw2(config)#monitor session 1 source interface f0/1
Sw2(config)#monitor session 1 source interface f0/2
sw2(config)#monitor session 1 destination remote vlan 100
На третьем у нас установлено устройство для анализа трафика на 20 порту:
sw3(config)#monitor session 1 source remote vlan 100
sw3(config)#monitor session 1 destination interface f0/20
Проверка осуществляется командой:
sw01#show monitor session 2
Голосовая виртуальная локальная сеть (Voice VLAN)
Голосовая виртуальная локальная сеть настраивается на коммутаторе достаточно просто, настройку смотрите ниже:
sw01(config)#interface f0/1
sw01(config-if)#switchport voice vlan 30
Получается, что интерфейс доступа может поддерживать две виртуальных частных сети, одну для данных и вторую для голоса, разделение происходит на основе того, что одна сеть идет тегированной другая не тегированной.
Автоматическая настройка качество обслуживания на коммутаторах (Auto QoS)
На устройствах Cisco существует удобная функция, которая позволяет настроить качество обслуживание для сетевых телефонов Cisco. Для включения данной функции следует, на коммутаторе следует выполнить следующие команды:
sw1(config)#ip cef
sw1(config)#mls qos
sw1(config)#interface range f0/1 – 48
sw1(config-if)#auto qos voip cisco-phone
sw1(config-if)#exit
sw1(config)#interface g0/1
sw1(config-if)#auto qos voip trust
sw1(config-if)#end
sw1#wr
У нас порты с 1 по 48 являются портами доступа и к ним подключены телефоны Cisco, а Гигабитный порт 0/1 является магистральным. После выполнения данных команд, правила QoS, будут автоматом настроены на коммутаторе.
Список доступа виртуальной локальной сети (Vlan map)
Список доступа виртуальной локальной сети, осуществляет пакетную фильтрацию всех типов трафика внутри используемой виртуальной сети или сетей.
Данный пример показывает правилом разрешить доступ всем сетям, кроме 10.0.10.0/24
Настраиваются следующим образом:
sw1(config)#access-list 1 permit 10.0.10.0 0.0.0.255
sw1(config)#access-list 2 permit any
sw1(config)#vlan access-map aclmap 10
sw1(config-access-map)#match ip address 1
sw1(config-access-map)#action drop
sw1(config-access-map)#exit
sw1(config)#vlan access-map aclmap 20
sw1(config-access-map)#match ip address 2
sw1(config-access-map)#action forward
sw1(config-access-map)#exit
sw1(config)# vlan filter mymap vlan-list 1-10
sw1(config)#exit
sw1#wr
Проверка осуществляется командой:
sw1# show vlan access-map
Vlan access-map "aclmap" 10
Match clauses:
ip address: 1
Action:
drop
Vlan access-map "aclmap" 20
Match clauses:
ip address: 2
Action:
Forward
sw1# show vlan filter
VLAN Map mymap is filtering VLANs:
1-10
Пример фильтрации трафика, в данном случае мы запрещаем трафик IPv6 на 10 виртуальную локальную сеть:
sw1(config)#mac access-list extended IPv6
sw1(config-ext-macl)#permit any any 0x86dd 0x0000
sw1(config-ext-macl)#exit
sw1(config)#vlan access-map no_IPv6 10
sw1(config-access-map)#match mac address IPv6
sw1(config-access-map)#action drop
sw1(config-access-map)#exit
sw1(config)#vlan access-map no_IPv6 20
sw1(config-access-map)#action forward
sw1(config-access-map)#exit
sw1(config)#vlan filter no_IPv6 vlan-list 10
sw1(config)#exit
sw1#wr
Ниже приведены примеры, для фильтрации:
0x0806 0x0000 ARP
0x0800 0x0000 IPv4
0x86DD 0x0000 IPv6
0xAAAA 0x0000 CISCO proprietary (STP, PAGP, VTP, PVST+, CDP, DTP, and UDLD)
0x4242 0x0000 CST
Списки доступа второго уровня (MAC-ACL)
Данные списки доступа предназначены для фильтрации не IP трафика, он фильтрует только трафик 2 уровня на виртуальных локальных сетях и интерфейсах, и могут применяться только для входящего трафика. Ниже приведен пример блокировки всех пакетов AppleTalk Address Resolution Protocol (AARP):
sw1(config)# mac access-list extended mac-acl
sw1(config-ext-macl)# deny any any aarp
sw1(config-ext-macl)# permit any any
sw1(config-ext-macl)# exit
sw1(config)# interface Fastethernet0/10
sw1(config-if)# mac access-group mac-acl in
sw1(config-if)# end
sw1#wr
Маршрутизация и протоколы маршрутизации
Префикс лист (Prefix-list)
Префикс лист представляет список состоящий из сетей и их масок, в дальнейшем будет часто использоваться, по этому привожу простые примеры.
Синтаксис префикс листа:
Ip prefix-list <ИМЯ> [seq] [permit/deny] network/length [ge] [le]
В данном случае мы разрешаем только один адрес 10.0.12.1
ip prefix-list 1 permit 10.0.12.1/32
Теперь мы разрешаем сеть 10.0.12.0 255.255.255.0
ip prefix-list 1 permit 10.0.12.0/24
Проверка осуществляется командой показанной ниже:
show ip prefix-list
Статическая маршрутизация
Стоимость маршрутов, сразу стоит отметить, что протокол IGRP не используется, а маршрут со стоимостью 255 считается не достижимым.
0 – Connected
1 – Static
5 – EIGRP Summary Route
20 – eBGP
90 – EIGRP
100 – IGRP
110 – OSPF
115 – IS-IS
120 – RIP
160 – ODR
170 – EIGRP external route
200 – iBGP
255 – unknown
Статическая маршрутизация на коммутаторах второго уровня настраивается командой показанной ниже:
sw1(config)#ip default-gateway <адрес следующего перехода>
Данная команда используется на коммутаторах доступа.
На коммутаторах третьего уровня и маршрутизаторах используется команда показанная ниже:
r1(config)#ip route <префикс сети> <маска сети> <адрес следующего перехода или исходящий интерфейс>
Удаление настроенного ранее статического маршрута используем команду no
sw1(config)#no ip default-gateway <адрес следующего перехода>
или
r1(config)#no ip route <префикс сети> <маска сети> <адрес следующего перехода или исходящий интерфейс>
Отобразит текущее состояние таблицы маршрутизации на коммутаторах третьего уровня и маршрутизаторах используется команда показанная ниже:
r1#show ip route
Ниже показан пример маршрута по умолчанию, данный маршрут прописывается в сторону внешней сети, он показывает, куда обратиться маршрутизатору, если искомого адреса нет во внутренней сети:
r1(config)# ip route 0.0.0.0 0.0.0.0 10.0.0.1
Внутренние статические маршруты должны описывать нахождение всех имеющихся у нас подсетей, команды ниже указывают, что 1 и 2 подсеть находятся за адресами 10.0.15.1 и 10.0.25.1, а 3 подсеть за интерфейсом FastEthernet0/0:
r1(config)#ip route 10.0.1.0 255.255.255.0 10.0.15.1
r1(config)#ip route 10.0.2.0 255.255.255.0 10.0.25.1
r1(config)#ip route 10.0.3.0 255.255.255.0 FastEthernet0/0
Самый длинный соответствующий маршрут (Longest Match Routing)
По логике протокола IPv4 в таблицу маршрутизации помещается самый длинный соответствующий маршрут, данную возможность можно использовать для создания избыточности, в примере ниже подсеть достигается через интерфейс, а если интерфейс не будет работать, то пойдет по второму маршруту.
r1(config)#ip route 10.1.5.0 255.255.255.0 Serial0/1
r1(config)#ip route 10.1.0.0 255.255.0.0 10.1.0.5
Плавающий
статический
маршрут
(Floating Static Routes)
Мы можем также указывать, как достигнуть определенной сети путем изменения метрики, первый маршрут будет предпочтительнее, так как его метрика меньше второго, если по нему данная сеть будет не достижима, то заработает второй маршрут.
r1(config)#ip route 10.1.5.0 255.255.255.0 Serial0/1 10
r1(config)#ip route 10.1.5.0 255.255.255.0 10.1.0.5 20
Резервный
интерфейс
(Backup Interface)
r1(config)#ip route 10.1.5.0 255.255.255.0 Serial0/1
r1(config)#ip route 10.1.5.0 255.255.255.0 155.1.0.5
r1(config)#interface Serial0/1
r1(config-if)#backup delay 3 60
r1(config-if)#backup interface Serial0/2
Проверка осуществляется следующими командами:
r1#show backup
r1#debug backup
GRE
Туннель
(GRE Tunneling)
Создание туннельного интерфейса, показано ниже:
r1(config)#interface tunnel 0
r1(config-if)#ip address 10.1.0.1 255.255.255.0
r1(config-if)#tunnel source 10.1.5.1
r1(config-if)#tunnel destination 10.1.5.2
Надежная
статическая
маршрутизации
с
расширенным
объектом
слежения
(Reliable Static Routing with Enhanced Object Tracking)
В данном примере мы контролируем, состояние канал при помощи команды ping и как только он упадет маршрутизация переключиться на другой маршрут, настройка приведена ниже:
r1(config)#ip sla monitor 1
r1(config-sla-monitor)# type echo protocol ipIcmpEcho 10.1.14.1 source-interface FastEthernet0/0
r1(config-sla-monitor-echo)#timeout 2000
r1(config-sla-monitor-echo)#frequency 5
r1(config-sla-monitor-echo)#exit
r1(config)#ip sla monitor schedule 1 start-time now
r1(config)#track 1 rtr 1
r1(config)#ip route 10.1.1.0 255.255.255.0 10.1.14.1 track 1
r1(config)#ip route 10.1.1.0 255.255.255.0 10.1.0.5 2
Проверка осуществляется следующими командами:
r1#show ip sla monitor statistics
r1#debug track
r1#debug ip routing
r1#show ip routing
Маршрутизация
на
основе
политик
PBR (Policy Based Routing)
Данная маршрутизация является гибким механизмом для управления пакетами. Позволяет контролировать трафик по источники и направлению, типу протокола и входящему интерфейсу. Пример настройки показан ниже:
r1(config-if)#exit
r1(config)#ip access-list extended LOCAL
r1(config-ext-nacl)#permit tcp any any eq 23
r1(config-ext-nacl)#exit
r1(config)#route-map LOCAL_TR 10
r1(config-route-map)#match ip address LOCAL
r1(config-route-map)#set ip next-hop 10.1.5.1
r1(config-route-map)#exit
r1(config)#ip local policy route-map LOCAL_TR
r1(config)#exit
В данном примере мы завернули весь telnet трафик на адрес 10.1.5.1
Проверка осуществляется командами показанными ниже:
r1#show ip local policy
r1#show ip policy
r1#show route-map
r1#debug ip policy
r1#show ip access-lists
Политика
маршрутизации
(
Policy Routing)
В этом случаи мы применили политику к интерфейсу FastEthernet0/0 маршрутизатора r1, по которой если маршрут приходит от хоста 10.0.1.2, то он отправляется на адрес 10.1.1.3, а если от 10.0.1.3 то на адрес 10.1.2.2
r1(config)# interface FastEthernet0/0
r1(config-if)#ip policy route-map PR1
r1(config)#ip access-list extended FROM_r2
r1(config-ext-nacl)#permit ip host 10.0.1.2 any
r1(config)#ip access-list extended FROM_r3
r1(config-ext-nacl)#permit ip host 10.0.1.3 any
r1(config)#route-map PR1 permit 10
r1(config-route-map)# match ip address FROM_r2
r1(config-route-map)# set ip next-hop 10.1.1.3
r1(config)# route-map PR1 permit 20
r1(config-route-map)#match ip address FROM_r3
r1(config-route-map)#set ip next-hop 10.1.2.2
Проверка осуществляется командами показанными ниже:
r1#show ip local policy
r1#show ip policy
r1#show route-map
r1#debug ip policy
r1#show ip access-lists
RIP
Протокол
маршрутной
информации
RIP Протокол маршрутной информации (Routing Information Protocol) – протокол дистанционно-векторной маршрутизации, который оперирует переходами (хопами) в качестве метрики маршрутизации. Максимальное количество переходов 15, 16 переход считается недостижим. Каждый RIP-маршрутизатор по умолчанию вещает в сеть свою полную таблицу маршрутизации раз в 30 секунд, довольно сильно нагружая низкоскоростные линии связи. RIP работает на прикладном уровне стека TCP/IP, используя UDP порт 520. Сразу стоит оговориться, что если применяется протокол RIP, то обычно используется только его 2 версия.
RIPv2 настройка протокола
Настраиваем протокол RIPv2 на маршрутизаторе r1, в нашем примере он смотрит на маршрутизатор r2 интерфейсом FastEthernet0/0
r1(config)#router rip
r1(config-router)#version 2
r1(config-router)#no auto-summary
r1(config-router)#passive-interface default
r1(config-router)#no passive-interface FastEthernet0/0
r1(config-router)#network 10.0.0.0
Мы включаем на нем вторую версию протокола, по умолчанию включена первая, отключаем авто суммирование, включаем пассивные интерфейсы все и говорим ему, что интерфейс f0/1 для его работы, также вводим в протокол сети.
Проверка осуществляется следующими командами:
r1#show ip route rip
r1#show ip protocol
r1#debug ip rip
r1#debug ip packet
r1#debug ip rip
RIPv2
суммирование
сетей
(Manual Summarization)
Если нам надо суммировать определенные сети, то для протокола RIPv2 это выполняется на интерфейсе, команда показана ниже, в данном случаи мы суммировали сети 10.0.0.0,10.0.1.0, 10.0.2.0, 10.0.3.0 с маской 255.255.255.0:
r1(config)#interface FastEthernet0/0
r1(config-if)#ip summary-address rip 10.0.0.0 255.255.252.0
У каждого суммарного маршрута настроенного на интерфейсе маршрутизатора должна быть уникальная классовая сеть. RIPv2 не позволяет настраивать несколько суммарных подсетей из одной классовой сети на одном интерфейсе.
RIPv2 прием и передача версии протокола
В протоколе можно указать какую версию, он будет использовать на интерфейсе, показано ниже:
r1(config)#interface FastEthernet0/0
r1(config-if)#ip rip send version 2
r1(config-if)#ip rip receive version 2
RIPv2 широковещательная рассылка (broadcast)
В данном протоколе вместо многоадресной рассылки, можно использовать широковещательную рассылку, для этого на интерфейсах нужно внести показанную ниже команду:
r1(config)#interface FastEthernet1/0
r1(config-if)#ip rip v2-broadcast
RIPv2 процедура проверки подлинности (аутентификация)
Вторая версия протокола позволяет использовать аутентификацию, делается она на интерфейсе, команды показаны ниже:
r1(config)#key chain RIP
r1(config-keychain)#key 1
r1(config-keychain-key)#key-string cisco
r1(config-keychain-key)#end
r1(config)#interface f0/1
r1(config-if)#ip rip authentication mode md5
r1(config-if)#ip rip authentication key-chain RIP
На другом маршрутизаторе вводим эти же команды, слово cisco является паролем и введено для простоты.
Проверка осуществляется командами:
r1#debug ip rip
r1#show key chain
RIPv2 Offset List
Offset List данный механизм позволяет управлять входной и исходящей метрикой, применяется к интерфейсу и с помощью листов доступа мы может отфильтровать нужные нам сети:
r1(config)#access-list 1 permit 200.0.0.0 0.0.0.255
r1(config)#router rip
r1(config-router)#offset-list 1 in 5 FastEthernet0/0
Для сети 200.0.0.0 с маской 255.255.255.0 на входе в маршрутизатор r1 мы добавили метрику 5, если бы мы, установили метрику 16, то данная сеть будет заблокирована на вход, так же можно вместо листа доступа 1 указать 0, в этом случае через Offset List будут фильтроваться все листы доступа.
RIPv2 разрыв горизонта
Если есть множественное подключение к данному интерфейсу, то на нем следует включить данную команду, иначе протокол не будет передавать сети на другие маршрутизаторы, разрыв горизонта по умолчание включен на всех интерфейсах, для избегания петель в маршрутизации:
r1(config)#interface Serial0/0.1 multipoint
r1(config-if)#no ip split-horizon
RIPv2 таймеры схождения
В данном случай мы видим, как можно изменить таймеры схождения в протоколе RIPv2, данная команда изменяет их на значение по умолчанию:
r1(config)#router rip
r1(config)#version 2
r1(config-router)#timers basic 30 180 180 240
Для ускорения сходимости, после того как вы изменили таймеры, к примеру уменьшили в 3 раза и сделать их такими 10 60 60 80, далее нужно очистить таблицу маршрутизации, делается это командой показанной ниже:
r1#clear ip route *
Проверка осуществляется командой:
r1#show ip protocol | include seconds
RIPv2 фильтр на основе стандартного листа доступа
Наш фильтр разрешает вход только нечетным сетям в третьем октете
r1(config)#router rip
r1(config-router)#distribute-list 1 in FastEthernet0/0
r1(config)#access-list 1 permit 0.0.1.0 255.255.254.255
RIPv2 фильтр на основе расширенного листа доступа
В данном фильтре мы запретили хосту 10.0.0.3 обращаться к сети 10.0.7.0, а хосту 10.0.0.1 к сети 10.0.4.0 все остальное разрешено:
r1(config)#router rip
r1(config-router)#distribute-list 100 in FastEthernet0/0
r1(config)#access-list 100 deny ip host 10.0.0.3 host 10.0.7.0
r1(config)#access-list 100 deny ip host 10.0.0.1 host 10.0.4.0
r1(config) access-list 100 permit ip any any
RIPv2 фильтр на основе административной дистанции
Тут мы искусственно увеличили административную дистанцию для хоста 200.0.0.9 и сделали для него не возможным достижения внутренних сетей:
r1(config)#access-list 1 permit 200.0.0.9 0.0.0.0
r1(config)#router rip
r1(config-router)# distance 255 10.0.0.2 255.255.255.255 1
RIPv2 индивидуальное обновление (Unicast Updates)
В данном случае обновление между маршрутизаторами r1 и r2 происходит не многоадресной рассылкой, а только друг другу, стоит отметить, что если данные маршрутизаторы имеют контакты с другими по многоадресной рассылке, то следует дать команду no passive-interface на интерфейсы в их сторону:
r1(config)#router rip
r1(config-router)# passive-interface default
r1(config-router)#neighbor 10.0.1.2
r2(config-router)#router rip
r2(config-router)# passive-interface default
r2(config-router)#neighbor 10.0.1.1
Проверка осуществляется командой:
debug ip packet detail
RIPv2 маршрутизация по умолчанию
Анонсирует маршрут по умолчанию, даже если маршрута по умолчанию нет в таблице маршрутизации, стоит добавить, что можно использовать его с
route-map, через которую можно отфильтровать хосты или сети:
r1(config)#router rip
r1(config)# default-information originate < route-map name>
RIPv2 перераспределение (redistribute)
В протокол можно вводить статические маршруты, которые есть в таблице маршрутизации, так и другие протоколы, для примера приведено перераспределение статических маршрутов на маршрутизаторе с метрикой 1:
r1(config)#router rip
r1(config-router)#redistribute static metric 1 < route-map name>
Мы можем также воспользоваться route-map при перераспределении маршрутов в RIPv2.
RIPv2 triggered extension
Дополнительный функционал, который позволяет RIP отправлять полную информацию о маршрутах только один раз и после этого не отправлять её.
r1(config)#interface FastEthernet0/0
r1(config)# ip rip triggered
EIGRP Расширенный внутренний протокол маршрутизации шлюза
EIGRP (Enhanced Interior Gateway Routing Protocol) – протокол маршрутизации, разработанный фирмой Cisco на основе протокола IGRP той же фирмы. EIGRP использует механизм DUAL для выбора наиболее короткого маршрута. Протокол EIGRP является дистанционно-векторным протоколом маршрутизации, хотя его еще называют гибридным, он сочетает в себе лучшие черты дистанционно-векторных алгоритмов и алгоритмов по состоянию канала.
EIGRP Типы сообщений протокола
Hello (пакеты приветствия) – эти пакеты используются для обнаружения соседей, их тестирования и повторного обнаружения в случае сбоя. Для отправки пакетов используется многоадресная рассылка muilticast-адрес 224.0.0.10
Acknowledgment – пакеты, которые подтверждают получение пакетов update, query, reply. ACK-пакеты отправляются unicast и содержат в себе acknowledgment number.
Update (пакеты обновления маршрутов) – в этих пакетах содержится информация об изменении маршрутов. Эти пакеты могут быть отправлены конкретному маршрутизатору (unicast) или группе маршрутизаторов (multicast). Получение update-пакета подтверждается отправкой ACK.
Query (пакеты запросов) – эти пакеты используются, когда маршрутизатор пересчитывает какой либо маршрут в сеть и у него нет резервного маршрута (feasible successor). Он отправляет query запрос своим соседям, если у них есть этот маршрут, то они отвечают сообщением reply (ответ на запрос), если нет маршрута, то они направляют query запрос своим соседям. При получении пакета запроса (query) отправляют пакет ACK.
Reply (пакеты ответа на запросы) – маршрутизатор отправляет reply-пакет в ответ на полученный query-пакет. Reply-пакеты отправляются unicast тому маршрутизатору, который отправил query-пакет. Получение reply-пакета подтверждается отправкой ACK.
Для гарантии получения отправленных сообщений EIGRP использует фирменный протокол гарантии доставки – RTP.
RTP обеспечивает гарантированную доставку пакетов. Для этого используется проприетарный алгоритм Cisco, reliable multicast. Пакеты отправляются на muilticast-адрес 224.0.0.10. Каждый сосед, получивший, такой пакет отправляет подтверждение отправителю пакета. Сохранение порядка пакетов. В каждом пакете используется два номера последовательности (sequence). Каждый пакет включает в себя номер, присвоенный ему отправителем. Этот номер увеличивается на единицу каждый раз, когда маршрутизатор отправляет новый пакет. Кроме того, отправитель помещает в пакет номер, последнего полученного пакета от получателя.
EIGRP Таблица соседних устройств
Таблица соседних устройств (neighbor table) – является важной таблицей в протоколе EIGRP. Каждый маршрутизатор EIGRP поддерживает свою таблицу соседних устройств, в которой перечислены непосредственно подключенные маршрутизаторы. Для установления отношений соседства EIGRP использует пакеты hello. По умолчанию на ethernet интерфейсах и point-to-point интерфейсах hello-пакеты отправляются каждые 5 секунд, но с небольшим случайным отклонением, которое используется для того, чтобы между маршрутизаторами не было синхронизации в отправке hello-пакетов.
Если за период удержания (hold time, по умолчанию 15 секунд, 3 hello-интервала) от соседнего маршрутизатора не пришел ни один hello пакет, то он считается недоступным.
Для того чтоб маршрутизаторы могли установить отношения соседства, должны выполниться некоторые условия:
– маршрутизаторы должны пройти аутентификацию
– маршрутизаторы должны быть в одной AS
– должны совпадать значения K-коэффициентов
EIGRP Метрика
Протокол EIGRP считает метрику с помощью коэффициентов. По умолчанию они равны К1=1; К2=0; К3=1; К4=0; К5=0. Общая метрика вычисляется с помощью значений bandwidth (пропускной способности) и delay (задержки). Bandwidth вычисляется по формуле:
bandwidth = (10000000/bandwidth(m)) * 256
где bandwidth(m) – это минимальная пропускная способность канала на всем пути следования к сети назначения.
Delay:
delay = delay(s) * 256
где delay(s) – это суммарная задержка на всех маршрутизаторах по пути следования к сети назначения.
Эти значения использует протокол EIGRP для подсчета метрики:
Metric=[K1*bandwidth+(K2* bandwidth)/(256-load)+K3*delay]*[K5/(reliability+K4)]
Если коэффициенты не менялись, то формула получает вид:
Metric=K1*bandwidth+ K3*delay
Количество переходов в протоколе EIGRP равно 224, чего более чем достаточно для современных сетей.
EIGRP Обновление маршрутов
После того как маршрутизаторы установили отношения соседства, они начинают обмениваться информацией о маршрутах (обновления, Update).
Обновления могут быть адресованы одному маршрутизатору, а могут быть направлены группе маршрутизаторов(muilticast-адрес 224.0.0.10).
Обмен обновлениями:
Сначала соседи отправляют друг другу все известные маршруты, за исключением тех, что попали под правило splithorizon.
После завершения обмена маршрутами, полные обновления больше не посылаются.
Далее посылаются обновления только об изменившемся маршруте, или маршрутах (частичные обновления).
Если отношения соседства теряются, а затем снова устанавливаются, то обмен маршрутами начинается заново.
Настройка маршрутов в EIGRP
Типы маршрутов:
internal – внутренние маршруты EIGRP. AD – 90.
external – маршруты, перераспределенные в процесс EIGRP из других источников. AD – 170.
summary – суммарные маршруты EIGRP. AD – 5.
Administrative distance (AD, административное расстояние) – это степень доверия к источнику маршрута, чем оно меньше, тем доверие выше. Например, у протокола маршрутизации RIP оно равно 120, OSPF 110, EIGRP 90, у статических маршрутов 1, но его можно поменять вручную.
Проверка осуществляется командами:
show ip eigrp neighbor
show ip eigrp topology
show ip route eigrp
show ip eigrp interfaces
show ip eigrp traffic
debug eigrp packet
EIGRP
Настройка
протокола
(Network Statement)
В последующих примерах используется приведённая ниже схема.

Команда показанная ниже очищает таблицу маршрутизации протокола EIGRP.
r1#clear ip eigrp neighbors
EIGRP не широковещательные сети с множественным доступом (NBMA Network)
Пример настройки данного протокола. Cisco рекомендует использовать команду passive-interface default, а активные интерфейсы указывать отдельно. В данном случай настройка показаны на первых двух маршрутизаторах, на остальных все делается аналогично:
r1(config)#router eigrp 1
r1(config-router)#passive-interface default
r1(config-router)#network 10.1.1.1 0.0.0.0
r1(config-router)#network 10.0.12.1 0.0.0.0
r1(config-router)#no passive-interface FastEthernet 0/0
r1(config-router)#no passive-interface Loopback 0
r1(config-router)#no auto-summary
r1(config-router)#end
r1#wr
r2(config)#router eigrp 1
r2(config-router)#passive-interface default
r2(config-router)#network 10.2.2.2 0.0.0.0
r2(config-router)#network 10.0.12.2 0.0.0.0
r2(config-router)#network 10.0.23.2 0.0.0.0
r2(config-router)#no passive-interface FastEthernet 0/0
r2(config-router)#no passive-interface FastEthernet 1/0
r2(config-router)#no passive-interface Loopback 0
r2(config-router)#no auto-summary
r2(config-router)#end
r2#wr
r1#
*Mar 1 06:28:09.894: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 10.0.12.2 (FastEthernet0/0) is up: new adjacency
Проверка осуществляется командами:
r1#show ip route eigrp
10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
D 10.2.2.2/32 [90/156160] via 10.0.12.2, 00:03:56, FastEthernet0/0
D 10.3.3.3/32 [90/158720] via 10.0.12.2, 00:03:12, FastEthernet0/0
D 10.4.4.4/32 [90/161280] via 10.0.12.2, 00:02:35, FastEthernet0/0
D 10.0.23.0/24 [90/30720] via 10.0.12.2, 00:04:05, FastEthernet0/0
D 10.0.34.0/24 [90/33280] via 10.0.12.2, 00:03:21, FastEthernet0/0
r1#show ip eigrp neighbor
IP-EIGRP neighbors for process 1
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.0.12.2 Fa0/0 13 00:11:47 105 2125 0 17
EIGRP автоматическое суммирование маршрутов (Automatic Summarization)
По умолчанию включено автоматическое суммирование маршрутов, в настройках ранее мы отключали его, это рекомендуется сделать, чтобы маршрутизатор не суммировал все маршруты, но если нам надо включить суммирование, то как это сделано показано ниже:
r1(config)#router eigrp 1
r1(config-router)#auto-summary
EIGRP
ручное
суммирование
маршрутов
(Manual Summarization)
В примере показано как были добавлены две подсети и произведено их суммирование, стоит обратить внимание, что для EIGRP суммирование производиться на интерфейсе:
r1(config)#interface Loopback1
r1(config-if)#ip address 10.10.0.1 255.255.255.0
r1(config-if)#interface Loopback2
r1(config-if)#ip address 10.10.1.1 255.255.255.0
r1(config)#router eigrp 1
r1(config-router)#no passive-interface Loopback 1
r1(config-router)#no passive-interface Loopback 2
r1(config-if)#interface FastEthernet0/0
r1(config-if)#ip summary-address eigrp 1 10.10.0.0 255.255.254.0 5
Проверка осуществляется командами:
r4#show ip route 10.10.0.0 255.255.254.0
Routing entry for 10.10.0.0/23
Known via "eigrp 1", distance 90, metric 161280, type internal
Redistributing via eigrp 1
Last update from 10.0.34.3 on FastEthernet0/0, 00:02:26 ago
Routing Descriptor Blocks:
* 10.0.34.3, from 10.0.34.3, 00:02:26 ago, via FastEthernet0/0
Route metric is 161280, traffic share count is 1
Total delay is 5300 microseconds, minimum bandwidth is 100000 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 3
r4#show ip route eigrp
10.0.0.0/8 is variably subnetted, 8 subnets, 3 masks
D 10.10.0.0/23 [90/161280] via 10.0.34.3, 00:00:09, FastEthernet0/0
D 10.0.12.0/24 [90/33280] via 10.0.34.3, 00:41:44, FastEthernet0/0
D 10.2.2.2/32 [90/158720] via 10.0.34.3, 00:41:44, FastEthernet0/0
D 10.3.3.3/32 [90/156160] via 10.0.34.3, 00:41:44, FastEthernet0/0
D 10.1.1.1/32 [90/161280] via 10.0.34.3, 00:41:44, FastEthernet0/0
D 10.0.23.0/24 [90/30720] via 10.0.34.3, 00:41:44, FastEthernet0/0
EIGRP
суммирование
маршрута
по
умолчанию
(Summarization with Default Route)
r1(config)#interface FastEthernet0/0
r1(config-if)#ip summary-address eigrp 1 0.0.0.0 0.0.0.0
Проверка осуществляется командой:
r4#show ip route eigrp
10.0.0.0/8 is variably subnetted, 7 subnets, 3 masks
D 10.0.12.0/24 [90/33280] via 10.0.34.3, 01:07:09, FastEthernet0/0
D 10.2.2.2/32 [90/158720] via 10.0.34.3, 01:07:09, FastEthernet0/0
D 10.3.3.3/32 [90/156160] via 10.0.34.3, 01:07:09, FastEthernet0/0
D 10.0.23.0/24 [90/30720] via 10.0.34.3, 01:07:09, FastEthernet0/0
D* 0.0.0.0/0 [90/35840] via 10.0.34.3, 00:00:09, FastEthernet0/0
EIGRP суммирование с плавающим маршрутом по умолчанию
(Summarization with a Floating Default Route)
Можно также назначить суммирование с более высокой административной дистанцией, данный маршрут заработает, когда другие маршруты будут не возможны.
r1(config)#interface FastEthernet0/0
r1(config-if)#ip summary-address eigrp 1 0.0.0.0 0.0.0.0 250
EIGRP
выборочное
суммирование
с
Leak Map (Selective Summarization with a Leak Map)
В данном примере показано как можно суммировать только нужные для нас подсети:
r1(config)#access-list 1 permit 10.10.0.0 0.0.0.255
r1(config)#access-list 1 permit 10.10.1.0 0.0.0.255
r1(config)#route-map NET permit 10
r1(config-route-map)#match ip address 1
r1(config)# interface FastEthernet0/0
r1(config-if)#ip summary-address eigrp 1 0.0.0.0 0.0.0.0 5 leak-map NET
Проверка осуществляется командой:
r4#show ip route eigrp
10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks
D 10.10.0.0/24 [90/161280] via 10.0.34.3, 00:04:16, FastEthernet0/0
D 10.10.1.0/24 [90/161280] via 10.0.34.3, 00:04:16, FastEthernet0/0
D 10.0.12.0/24 [90/33280] via 10.0.34.3, 01:32:57, FastEthernet0/0
D 10.2.2.2/32 [90/158720] via 10.0.34.3, 01:32:57, FastEthernet0/0
D 10.3.3.3/32 [90/156160] via 10.0.34.3, 01:32:57, FastEthernet0/0
D 10.0.23.0/24 [90/30720] via 10.0.34.3, 01:32:57, FastEthernet0/0
D* 0.0.0.0/0 [90/35840] via 10.0.34.3, 00:00:08, FastEthernet0/0
EIGRP процедура проверки подлинности (Authentication)
Приведен пример идентификации данного протокола, обратите внимание, что все действия осуществляются на интерфейсах. Слово cisco в данном случае является паролем и должно быть другим.
r1(config)#key chain eigrp
r1(config-keychain)#key 1
r1(config-keychain-key)#key-string cisco
r1(config)# interface FastEthernet0/0
r1(config-if)#ip authentication mode eigrp 1 md5
r1(config-if)#ip authentication key-chain eigrp 1 eigrp
r2(config)#key chain eigrp
r2(config-keychain)#key 1
r2(config-keychain-key)#key-string cisco
r2(config)# interface FastEthernet0/0
r2(config-if)#ip authentication mode eigrp 1 md5
r2(config-if)#ip authentication key-chain eigrp 1 eigrp
Проверка осуществляется командой:
r2#debug eigrp packet
*Mar 1 20:43:33.014: EIGRP: Sending HELLO on Loopback0
*Mar 1 20:43:33.014: AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Mar 1 20:43:33.022: EIGRP: Received HELLO on Loopback0 nbr 10.2.2.2
*Mar 1 20:43:33.022: AS 1, Flags 0x0, Seq 0/0 idbQ 0/0
*Mar 1 20:43:33.022: EIGRP: Packet from ourselves ignored
*Mar 1 20:43:33.198: EIGRP: Sending HELLO on FastEthernet0/0
*Mar 1 20:43:33.198: AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Mar 1 20:43:33.542: EIGRP: Received HELLO on FastEthernet0/1 nbr 10.0.24.4
*Mar 1 20:43:33.546: AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
r2#
*Mar 1 20:43:35.098: EIGRP: received packet with MD5 authentication, key id = 1
*Mar 1 20:43:35.098: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.0.12.1
*Mar 1 20:43:35.098: AS 1, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/0
EIGRP
разрыв
горизонта
(EIGRP Split Horizon)
Данная команда включена по умолчанию и служит для предотвращения образования петель, но в случаи показанном ниже, требуется её отключить, так как на интерфейс S0/0 маршруты приходят от двух разных маршрутизаторов.

r1(config)#interface Serial0/0
r1(config-if)#no ip split-horizoh eigrp 1
Таймеры EIGRP (EIGRP Timers)
Можно изменить время схождения данного протокола, делается это также на интерфейсах, но в обязательном порядке должно быть сделано на все интерфейсах в пределах одной автономной системы.
r1(config)# interface FastEthernet0/0
r1(config-if)# ip hello-interval eigrp 1
r1(config-if)# ip hold-time eigrp 1 3
EIGRP фильтрация со стандартным листом доступа (Filtering with Standard ACL)
В последующих примерах используется приведённая ниже схема.

На маршрутизаторе r1 подняты два хоста и они достигают маршрутизатор r4 через интерфейс FastEthernet0/0, а нам нужно, чтобы они приходили, через FastEthernet0/1.
r4#show ip route eigrp
10.0.0.0/8 is variably subnetted, 10 subnets, 2 masks
D 10.0.10.1/32 [90/435200] via 10.0.34.3, 00:01:35, FastEthernet0/0
[90/435200] via 10.0.24.2, 00:01:35, FastEthernet0/1
D 10.0.12.0/24 [90/307200] via 10.0.24.2, 00:18:11, FastEthernet0/1
D 10.0.13.0/24 [90/307200] via 10.0.34.3, 00:18:11, FastEthernet0/0
10.2.2.2/32 [90/409600] via 10.0.24.2, 00:18:11, FastEthernet0/1
D 10.3.3.3/32 [90/409600] via 10.0.34.3, 00:18:17, FastEthernet0/0
D 10.1.1.1/32 [90/435200] via 10.0.34.3, 00:18:11, FastEthernet0/0
[90/435200] via 10.0.24.2, 00:18:11, FastEthernet0/1
D 10.0.100.1/32 [90/435200] via 10.0.34.3, 00:01:28, FastEthernet0/0
[90/435200] via 10.0.24.2, 00:01:28, FastEthernet0/1
Создаем простой лист доступа и ставим запрет на данные хосты, после этого применяем данный лист доступа как показано ниже:
r4(config)#access-list 1 deny 10.0.10.0 0.0.0.255
r4(config)#access-list 1 deny 10.0.100.0 0.0.0.255
r4(config)#access-list 1 permit any
r4(config)#router eigrp 1
r4(config-router)#distribute-list 1 in FastEthernet 0/0
В результате проверки получаем нужный нам результат.
r4#show ip route eigrp
10.0.0.0/8 is variably subnetted, 10 subnets, 2 masks
D 10.0.10.1/32 [90/435200] via 10.0.24.2, 00:00:32, FastEthernet0/1
D 10.0.12.0/24 [90/307200] via 10.0.24.2, 00:21:22, FastEthernet0/1
D 10.0.13.0/24 [90/307200] via 10.0.34.3, 00:21:22, FastEthernet0/0
D 10.2.2.2/32 [90/409600] via 10.0.24.2, 00:21:22, FastEthernet0/1
D 10.3.3.3/32 [90/409600] via 10.0.34.3, 00:21:29, FastEthernet0/0
D 10.1.1.1/32 [90/435200] via 10.0.34.3, 00:21:22, FastEthernet0/0
[90/435200] via 10.0.24.2, 00:21:22, FastEthernet0/1
D 10.0.100.1/32 [90/435200] via 10.0.24.2, 00:00:32, FastEthernet0/1
EIGRP фильтрация с расширенным листом доступа (Filtering with Extended ACL)
Схема аналогична.
Для начало смотрим как приходят данные сети:
r4#show ip route eigrp
10.0.0.0/8 is variably subnetted, 10 subnets, 2 masks
D 10.0.10.1/32 [90/435200] via 10.0.34.3, 00:00:30, FastEthernet0/0
[90/435200] via 10.0.24.2, 00:00:30, FastEthernet0/1
D 10.0.12.0/24 [90/307200] via 10.0.24.2, 00:24:23, FastEthernet0/1
D 10.0.13.0/24 [90/307200] via 10.0.34.3, 00:24:23, FastEthernet0/0
D 10.2.2.2/32 [90/409600] via 10.0.24.2, 00:24:23, FastEthernet0/1
D 10.3.3.3/32 [90/409600] via 10.0.34.3, 00:24:30, FastEthernet0/0
D 10.1.1.1/32 [90/435200] via 10.0.34.3, 00:24:23, FastEthernet0/0
[90/435200] via 10.0.24.2, 00:24:23, FastEthernet0/1
D 10.0.100.1/32 [90/435200] via 10.0.34.3, 00:00:30, FastEthernet0/0
[90/435200] via 10.0.24.2, 00:00:30, FastEthernet0/1
Создаем и применяем расширенный лист доступа.
r4(config)#access-list 100 deny ip host 10.0.10.1 host 10.4.4.4
r4(config)#access-list 100 deny ip host 10.0.100.1 host 10.4.4.4
r4(config)#access-list 100 permit ip any any
r4(config)#router eigrp 1
r4(config-router)#distribute-list 100 in FastEthernet 0/0
И получаем нужный нам результат.
r4#show ip route eigrp
10.0.0.0/8 is variably subnetted, 10 subnets, 2 masks
D 10.0.10.1/32 [90/435200] via 10.0.24.2, 00:01:17, FastEthernet0/1
D 10.0.12.0/24 [90/307200] via 10.0.24.2, 00:01:17, FastEthernet0/1
D 10.0.13.0/24 [90/332800] via 10.0.24.2, 00:01:17, FastEthernet0/1
D 10.2.2.2/32 [90/409600] via 10.0.24.2, 00:04:09, FastEthernet0/1
D 10.3.3.3/32 [90/460800] via 10.0.24.2, 00:01:17, FastEthernet0/1
D 10.1.1.1/32 [90/435200] via 10.0.24.2, 00:01:17, FastEthernet0/1
D 10.0.100.1/32 [90/435200] via 10.0.24.2, 00:01:17, FastEthernet0/1
EIGRP
фильтрация
с
префикс
листом
(Filtering with Prefix-List)
В данном примере, мы запрещаем распространение адреса 10.4.4.4 и не пускаем на маршрутизатор r4 адрес 10.1.1.1.
r4(config)#ip prefix-list r4_out seq 5 deny 10.4.4.4/32
r4(config)#ip prefix-list r4_out seq 10 permit 0.0.0.0/0 le 32
r4(config)# ip prefix-list r4_in seq 5 deny 10.1.1.1/32
r4(config)# ip prefix-list r4_in seq 10 permit 0.0.0.0/0 le 32
r4(config)#router eigrp 1
r4(config-router)#distribute-list prefix r4_out out
r4(config-router)#distribute-list prefix r4_in in
В результате проверки, мы видим, что на маршрутизаторах r1 и r2 нет адреса 10.4.4.4, а адрес 10.1.1.1 присутствует на маршрутизаторе r2, а на r4 его нет.
r1#show ip route eigrp
10.0.0.0/8 is variably subnetted, 9 subnets, 2 masks
D 10.2.2.2/32 [90/409600] via 10.0.12.2, 01:16:56, FastEthernet0/0
D 10.3.3.3/32 [90/409600] via 10.0.13.3, 01:15:17, FastEthernet0/1
D 10.0.24.0/24 [90/307200] via 10.0.12.2, 00:43:44, FastEthernet0/0
D 10.0.34.0/24 [90/307200] via 10.0.13.3, 00:43:44, FastEthernet0/1
r2#show ip route eigrp
10.0.0.0/8 is variably subnetted, 9 subnets, 2 masks
D 10.0.10.1/32 [90/409600] via 10.0.12.1, 00:46:20, FastEthernet0/0
D 10.0.13.0/24 [90/307200] via 10.0.12.1, 00:26:53, FastEthernet0/0
D 10.3.3.3/32 [90/435200] via 10.0.24.4, 00:26:53, FastEthernet0/1
[90/435200] via 10.0.12.1, 00:26:53, FastEthernet0/0
D 10.1.1.1/32 [90/409600] via 10.0.12.1, 01:18:16, FastEthernet0/0
D 10.0.34.0/24 [90/307200] via 10.0.24.4, 00:48:05, FastEthernet0/1
D 10.0.100.1/32 [90/409600] via 10.0.12.1, 00:46:14, FastEthernet0/0
r4#show ip route eigrp
10.0.0.0/8 is variably subnetted, 9 subnets, 2 masks
D 10.0.10.1/32 [90/435200] via 10.0.34.3, 00:30:33, FastEthernet0/0
[90/435200] via 10.0.24.2, 00:30:33, FastEthernet0/1
D 10.0.12.0/24 [90/307200] via 10.0.24.2, 00:30:33, FastEthernet0/1
D 10.0.13.0/24 [90/307200] via 10.0.34.3, 00:30:33, FastEthernet0/0
D 10.2.2.2/32 [90/409600] via 10.0.24.2, 00:51:45, FastEthernet0/1
D 10.3.3.3/32 [90/409600] via 10.0.34.3, 00:30:33, FastEthernet0/0
D 10.0.100.1/32 [90/435200] via 10.0.34.3, 00:30:33, FastEthernet0/0
[90/435200] via 10.0.24.2, 00:30:33, FastEthernet0/1
EIGRP
фильтрация
с
картой
маршрутов
(Filtering with Route-Map)
В данном примере мы перераспределяем в EIGRP два адреса, которым присваиваем им соответствующие метки, в дальнейшем по меткам их можно будет перераспределять.
r1(config)#route-map conn_eigrp permit 10
r1(config-route-map)#match interface loopback10
r1(config-route-map)#set tag 10
r1(config-route-map)#route-map conn_eigrp permit 20
r1(config-route-map)#match interface loopback100
r1(config-route-map)#set tag 100
r1(config-route-map)#exit
r1(config)#router eigrp 1
r1(config-router)#redistribute connected route-map conn_eigrp
Первая команда показывает, что данные маршруты пришли как внешние, две другие присвоенные метки. Проверка осуществляется командами:
r4#show ip route eigrp
10.0.0.0/8 is variably subnetted, 10 subnets, 2 masks
D EX 10.0.10.1/32 [170/435200] via 10.0.34.3, 00:00:30,FastEthernet0/0
[170/435200] via 10.0.24.2, 00:00:30, FastEthernet0/1
D 10.0.12.0/24 [90/307200] via 10.0.24.2, 01:11:03, FastEthernet0/1
D 10.0.13.0/24 [90/307200] via 10.0.34.3, 01:11:03, FastEthernet0/0
D 10.2.2.2/32 [90/409600] via 10.0.24.2, 01:32:15, FastEthernet0/1
D 10.3.3.3/32 [90/409600] via 10.0.34.3, 01:11:03, FastEthernet0/0
D 10.1.1.1/32 [90/435200] via 10.0.34.3, 00:19:50, FastEthernet0/0
[90/435200] via 10.0.24.2, 00:19:50, FastEthernet0/1
D EX 10.0.100.1/32 [170/435200] via 10.0.34.3,00:00:30,FastEthernet0/0
[170/435200] via 10.0.24.2, 00:00:30, FastEthernet0/1
r4#show ip route 10.0.10.1
Routing entry for 10.0.10.1/32
Known via "eigrp 1", distance 170, metric 435200
Tag 10, type external
Redistributing via eigrp 1
Last update from 10.0.24.2 on FastEthernet0/1, 00:02:09 ago
Routing Descriptor Blocks:
* 10.0.34.3, from 10.0.34.3, 00:02:09 ago, via FastEthernet0/0
Route metric is 435200, traffic share count is 1
Total delay is 7000 microseconds, minimum bandwidth is 10000 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 2
Route tag 10
10.0.24.2, from 10.0.24.2, 00:02:09 ago, via FastEthernet0/1
Route metric is 435200, traffic share count is 1
Total delay is 7000 microseconds, minimum bandwidth is 10000 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 2
Route tag 10
r4#show ip route 10.0.100.1
Routing entry for 10.0.100.1/32
Known via "eigrp 1", distance 170, metric 435200
Tag 100, type external
Redistributing via eigrp 1
Last update from 10.0.24.2 on FastEthernet0/1, 00:02:41 ago
Routing Descriptor Blocks:
* 10.0.34.3, from 10.0.34.3, 00:02:41 ago, via FastEthernet0/0
Route metric is 435200, traffic share count is 1
Total delay is 7000 microseconds, minimum bandwidth is 10000 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 2
Route tag 100
10.0.24.2, from 10.0.24.2, 00:02:41 ago, via FastEthernet0/1
Route metric is 435200, traffic share count is 1
Total delay is 7000 microseconds, minimum bandwidth is 10000 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 2
Route tag 100
EIGRP
фильтрация
по
административной
дистанции
(Filtering with Administrative Distance)
В данном примере мы устанавливаем для адреса 10.1.1.1 максимальную административную дистанцию и делаем его не достижимым.
r4#show ip route eigrp
10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks
D 10.0.12.0/24 [90/307200] via 10.0.24.2, 01:19:12, FastEthernet0/1
D 10.0.13.0/24 [90/307200] via 10.0.34.3, 01:19:12, FastEthernet0/0
D 10.2.2.2/32 [90/409600] via 10.0.24.2, 01:40:23, FastEthernet0/1
D 10.3.3.3/32 [90/409600] via 10.0.34.3, 01:19:12, FastEthernet0/0
D 10.1.1.1/32 [90/435200] via 10.0.34.3, 00:27:58, FastEthernet0/0
[90/435200] via 10.0.24.2, 00:27:58, FastEthernet0/1
r4(config)#access-list 2 permit 10.1.1.1
r4(config-router)#distance 255 0.0.0.0 255.255.255.255 2
Проверка осуществляется командами:
r4#show ip route eigrp
10.0.0.0/8 is variably subnetted, 7 subnets, 2 masks
D 10.0.12.0/24 [90/307200] via 10.0.24.2, 00:00:12, FastEthernet0/1
D 10.0.13.0/24 [90/307200] via 10.0.34.3, 00:00:12, FastEthernet0/0
D 10.2.2.2/32 [90/409600] via 10.0.24.2, 00:00:12, FastEthernet0/1
D 10.3.3.3/32 [90/409600] via 10.0.34.3, 00:00:12, FastEthernet0/0
r4#show ip route 10.1.1.1
% Subnet not in table
EIGRP
фильтрация
с
командой
пассивный
интерфейс
(Filtering with Passive-Interface)
Данный пример рассматривался ранее, данная команда полностью отключает EIGRP на интерфейсах.
r1(config)#router eigrp 1
r1(config-router)#passive-interface default
r1(config-router)#no passive-interface FastEthernet 0/0
r1(config-router)#no passive-interface Loopback 0
r1(config-router)#no auto-summary
r1(config-router)#end
r1#wr
EIGRP
фильтрация
с
офсет
листом
(Filtering with Offset-List)
В EIGRP при помощи офсет листа можно изменить метрику, данные действия показаны ниже:
r4#sh ip route 10.3.3.3
Routing entry for 10.3.3.3/32
Known via "eigrp 1", distance 90, metric 409600, type internal
Redistributing via eigrp 1
Last update from 10.0.34.3 on FastEthernet0/0, 00:00:41 ago
Routing Descriptor Blocks:
* 10.0.34.3, from 10.0.34.3, 00:00:41 ago, via FastEthernet0/0
Route metric is 409600, traffic share count is 1
Total delay is 6000 microseconds, minimum bandwidth is 10000 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 1
r3(config)#access-list 1 permit 10.3.3.3
r3(config)#router eigrp 1
r3(config-router)#offset-list 1 out 2147483647
r4#sh ip route 10.3.3.3
Routing entry for 10.3.3.3/32
Known via "eigrp 1", distance 90, metric 2147893247, type internal
Redistributing via eigrp 1
Last update from 10.0.34.3 on FastEthernet0/0, 00:00:05 ago
Routing Descriptor Blocks:
* 10.0.34.3, from 10.0.34.3, 00:00:05 ago, via FastEthernet0/0
Route metric is 2147893247, traffic share count is 1
Total delay is 83892079 microseconds, minimum bandwidth is 10000 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 1
EIGRP фильтрация с закрытой областью (Filtering with Stub Routing)
Если маршрутизатор указан как Stub, то соседи не посылают ему запросы о маршрутах.
r1(config)#route-map conn permit 10
r1(config-route-map)#match interface loopback10 loopback100
r1(config-route-map)#router eigrp 1
r1(config-router)#redistribute connected route-map conn
r1(config-router)#eigrp stub connected summary
Проверка осуществляется командами:
r4#show ip route eigrp | include EX
D EX 10.0.10.1/32 [170/435200] via 10.0.34.3, 00:39:29,FastEthernet0/0
D EX 10.0.100.1/32 [170/435200] via 10.0.34.3,00:39:29,FastEthernet0/0
r2#show ip eigrp neighbors detail
IP-EIGRP neighbors for process 1
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.0.12.1 Fa0/0 14 00:44:27 97 582 0 146
Version 12.4/1.2, Retrans: 0, Retries: 0, Prefixes: 4
Stub Peer Advertising ( CONNECTED SUMMARY ) Routes
Suppressing queries
1 10.0.24.4 Fa0/1 11 19:45:37 86 516 0 197
Version 12.4/1.2, Retrans: 6, Retries: 0, Prefixes: 4
EIGRP
фильтрация
с
закрытой
областью
c leak
картой
(Filtering with Stub Routing and Leak Map)
Не рекламирует маршрут 10.0.10.0/24
r1(config)#router eigrp 1
r1(config-router)#network 10.0.10.0 0.0.0.0
r1(config)#ip prefix-list lo10 seq 5 permit 10.0.10.0/24
r1(config)#route-map stub_leak_map deny 10
r1(config-route-map)#match ip address prefix-list lo10
r1(config-route-map)#route-map stub_leak_map permit 20
r1(config-route-map)#router eigrp 1
r1(config-router)#eigrp stub connected leak-map stub_leak_map
Проверка осуществляется командами:
r2#show ip eigrp neighbors detail
IP-EIGRP neighbors for process 1
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num 0 10.0.12.1 Fa0/0 14 00:00:19 95 570 0 183
Version 12.4/1.2, Retrans: 0, Retries: 0, Prefixes: 4
Stub Peer Advertising ( CONNECTED ) Routes
Suppressing queries
r4#sh ip route eigrp
10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks
D 10.0.12.0/24 [90/307200] via 10.0.24.2, 00:02:44, FastEthernet0/1
D 10.0.13.0/24 [90/307200] via 10.0.34.3, 00:02:44, FastEthernet0/0
D 10.2.2.2/32 [90/409600] via 10.0.24.2, 01:39:31, FastEthernet0/1
D 10.3.3.3/32 [90/2147893247] via 10.0.34.3, 01:39:31,FastEthernet0/0
D 10.1.1.1/32 [90/435200] via 10.0.34.3, 00:02:44, FastEthernet0/0
[90/435200] via 10.0.24.2, 00:02:44, FastEthernet0/1
EIGRP уникальная балансировка с не равной стоимостью (Unequal Cost Load Balancing)
EIGRP позволяет балансировать нагрузку к определённой сети, загружать оба доступных пути.
В последующих примерах используется приведённая ниже схема.

r1#sh ip route eigrp
10.0.0.0/8 is variably subnetted, 8 subnets, 2 masks
D 10.2.2.2/32 [90/2357760] via 10.0.13.3, 00:00:32, Serial0/1
D 10.3.3.3/32 [90/2306560] via 10.0.13.3, 00:00:31, Serial0/1
D 10.4.4.4/32 [90/2332160] via 10.0.13.3, 00:00:32, Serial0/1
D 10.0.24.0/24 [90/2229760] via 10.0.13.3, 00:00:32, Serial0/1
D 10.0.34.0/24 [90/2204160] via 10.0.13.3, 00:00:33, Serial0/1
В данном примере, мы устанавливаем на интерфейсах разную пропускную способность.
r1(config)# interface Serial0/0
r1(config-if)# bandwidth 256
r1(config-if)# interface Serial0/1
r1(config-if)# bandwidth 1280
r1#show ip eigrp topology 10.4.4.4 255.255.255.255
IP-EIGRP (AS 1): Topology entry for 10.4.4.4/32
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 2665472
Routing Descriptor Blocks:
10.0.13.3 (Serial0/1), from 10.0.13.3, Send flag is 0x0
Composite metric is (2665472/409600), Route is Internal
Vector metric:
Minimum bandwidth is 1280 Kbit
Total delay is 26000 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 2
10.0.12.2 (Serial0/0), from 10.0.12.2, Send flag is 0x0
Composite metric is (10665472/409600), Route is Internal
Vector metric:
Minimum bandwidth is 256 Kbit
Total delay is 26000 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 2
После этого используем указанную команду и получаем результат, показанный ниже.
r1(config-if)#router eigrp 1
r1(config-router)# variance 5
r1(config-router)#do clear ip eigrp neighbor
r1(config-router)#do show ip route 10.4.4.4
Routing entry for 10.4.4.4/32
Known via "eigrp 1", distance 90, metric 2665472, type internal
Redistributing via eigrp 1
Last update from 10.0.12.2 on Serial0/0, 00:00:03 ago
Routing Descriptor Blocks:
* 10.0.13.3, from 10.0.13.3, 00:00:03 ago, via Serial0/1
Route metric is 2665472, traffic share count is 4
Total delay is 26000 microseconds, minimum bandwidth is 1280 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 2
10.0.12.2, from 10.0.12.2, 00:00:03 ago, via Serial0/0
Route metric is 10665472, traffic share count is 1
Total delay is 26000 microseconds, minimum bandwidth is 256 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 1/255, Hops 2
Bepul matn qismi tugad.