Примеры конфигураций будут предложены для несколько упрощенной схемы, приведенной ниже. Схема состоит из четырех маршрутизаторов, корневые маршрутизаторы соединены двумя линками, которые будут собраны в LAG.
| Оглавление | ||
|---|---|---|
|
В современных сетях в качестве IGP используются протоколы OSPF или ISIS. В предложенном дизайне будет использован OSPF. Все маршрутизаторы ядра сети помещаются в OSPF area 0.
Настройка доступа и общесистемных параметров, таких как AAA, CoPP, NTP, SSH и прочих
| Блок кода | ||||
|---|---|---|---|---|
| ||||
aaa accounting commands stop-only tacacs #настройка параметров авторизации AAA
aaa accounting login start-stop tacacs
aaa authentication login TACACS
method tacacs
method local
exit
aaa authentication login local
method local
exit
aaa authorization commands tacacs
backup to fs://backups #настройка сохранения конфигурации устройства на локальном устройстве
memory-limit 50
post-commit
exit
clock timezone gmt 7 #выбор часового пояса для сдвига системного времени относительно времени NTP-сервера
control-plane inband interface all #настройка защиты плоскости управления
allow bfd
any
exit
exit
allow dhcp
any
exit
exit
allow icmp #Задание списка хостов, c которыми разрешено взаимодействие по icmp
peer-list icmp
icmp-type echo
exit
peer icmp_1
source
address-range 10.255.0.0-10.255.1.255
exit
exit
exit
exit
allow igmp
any
exit
exit
allow ldp
any
exit
exit
allow microbfd
any
exit
exit
allow ntp #Задание списка хостов, c которыми разрешено взаимодействие по ntp
peer-list ntp
peer ntp_1
source
address 10.10.0.1
exit
exit
peer ntp_2
source
address 10.18.0.2
exit
exit
exit
exit
allow ospf
any
exit
exit
allow pim
any
exit
exit
allow snmp #Задание списка хостов, которым разрешен доступ к устройству по snmp
peer-list snmp
peer snmp_1
source
address 10.10.0.1
exit
exit
peer snmp_2
source
address-range 10.255.2.0-10.255.2.15
exit
exit
exit
exit
allow ssh #Задание списка хостов, которым разрежен доступ к устройству по ssh
peer-list ssh
peer ssh_1
source
address 10.10.0.1
exit
exit
peer ssh_2
source
address-range 10.255.2.0-10.255.2.15
exit
exit
exit
exit
exit
hostname Core-R1 #Задание имени устройства
hw-module maximum acl-entries 100 #конфигурация блока распределения аппаратных ресурсов
hw-module maximum ipv4 routes 3000000
interface mgmt 0/fmc0/1 #конфигурация OOB интерфейса
ipv4 address 172.61.0.40/24
vrf mgmt-intf
exit
load-balancing hash-fields ip-dst #настройка параметров балансировки трафика в LAG и ECMP
load-balancing hash-fields ip-src
load-balancing hash-fields mac-dst
load-balancing hash-fields mac-src
load-balancing hash-fields mpls labels
load-balancing lag in-port #настройка параметров балансировки трафика в LAG
load-balancing lag shift 5
logging console warning #настройка параметров логирования событий в терминал консольного подключения
logging crash-info rotate 5 #количество файлов crash-info, сохраняемых на устройстве
logging host 10.10.0.1 vrf default #Задание адреса сервера удаленного журналирования, на который будут отправляться SYSLOG-сообщения
exit
logging host 10.18.0.2 vrf default #Задание адреса сервера удаленного журналирования, на который будут отправляться SYSLOG-сообщения
exit
logging monitor crit #настройка параметров логирования событий в терминал подключения ssh
logging rotate 20 #задание количества файлов, используемых системой журналирования устройства в процессе ротации файлов журнала
ntp vrf default #конфигурация блока протокола ntp
authentication-key 54
md5 encrypted 92A0137EB50C5AFE7A3295EA4B
exit
server 10.10.0.1 #задание предпочтительного сервера ntp
prefer
exit
server 10.18.0.2 #задание дублирующего сервера ntp
exit
source-address 10.255.0.2
trusted-key 54
exit
snmp server client-list ECCM #задание списка snmp клиентов
prefix 10.250.111.48/30
exit
snmp server vrf default #Включение snmp сервера в GRT
community label private #Блок конфигурации snmp community
client-list ECCM
community-name encrypted 99B7006092BDA0516
version v2c
exit
ssh server vrf default #включение ssh сервера в глобальной таблице маршрутизации
session-limit 10 #максимальное количество пользователей, одновременно подключенных по ssh
exit
ssh server vrf mgmt-intf #включение ssh сервера в vrf mgmt-intf
session-limit 10 #максимальное количество пользователей, одновременно подключенных по ssh
exit
system subint-utilization #включение подсчет загрузки сабинтерфейсов в реальном времени
system qos-utilization #включение подсчет загрузки qos policy в реальном времени
tacacs-server host 10.10.0.3 vrf default #настройка AAA-сервера и ключа авторизации.
password encrypted D57F198A443192BDA05165A92342C14D
source-address 10.255.0.1
exit
tacacs-server timeout 5
user duty
password encrypted $6$UUu.QNtbUyclUa2E$mo5AbZ0wYI9PB6zGi..fUWRca.ye/PjUzvecdXV3dMMdKAmITQGsSpT1/g30f29x44p2ZGzIEvcbm9XgVM2Mv.
exit
user field
password encrypted $6$YMHzbGnlFhVUreE3$2yjAHsTjX9JQgzUgTuzNGPhSAHdvnguHwxhQDuSY4gsWMc38NX2N2Owcui5sP8sJ0MCWbC0nl1gVqQfdyaSHp/
exit
|
Настройка интерконнектов
В качестве интерконнектов используются физические интерфейсы. MTU физического интерфейса по умолчанию составляет 1522 байт, и этого может оказаться достаточно для передачи Ethetnet-кадров и двух меток MPLS в сервисе L3VPN, однако при использовании L2VPN-сервисов размер MTU потребуется увеличить. Мы рекомендуем увеличить MTU до 9600 байт, чего будет достаточно для любых сценариев использования.
В некоторых случаях может потребоваться организация составных логических интерфейсов LAG bundle-ether, объединяющих несколько физических интерфейсов посредством протокола LACP. Для быстрого детектирования отказов по конкретным линкам и минимизации потерь трафика на каждом bundle-ether интерфейсе конфигурируется Micro-BFD-сессия.
| Примечание |
|---|
Рекомендуется применять bundle-ether тогда, когда это действительно необходимо. Несмотря на то, что интерфейсы bundle-ether являются полнофункциональными и поддерживают различные способы балансировки трафика, следует иметь в виду особенности работы QOS на данном типе интерфейсов. |
На всех интерфейсах следует настроить задержку поднятия интерфейса во избежание ситуации, когда на нестабильном, флапающем интерфейсе пытаются подниматься протоколы маршрутизации и т.д., увеличивая нагрузку на устройство и в некоторых случаях вызывая ненужные переключения и потери трафика. Также желательно уменьшить интервал округления статистики на интерфейсах, чтобы более точно в режиме реального времени оценивать изменение трафика.
В предложенном примере интерфейс bundle-ether применяется между маршрутизаторами Core-R1 и Core-R2.
Кроме того, в этом блоке показана конфигурация интерфейса loopback, который будет использован далее в настройках.
| Блок кода | ||||
|---|---|---|---|---|
| ||||
interface loopback 0 ipv4 address 10.255.0.1/32 exit interface bundle-ether 2 bfd address-family ipv4 fast-detect #включение и настройка micro-bfd сессии bfd address-family ipv4 local-address 10.255.0.33 #включение и настройка micro-bfd сессии bfd address-family ipv4 neighbor 10.255.0.34 #включение и настройка micro-bfd сессии bfd rx-interval 25 #задание таймеров на micro-bfd сессии bfd tx-interval 25 #задание таймеров на micro-bfd сессии description "To Core-R2" ip mtu 9200 #задание ip mtu на интерфейсе ipv4 address 10.255.0.33/30 load-interval 20 #конфигурирование интервала расчета загрузки на интерфейсе mtu 9600 #задание mtu на интерфейсе exit interface tengigabitethernet 0/0/3 description "To Aggr-R3" hold-time up 5000 #конфигурирование задержки поднятия интерфейса ip mtu 9200 ipv4 address 10.255.0.53/30 load-interval 20 #конфигурирование интервала расчета загрузки на интерфейсе mtu 9600 exit interface tengigabitethernet 0/0/4 description "To Aggr-R4" hold-time up 5000 ip mtu 9200 ipv4 address 10.255.0.46/30 load-interval 20 mtu 9600 exit |
| Блок кода | ||||
|---|---|---|---|---|
| ||||
interface loopback 0 ipv4 address 10.255.0.2/32 exit interface bundle-ether 1 bfd address-family ipv4 fast-detect bfd address-family ipv4 local-address 10.255.0.34 bfd address-family ipv4 neighbor 10.255.0.33 bfd rx-interval 25 bfd tx-interval 25 description "To Core-R1" ip mtu 9200 ipv4 address 10.255.0.34/30 load-interval 20 mtu 9600 exit interface tengigabitethernet 0/0/3 description "To Aggr-R3" hold-time up 5000 ip mtu 9200 ipv4 address 10.255.0.37/30 load-interval 20 mtu 9600 exit interface tengigabitethernet 0/0/4 description "To Aggr-R3" hold-time up 5000 ip mtu 9200 ipv4 address 10.255.0.49/30 load-interval 20 mtu 9600 exit |
| Блок кода | ||||
|---|---|---|---|---|
| ||||
interface loopback 0 ipv4 address 10.255.0.3/32 exit interface tengigabitethernet 0/0/1 description "To Core-R1" hold-time up 5000 ip mtu 9200 ipv4 address 10.255.0.54/30 load-interval 20 mtu 9600 exit interface tengigabitethernet 0/0/2 description "To Core-R2" hold-time up 5000 ip mtu 9200 ipv4 address 10.255.0.38/30 load-interval 20 mtu 9600 exit interface tengigabitethernet 0/0/4 description "To Aggr-R4" hold-time up 5000 ip mtu 9200 ipv4 address 10.255.0.41/30 load-interval 20 mtu 9600 exit |
| Блок кода | ||||
|---|---|---|---|---|
| ||||
interface loopback 0 ipv4 address 10.255.0.4/32 exit interface tengigabitethernet 0/0/1 description "To Core-R1" hold-time up 5000 ip mtu 9200 ipv4 address 10.255.0.45/30 load-interval 20 mtu 9600 exit interface tengigabitethernet 0/0/2 description "To Core-R2" hold-time up 5000 ip mtu 9200 ipv4 address 10.255.0.50/30 load-interval 20 mtu 9600 exit interface tengigabitethernet 0/0/3 description "To Aggr-R3" hold-time up 5000 ip mtu 9200 ipv4 address 10.255.0.42/30 load-interval 20 mtu 9600 exit |
Настройка протокола LACP, добавление физических интерфейсов в bundle-ether и их настройка.
| Блок кода | ||||
|---|---|---|---|---|
| ||||
lacp
interface bundle-ether 2 #Конфигурация составного интерфейса
exit
interface tengigabitethernet 0/0/1 #Конфигурация интерфейса - участника LAG
bundle id 2 #Задание номера группы агрегации, в которую включен интерфейс
bundle mode active #Задание режима работы агрегирующего интерфейса
exit
interface tengigabitethernet 0/0/2
bundle id 2
bundle mode active
exit
exit |
| Блок кода | ||||
|---|---|---|---|---|
| ||||
lacp
interface bundle-ether 1
exit
interface tengigabitethernet 0/0/1
bundle id 1
bundle mode active
exit
interface tengigabitethernet 0/0/2
bundle id 1
bundle mode active
exit
exit |
Настройка OSPF
В настоящее время OSPF обладает рядом преимуществ перед IS-IS, включая более простую и понятную архитектуру, особенно для администраторов, привыкших к IP-сетям, так как OSPF изначально разработан для IP и не требует настройки CLNS. Он поддерживает более гибкое разделение на области (areas), где все области должны быть подключены к backbone (Area 0), что упрощает проектирование иерархических сетей. Различные типы LSA OSPF обеспечивают более детализированный контроль над распространением маршрутной информации.
При конфигурации OSPF следует настроить параметры, отвечающие за быструю сходимость, защиту от микропетель, синхронизацию с протоколом LDP, построение альтернативного маршрута посредством технологии LFA FRR.
| Блок кода | ||||
|---|---|---|---|---|
| ||||
router ospfv2 1
area 0.0.0.0 #Указание area. Для CORE сегмента используется area 0
interface bundle-ether 2
ldp-igp-synchronization hold-time 20 #включение механизма синхронизации между протоколами OSPFv2 и LDP и указание времени, на которое будет завышена метрика для интерфейса без LDP
network point-to-point #указание типа интерфейса OSPF
retransmit-interval 1 #установка интервала пересылки полученного LSA другим соседям
exit
interface tengigabitethernet 0/0/3
bfd fast-detect #включение механизма BFD для OSPF соседей на интерфейсе
ldp-igp-synchronization hold-time 20
network point-to-point
retransmit-interval 1
exit
interface tengigabitethernet 0/0/4
bfd fast-detect
ldp-igp-synchronization hold-time 20
network point-to-point
retransmit-interval 1
exit
interface loopback 1
passive
exit
exit
auto-cost reference-bandwidth 100000000 #увеличение референсного значения скорости интерфейса. позволяет более корректно учитывать скорость интерфейсов вплоть до 100G
graceful-restart #включение поддержки механизма OSPF Graceful Restart
lfa include-all #включение возможности построения LFA маршрутов для всех интерфейсов, участвующих в OSPF
microloop-avoidance rib-update-delay 100 #включение механизма защиты от микропетель при перестроениях и указание задержки обновления таблицы маршрутизации
route-calculation max-delay 50 #указание задержки пересчета таблицы маршрутизации при изменении базы данных OSPF LSDB
router-id 10.255.0.1 #задание router ID для данного OSPF процесса. исключает выборы router-id из существующих интерфейсов.
exit
|
| Блок кода | ||||
|---|---|---|---|---|
| ||||
router ospfv2 1
area 0.0.0.0
interface bundle-ether 1
ldp-igp-synchronization hold-time 20
network point-to-point
retransmit-interval 1
exit
interface tengigabitethernet 0/0/3
bfd fast-detect
ldp-igp-synchronization hold-time 20
network point-to-point
retransmit-interval 1
exit
interface tengigabitethernet 0/0/4
bfd fast-detect
ldp-igp-synchronization hold-time 20
network point-to-point
retransmit-interval 1
exit
interface loopback 1
hello-interval 10
passive
exit
exit
auto-cost reference-bandwidth 100000000
graceful-restart
lfa include-all
microloop-avoidance rib-update-delay 100
route-calculation max-delay 50
router-id 10.255.0.2
exit
|
| Блок кода | ||||
|---|---|---|---|---|
| ||||
router ospfv2 1
area 0.0.0.0
interface tengigabitethernet 0/0/1
bfd fast-detect
ldp-igp-synchronization hold-time 20
network point-to-point
retransmit-interval 1
exit
interface tengigabitethernet 0/0/2
bfd fast-detect
ldp-igp-synchronization hold-time 20
network point-to-point
retransmit-interval 1
exit
interface tengigabitethernet 0/0/4
bfd fast-detect
ldp-igp-synchronization hold-time 20
network point-to-point
retransmit-interval 1
exit
interface loopback 1
hello-interval 10
passive
exit
exit
auto-cost reference-bandwidth 100000000
graceful-restart
lfa include-all
microloop-avoidance rib-update-delay 100
route-calculation max-delay 50
router-id 10.255.0.3
exit |
| Блок кода | ||||
|---|---|---|---|---|
| ||||
router ospfv2 1
area 0.0.0.0
interface tengigabitethernet 0/0/1
bfd fast-detect
ldp-igp-synchronization hold-time 20
network point-to-point
retransmit-interval 1
exit
interface tengigabitethernet 0/0/2
bfd fast-detect
ldp-igp-synchronization hold-time 20
network point-to-point
retransmit-interval 1
exit
interface tengigabitethernet 0/0/3
bfd fast-detect
ldp-igp-synchronization hold-time 20
network point-to-point
retransmit-interval 1
exit
interface loopback 1
hello-interval 10
passive
exit
exit
auto-cost reference-bandwidth 100000000
graceful-restart
lfa include-all
microloop-avoidance rib-update-delay 100
route-calculation max-delay 50
router-id 10.255.0.4
exit
|
Настройка LDP
Для распространения транспортных меток в сети применяется протокол LDP. В сетях, состоящих из небольшого количества MPLS-маршрутизаторов, использование LDP выглядит предпочтительным, так как он не требует сложной настройки, что снижает затраты на администрирование и уменьшает вероятность ошибок. Кроме того, LDP легко интегрируется с существующими протоколами, такими как OSPF и BGP, а при использовании LFA FRR позволяет минимизировать время восстановления сервисов при выходе из строя линков или узлов сети.
Ниже пример конфигурации MPLS и LDP:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
mpls
forwarding # в данном блоке указываются все интерфейсы, участвующие в обмене MPLS
interface bundle-ether 2 #
interface tengigabitethernet 0/0/3 #
interface tengigabitethernet 0/0/4 #
interface loopback 1 # В том числе интерфейс loopback 1, который будет являться FEC для построения LSP
exit
ldp
discovery interface bundle-ether 2 # включение построение LDP-соседств на указанном интерфейсе
exit
discovery interface tengigabitethernet 0/0/3
exit
discovery interface tengigabitethernet 0/0/4
exit
graceful-restart enable # включает поддержку Graceful Restart для портоколапротокола LDP
graceful-restart forwarding-state-holdtime 140 # задание интервала, в течение которого устройство будет сохранять MPLS маршрутизацию после перезапуска LDP
graceful-restart reconnect-timeout 90 # задание интервала, требуемого устройству на перезапуск LDP сервиса и анонсируемого как FT Reconnection Timeout
reroute-optimization
exit
router-id 10.255.0.1 # указание значения атрибута LSR ID (Label Switching Router Identifier) для протокола LDP
transport-address 10.255.0.1 # указание IP адреса, используемого в качестве источника LDP Hello сообщений, для установления targeted LDP сессий
exit
|
| Блок кода | ||||
|---|---|---|---|---|
| ||||
mpls
forwarding
interface bundle-ether 1
interface tengigabitethernet 0/0/3
interface tengigabitethernet 0/0/4
interface loopback 1
exit
ldp
discovery interface bundle-ether 1
exit
discovery interface tengigabitethernet 0/0/3
exit
discovery interface tengigabitethernet 0/0/4
exit
graceful-restart enable
graceful-restart forwarding-state-holdtime 140
graceful-restart reconnect-timeout 90
reroute-optimization
exit
router-id 10.255.0.2
transport-address 10.255.0.2
exit
|
| Блок кода | ||||
|---|---|---|---|---|
| ||||
mpls
forwarding
interface tengigabitethernet 0/0/1
interface tengigabitethernet 0/0/2
interface tengigabitethernet 0/0/4
interface loopback 1
exit
ldp
discovery interface tengigabitethernet 0/0/1
exit
discovery interface tengigabitethernet 0/0/2
exit
discovery interface tengigabitethernet 0/0/4
exit
graceful-restart enable
graceful-restart forwarding-state-holdtime 140
graceful-restart reconnect-timeout 90
reroute-optimization
exit
router-id 10.255.0.3
transport-address 10.255.0.3
exit
|
| Блок кода | ||||
|---|---|---|---|---|
| ||||
mpls
forwarding
interface tengigabitethernet 0/0/1
interface tengigabitethernet 0/0/2
interface tengigabitethernet 0/0/3
interface loopback 1
exit
ldp
discovery interface tengigabitethernet 0/0/1
exit
discovery interface tengigabitethernet 0/0/2
exit
discovery interface tengigabitethernet 0/0/3
exit
graceful-restart enable
graceful-restart forwarding-state-holdtime 140
graceful-restart reconnect-timeout 90
reroute-optimization
exit
router-id 10.255.0.4
transport-address 10.255.0.4
exit
|
Настройка iBGP
Для обмена маршрутами и построения сервисов в сети применяется протокол BGP с расширением MP-BGP.
При организации BGP-связности внутри AS требуется обеспечить полную связность маршрутизаторов каждого с каждым. Во избежание излишнего количества BGP-соседств и упрощения конфигурации применяется механизм RR. Маршрутизаторы CORE в контексте iBGP выступают в роли RR.
Для предоставления различных сервисов в сети потребуется использовать несколько семейств адресов. Минимальный типовой набор состоит из трех семейств:
L3VPN: AFI 1, SAFI 128
L2VPN: AFI 25, SAFI 65
MVPN: AFI 1, SAFI 129
Все используемые семейства адресов нужно явно указывать для каждого соседа.
Пример конфигурации iBGP:
| Блок кода | ||||
|---|---|---|---|---|
| ||||
router bgp 64499
bgp router-id 10.255.0.1
neighbor 10.255.0.2
address-family ipv4 mvpn
exit
address-family l2vpn vpls
exit
address-family vpnv4 unicast
exit
remote-as 64499
send-community
send-community-ext
update-source 10.255.0.1
exit
neighbor 10.255.0.3
address-family ipv4 mvpn
exit
address-family l2vpn vpls
exit
address-family vpnv4 unicast
exit
route-reflector-client
remote-as 64499
send-community
send-community-ext
update-source 10.255.0.1
exit
neighbor 10.255.0.4
address-family ipv4 mvpn
exit
address-family l2vpn vpls
exit
address-family vpnv4 unicast
exit
route-reflector-client
remote-as 64499
send-community
send-community-ext
update-source 10.255.0.1
exit
exit
|
| Блок кода | ||||
|---|---|---|---|---|
| ||||
router bgp 64499
bgp router-id 10.255.0.2
neighbor 10.255.0.1
address-family ipv4 mvpn
exit
address-family l2vpn vpls
exit
address-family vpnv4 unicast
exit
remote-as 64499
send-community
send-community-ext
update-source 10.255.0.2
exit
neighbor 10.255.0.3
address-family ipv4 mvpn
exit
address-family l2vpn vpls
exit
address-family vpnv4 unicast
exit
route-reflector-client
remote-as 64499
send-community
send-community-ext
update-source 10.255.0.2
exit
neighbor 10.255.0.4
address-family ipv4 mvpn
exit
address-family l2vpn vpls
exit
address-family vpnv4 unicast
exit
route-reflector-client
remote-as 64499
send-community
send-community-ext
update-source 10.255.0.2
exit
exit
|
| Блок кода | ||||
|---|---|---|---|---|
| ||||
router bgp 64499
address-family vpnv4 unicast
exit
bgp router-id 10.255.0.3
neighbor 10.255.0.1
address-family ipv4 mvpn
exit
address-family l2vpn vpls
exit
address-family vpnv4 unicast
exit
remote-as 64499
send-community
send-community-ext
update-source 10.255.0.3
exit
neighbor 10.255.0.2
address-family ipv4 mvpn
exit
address-family l2vpn vpls
exit
address-family vpnv4 unicast
exit
remote-as 64499
send-community
send-community-ext
update-source 10.255.0.3
exit
exit
|
| Блок кода | ||||
|---|---|---|---|---|
| ||||
router bgp 64499
bgp router-id 10.255.0.4
neighbor 10.255.0.1
address-family ipv4 mvpn
exit
address-family l2vpn vpls
exit
address-family vpnv4 unicast
exit
remote-as 64499
send-community
send-community-ext
update-source 10.255.0.4
exit
neighbor 10.255.0.2
address-family ipv4 mvpn
exit
address-family l2vpn vpls
exit
address-family vpnv4 unicast
exit
remote-as 64499
send-community
send-community-ext
update-source 10.255.0.4
exit
exit
|

