Найти в Дзене
sl nec

Готовимся к CCIE - Practice Lab BGP

Оглавление

Лабораторная работа из книги Narbik Kocharians "CCIE Routing an Switching v5.1. Foundations. Bridging the Gap Between CCNP and CCIE"
Предназначена для плотной подготовки к CCIE по протоколу BGP.
Lab 1: Establishing Neighbor Adjacencies
Lab 2: Router Reflectors
Lab 3: Conditional Advertisement and BGP Backdoor
Lab 4: Community Attribute
Lab 5: The AS-path Attribute
Lab 6: The Weight Attribute
Lab 7: Multi-Exit Discriminator Attribute
Lab 8: Filtering Using Access Lists and Prefix Lists
Lab 9: Regular Expressions
Lab 10: BGP Confederation
Лабораторная работа легко моделируется на сетевых симуляторах. Можно заказать у меня с удаленным доступом (anyconnect)
email: support@ciscodump.net

BGP Lab1: Establishing Neighbor Adjacencies

Рассмотрим развертывание протокола BGP в сети, показанной на рисунке ниже.

Начнем с того, что сконцентрируемся на пиринговых отношениях iBGP. Начальные настройки роутеров состоят в настройках интерфейсов, вы их видите на схеме.

Task 1

Configure routers R1–R4 in AS 100. These routers should create interior-BGP peer sessions between them in a full-mesh manner. Ensure that these routers advertise their loopback0 interface in this autonomous system (AS). Use their Gi1 interface for establishing an adjacency.

Перевод :

Настройте маршрутизаторы R1 – R4 в AS 100. Эти маршрутизаторы должны создавать между собой iBGP peer sessions в схеме full-mesh. Маршрутизаторы должны анонсировать свой интерфейс loopback0 в этой автономной системе (AS). Используйте их интерфейс Gi1 для установления adjacency .

! On R1:
R1( config )#
router bgp 100
R1(config-router)#
neighbor 10.1.1.2 remote-as 100
R1(config-router)#
neighbor 10.1.1.3 remote-as 100
R1(config-router)#
neighbor 10.1.1.4 remote-as 100
R1(config-router)#
network 1.0.0.0

!On R2:
R2(config)#
router bgp 100
R2(config-router)#
neighbor 10.1.1.1 remote-as 100
R2(config-router)#
neighbor 10.1.1.3 remote-as 100
R2(config-router)#
neighbor 10.1.1.4 remote-as 100
R2(config-router)#
network 2.0.0.0

!On R3:
R3(config)#
router bgp 100
R3(config-router)#
neighbor 10.1.1.1 remote-as 100
R3(config-router)#
neighbor 10.1.1.2 remote-as 100
R3(config-router)#
neighbor 10.1.1.4 remote-as 100
R3(config-router)#
network 3.0.0.0

!On R4:
R4(config)#
router bgp 100
R4(config-router)#
neighbor 10.1.1.1 remote-as 100
R4(config-router)#
neighbor 10.1.1.2 remote-as 100
R4(config-router)#
neighbor 10.1.1.3 remote-as 100
R4(config-router)#
network 4.0.0.0

Проверим

-2

Рассмотрим вывод команды show:

  • * Означает, что запись в таблице валидна.
  • Значок > означает, что это лучшая запись для данного префикса.
  • i означает, что запись была получена через iBGP; i справа от знака (>) в столбце сети.
  • Столбец Network показывает запись префикса для сети. Если маска опущена, используется маска по умолчанию.
  • Столбец Next Hop показывает IP адрес next hop-a, через который будет доступен указанный адрес. Если он установлен в 0.0.0.0, значит этот префикс объявлен локальным маршрутизатором.
  • Столбец Metric содержит метрику inter-as или атрибут MED, который по умолчанию равен нулю.
  • Столбец LocPrf определяет атрибут «локального предпочтения». Он используется в процессе выбора маршрута в направлении out, выполняемого в локальной AS. Более высокое значение атрибута local-pref имеет большее предпочтение. По умолчанию префиксы, полученные от пиров AS, помечаются значением local-pref, равным 100; это поведение можно изменить, чтобы повлиять на best-path-selection процесс. Измененное значение анонсируется только iBGP пирам. Когда локальный маршрутизатор анонсирует префикс, команда show ip bgp не отображает значение local-pref этого префикса. Значение по умолчанию 100 можно изменить с помощью команды bgp default local-preference .
  • Столбец Weight содержит атрибут weight. Префиксы, полученные от соседа iBGP или eBGP, будут иметь атрибут weight 0, но префиксы, созданные локальным маршрутизатором, будут иметь значение weight 32768. Этот атрибут переопределяет любые другие атрибуты для выполнения выбора best-path.
  • Столбец Path содержит атрибут path. Если префиксы были созданы или изучены через соседа iBGP, в столбце пути будет буква i без номера AS (ASN). Если префикс был получен через другую AS, то этот столбец будет иметь номер(а) AS, за которым следует буква i. Максимальное количество AS, через которые может пройти префикс, - 255.
-3

Task 2

Reconfigure the routers in AS 100 based on the following policy:

  • Authentication must be enabled between the peers using “cisco” as the password.
  • The peer session must be established based on the loopback0’s IP address.
  • These routers should only advertise their loopback1 interface in BGP.
  • Provide Network Layer Reachability Information (NLRI) to the loopback0 interface using RIPv2.
  • Use peer groups to accomplish this task.

Перевод

Перенастройте маршрутизаторы в AS 100 в соответствии со следующей политикой:

  • Между пирами должна быть включена аутентификация с использованием пароля «cisco».
  • Peer session должна быть установлена с IP-адресом loopback0.
  • Маршрутизаторы должны анонсировать в BGP только свой интерфейс loopback1.
  • Предоставьте NLRI интерфейсу loopback0 с помощью RIPv2.
  • Используйте peer groups для выполнения этой задачи.

!On R1:
R1(config)#
no router bgp 100

R1(config)# router bgp 100
R1(config-router)#
network 192.168.1.0
R1(config-router)#
neighbor TST peer-group
R1(config-router)#
neighbor TST remote-as 100
R1(config-router)#
neighbor TST update-source loopback0
R1(config-router)#
neighbor TST password cisco
R1(config-router)#
neighbor 2.2.2.2 peer-group TST
R1(config-router)#
neighbor 3.3.3.3 peer-group TST
R1(config-router)#
neighbor 4.4.4.4 peer-group TST

R1(config-router)# router rip
R1(config-router)#
no auto-summary
R1(config-router)#
version 2
R1(config-router)#
network 10.0.0.0
R1(config-router)#
network 1.0.0.0

!On R2:
R2(config)#
no router bgp 100

R2(config)# router bgp 100
R2(config-router)#
network 192.168.2.0
R2(config-router)#
neighbor TST peer-group
R2(config-router)#
neighbor TST remote-as 100
R2(config-router)#
neighbor TST update-source loopback0
R2(config-router)#
neighbor TST password cisco
R2(config-router)#
neighbor 1.1.1.1 peer-group TST
R2(config-router)#
neighbor 3.3.3.3 peer-group TST
R2(config-router)#
neighbor 4.4.4.4 peer-group TST

R2(config-router)# router rip
R2(config-router)#
no auto -summary
R2(config-router)#
version 2
R2(config-router)#
network 10.0.0.0
R2(config-router)#
network 2.0.0.0

!On R3:
R3(config)#
no router bgp 100

R3(config)# router bgp 100
R3(config-router)#
network 192.168.3.0
R3(config-router)#
neighbor TST peer-group
R3(config-router)#
neighbor TST remote-as 100
R3(config-router)#
neighbor TST update-source loopback0
R3(config-router)#
neighbor TST password cisco
R3(config-router)#
neighbor 1.1.1.1 peer-group TST
R3(config-router)#
neighbor 2.2.2.2 peer-group TST
R3(config-router)#
neighbor 4.4.4.4 peer-group TST

R3(config-router)# router rip
R3(config-router)#
no auto-summary
R3(config-router)#
version 2
R3(config-router)#
network 10.0.0.0
R3(config-router)#
network 3.0.0.0

!On R4:
R4(config)#
no router bgp 100

R4(config)# router bgp 100
R4(config-router)#
network 192.168.4.0
R4(config-router)#
neighbor TST peer-group
R4(config-router)#
neighbor TST remote-as 100
R4(config-router)#
neighbor TST update-source loopback0
R4(config-router)#
neighbor TST password cisco
R4(config-router)#
neighbor 1.1.1.1 peer-group TST
R4(config-router)#
neighbor 2.2.2.2 peer-group TST
R4(config-router)#
neighbor 3.3.3.3 peer-group TST

R4(config-router)# router rip
R4(config-router)#
no auto-summary
R4(config-router)#
version 2
R4(config-router)#
network 10.0.0.0
R4(config-router)#
network 4.0.0.0

Проверяем

-4
-5

Вывод команды show ip bgp peer-group TST показывает IP-адреса пиров членов группы. Одно из основных преимуществ группы пиров заключается в том, что она снижает административные издержки за счет сокращения избыточной конфигурации на маршрутизаторах.

Lab 2: Router Reflectors

Route reflector - это маршрутизатор BGP, которому разрешено игнорировать правило предотвращения петель iBGP и, следовательно, разрешено анонсировать обновления, полученные от iBGP пира, другому iBGP пиру при определенных условиях. Это означает, что развертывание route reflectors может устранить требование BGP full-mesh. Всего одно простое изменение конфига позволяет нам упростить построение наших сетей iBGP. Кроме того, это делает их более масштабируемыми. RFC 4456 описывает BGP route reflection. Route reflectors делает возможным следующее:

  • Разделять iBGP роутеры в route reflectors , route reflector клиенты и пиры – не клиенты.
  • Маршруты, полученные от route reflector клиента, отражаются как для соседей-клиентов, так и для соседей-не_клиентов.
  • Маршруты, полученные от соседа, не являющегося клиентом, отражаются только для route reflector клиентов.
  • Установить нетранзитивный атрибут Originator-ID в отраженном обновлении. Originator-ID будет Router-ID пира, который анонсировал префикс к router reflector.
  • Добавить Cluster-ID к нетранзитивному аттрибуту Cluster-list в отражённых обновлениях. По умолчанию Cluster-ID установлен в BGP Router-ID.
  • Route reflector будет отражать только лучшие маршруты BGP. Если получено более одного обновления для одного и того же destination, будет отражен только лучший маршрут BGP.
  • Route reflector-у не разрешается изменять какие-либо из следующих атрибутов отражаемых маршрутов: NEXT_HOP, AS_PATH, LOCAL_PREF и MED.

Проблема с развертыванием route reflectors заключается в том, что route reflectors игнорируют основной loop-prevention механизм iBGP. Это было бы неприемлемой ситуацией, если бы route reflectors не внедрили свой собственный loop-detection и -prevention механизм:

  • Если маршрутизатор получает маршрут iBGP с атрибутом Originator-ID, установленным на его собственный Router-ID, маршрут отбрасывается.
  • Если route reflector получает маршрут с атрибутом Cluster-list содержащим его Cluster-ID, этот маршрут отбрасывается.

На рисунке ниже показана схема, которую мы будем использовать для изучения настроек и преимуществ использования route reflectors. Решения с route reflectors позволяют предотвращать административные издержки при настройках full-mesh схем iBGP, которые мы рассматривали в предыдущей лабораторной работе.

-6

Начальные настройки роутеров состоят их настроек интерфейсов. Вы их видите на картинке.

Task 1

Configure BGP AS 100 on all routers and ensure that the routers can successfully establish an iBGP peer session with each other. These routers should only advertise their loopback0 interface in BGP.

Перевод:

Настройте BGP AS 100 на всех маршрутизаторах и убедитесь, что маршрутизаторы устанавливают iBGP peer session друг с другом. Эти маршрутизаторы должны анонсировать в BGP только свой loopback0 интерфейс.

!On R11:
R11(config)#
router bgp 100
R11(config-router)#
network 1.0.0.0
R11(config-router)#
neighbor 12.1.1.2 remote-as 100
R11(config-router)#
neighbor 13.1.1.3 remote-as 100

!On R12:
R12(config)#
router bgp 100
R12(config-router)#
network 2.0.0.0
R12(config-router)#
neighbor 12.1.1.1 remote-as 100
R12(config-router)#
neighbor 13.1.1.3 remote-as 100

!On R13:
R13(config)#
router bgp 100
R13(config-router)#
network 3.0.0.0
R13(config-router)#
neighbor 13.1.1.1 remote-as 100
R13(config-router)#
neighbor 12.1.1.2 remote-as 100

Проверим

-7
-8

Сеть 3.0.0.0 отсутствует в таблице BGP R12. Проверим neighbor adjacency:

-9

Сосед находится в idle состоянии (это состояние ожидания). Есть ли у нас доступ к этому соседу? Проверим с помощью ping:

-10

Мы не видим 13.1.1.3 в таблице маршрутизации. Это одна из причин, по которой в AS следует настраивать IGP. Этот IGP должен обеспечивать доступность пиров в AS. Давайте запустим протокол OSPF , чтобы маршрутизаторы стали доступны друг другу.

!On R11:
R11(config)#
router ospf 1
R11(config-router)#
router-id 0.0.0.1
R11(config-router)#
network 12.1.1.1 0.0.0.0 area 0
R11(config-router)#
network 13.1.1.1 0.0.0.0 area 0

!On R12:
R12(config)#
router ospf 1
R12(config-router)#
router-id 0.0.0.2
R12(config-router)#
network 12.1.1.2 0.0.0.0 area 0

!On R13:
R13(config)#
router ospf 1
R13(config-router)#
router-id 0.0.0.3
R13(config-router)#
network 13.1.1.3 0.0.0.0 area 0

-11

Task 2

You receive an email from management stating that within the next 12 months, 20 additional routers will be added to this AS. In order to minimize the number of peer sessions within this AS, you decide to implement route reflectors.

Перевод:

Вы получите сообщение от руководства, в котором говорится, что в течение следующих 12 месяцев к этой AS будет добавлено 20 дополнительных маршрутизаторов. Чтобы минимизировать количество peer sessions в этой AS, вы решаете реализовать route reflectors.

Настройте R11 как route reflector для этой AS:

!On R11:
R11(config)#
router bgp 100
R11(config-router)#
neighbor 12.1.1.2 route-reflector-client
R11(config-router)#
neighbor 13.1.1.3 route-reflector-client

Если заглянете в логи, то увидите, что adjacency сбрасывается, а затем восстанавливается:

-12

После настройки route reflector маршрутизаторам R12 и R13 нет необходимости устанавливать iBGP peer session. Route reflector (R11) будет отражать префиксы от одного соседа iBGP к другому:

!On R12:
R12(config)#
router bgp 100
R12(config-router)#
no neighbor 13.1.1.3 remote-as 100

!On R13:
R13(config)#
router bgp 100
R13(config-router)#
no neighbor 12.1.1.2 remote-as 100

Проверим

-13

Чтобы все iBGP speakers в AS могли обмениваться маршрутами друг с другом, они должны быть полностью связаны (каждый маршрутизатор должен установить peer session с каждым другим маршрутизатором). Это происходит из-за правила, называемого iBGP split-horizon, которое гласит, что, когда BGP speaker получает обновление от iBGP peer, он не будет анонсировать это обновление другому узлу iBGP.

Route reflectors можно настроить для уменьшения количества peer sessions, которые должны быть установлены между маршрутизаторами в рамках данной AS. Если используется route reflector, нет необходимости в full mesh схеме между всеми iBGP speakers. В этой модели маршрутизатор, который настроен как route reflector, должен иметь peer session, установленный для каждого клиента, а клиенты должны устанавливать peer session только с route reflector. Route reflector будет отражать префиксы, полученные от одного клиента к другому клиенту (или клиентам).

Смотрим результат

-14

Вывод следующих команд show показывает, что префиксы 2.0.0.0/8 и 3.0.0.0/8 были получены от route reflector client:

-15

Следующий вывод показывает Originator-ID и Cluster-list префикса 3.0.0.0/8:

-16

Lab 3: Conditional Advertisement and BGP Backdoor

-17

В этой главе будут рассматриваться Условное анонсирование (или анонсирование по условию) и BGP Backdoor

Task 1

Configure R11 in AS 100 to establish an eBGP peer session with R12 and R13 in AS 200 and 300, respectively. R12 should not have a BGP peer session with R13. You should use their Ethernet interface’s IP address to accomplish this task.

Перевод:

Настройте R11 в AS 100 для установления eBGP peer session с R12 и R13 в AS 200 и 300 соответственно (см. рисунок выше). R12 не должен иметь BGP peer session с R13. Для выполнения этой задачи используйте IP-адреса их Ethernet интерфейсов.

!On R11:
R11(config)#
router bgp 100
R11(config-router)#
neighbor 12.1.1.2 remote-as 200
R11(config-router)#
neighbor 13.1.1.3 remote-as 300

!On R12:
R12(config)#
router bgp 200
R12(config-router)#
neighbor 12.1.1.1 remote-as 100

!On R13:
R13(config)#
router bgp 300
R13(config-router)#
neighbor 13.1.1.1 remote-as 100

Проверим настройки

-18

Task 2

Configure R11, R12, and R13 to advertise their loopback0 interface in BGP:

Перевод:

Настройте R11, R12 и R13 для анонсирования их интерфейса loopback0 в BGP.

!On R11:
R11(config)#
router bgp 100
R11(config-router)#
network 1.0.0.0

!On R2:
R12(config)#
router bgp 200
R12(config-router)#
network 2.0.0.0

!On R3:
R13(config)#
router bgp 300
R13(config-router)#
network 3.0.0.0

Проверяем

-19

Task 3

Configure RIPv2 and EIGRP 100 on the routers as follows:

  • Configure RIPv2 on networks 12.1.1.0/24 and 13.1.1.0/24; disable auto-summarization.
  • R12 and R13 should advertise their Gi2 and loopback1 interfaces in EIGRP AS 100.

Перевод:

Настройте RIPv2 и EIGRP 100 на маршрутизаторах следующим образом:

  • Настроить RIPv2 в сетях 12.1.1.0/24 и 13.1.1.0/24; отключить auto-summarization.
  • R12 и R13 должны анонсировать свои интерфейсы Gi2 и loopback1 в EIGRP AS 100.

!On R11:
R11(config)#
router rip
R11(config-router)#
no auto-summary
R11(config-router)#
version 2
R11(config-router)#
network 12.0.0.0
R11(config-router)#
network 13.0.0.0

!On R12:
R12(config)#
router rip
R12(config-router)#
no auto-summary
R12(config-router)#
version 2
R12(config-router)#
network 12.0.0.0

R12(config)# router eigrp 100
R12(config-router)#
network 23.1.1.2 0.0.0.0
R12(config-router)#
network 10.1.2.2 0.0.0.0

!On R13:
R13(config)#
router rip
R13(config-router)#
no auto-summary
R13(config-router)#
version 2
R13(config-router)#
network 13.0.0.0

R13(config)# router eigrp 100
R13(config-router)#
network 23.1.1.3 0.0.0.0
R13(config-router)#
network 10.1.3.3 0.0.0.0

Проверяем

-20

Task 4

Because network 23.1.1.0/24 is not advertised in BGP, if the Ethernet link between R12 and R13 goes down, the loopback1 networks of these two routers won’t have reachability to each other, even though there is a redundant link between the two routers through BGP. Therefore, the administrator of R12 and R13 has decided that the loopback1 interfaces of R12 and R13 should be advertised in BGP to provide redundancy.

Перевод:

Поскольку сеть 23.1.1.0/24 не анонсируется в BGP, если канал Ethernet между R12 и R13 выйдет из строя, сети loopback1 этих двух маршрутизаторов не будут иметь доступа друг к другу, даже если между ними есть резервный канал через BGP. Поэтому администратор R12 и R13 решил, что интерфейсы loopback1 R12 и R13 должны быть объявлены в BGP для обеспечения избыточности.

Настройте маршрутизаторы в соответствии с этим решением.

!On R12:
R12(config)#
router bgp 200
R12(config-router)#
network 10.1.2.0 mask 255.255.255.0

!On R3:
R13(config)#
router bgp 300
R13(config-router)#
network 10.1.3.0 mask 255.255.255.0

Проверяем:

-21
-22

Task 5

After you implement the previous task, the administrator realizes that the traffic between networks 10.1.2.0/24 and 10.1.3.0/24 is taking a suboptimal path and is not using the direct path between R12 and R13.

Implement a BGP solution to fix this problem. You should not use the distance, PBR, or any global config mode command to accomplish this task.

Перевод:

После выполнения предыдущей задачи администратор понимает, что трафик между сетями 10.1.2.0/24 и 10.1.3.0/24 использует неоптимальный путь. Трафик не идет по прямому пути между R12 и R13.

Решите эту проблему, используя BGP. Вы не должны использовать distance, PBR или любую команду глобального режима конфигурации для выполнения этой задачи.

Давайте посмотрим на используемый неоптимальный путь:

-23

Мы видим, что R12 и R13 выбирают неоптимальный путь для достижения интерфейса loopback1 друг друга (через R11, а не напрямую).

BGP backdoor может помочь вам в выполнении этой задачи. Ключевое слово backdoor добавляется в команду network. Вы должны ссылаться на сеть, которая анонсируется вам, а не на сеть, которую анонсирует ваш локальный маршрутизатор.

!On R12:
R12(config)#
router bgp 200
R12(config-router)#
network 10.1.3.0 mask 255.255.255.0 backdoor

-24

Мы видим, что R12 использует свое прямое соединение (интерфейс Gi2), чтобы достичь интерфейса loopback1 R13. Ключевое слово backdoor заставляет BGP использовать административное расстояние для локальных маршрутов BGP, которое по умолчанию равно 200, вместо административного расстояния для внешних маршрутов BGP. Это позволяет Routing Information Base (RIB) выбирать маршрут, анонсированный IGP, вместо анонса eBGP.

Давайте посмотрим на изменения в таблице BGP и записи таблицы:

-25

Как видите, Routing Information Base ( RIB ) отклонила маршрут, потому что теперь он имеет большее значение административной дистанции.

Давайте посмотрим на настроенное значение административной дистанции для локальных маршрутов BGP

-26

Теперь нам нужно протестировать избыточность. Сначала на R12 отключим интерфейс Gi 2 и проверим доступность:

!On R12:
R12(config)#
interface Gi2
R12(config-if)#
shutdown

-27

Затем давайте включим интерфейс Gi2 на R12 и настроим так же на R13:

!On R12:
R12(config)#
interface Gi2
R12(config-if)#
no shutdown

!On R13:
R13(config)#
router bgp 300
R13(config-router)#
network 10.1.2.0 mask 255.255.255.0 backdoor

Проверяем:

-28
-29

Вот краткое изложение того, что вы узнали:

  • R12 и R13 получали информацию о маршрутизации для сетей 10.1.2.0/24 и 10.1.3.0/24 из двух разных источников: BGP и EIGRP.
  • R12 и R13 использовали информацию о маршрутизации от BGP, потому что он имел меньшую административную дистанцию (20 для eBGP по сравнению с 90 для EIGRP).
  • Команда network с опцией backdoor это решение этой проблемы с помощью BGP. Опция BGP backdoor назначает административную дистанцию локального маршрута BGP , равное 200, для анонсированной сети, что делает маршруты, полученные с помощью EIGRP, более привлекательными.

Task 6

Remove the IP address from the Gi2 interfaces of R12 and R13 and ensure that the Gi2 interfaces of both routers are in the administratively down state. You should also remove the loopback1 interface from these two routers.

Перевод :

Удалите IP адрес c интерфейсов Gi2 R12 и R13 и убедитесь, что интерфейсы Gi2 обоих маршрутизаторов находятся в состоянии down . Вам также следует удалить интерфейс loopback1 с этих двух маршрутизаторов.

!On R12 and R13:
Rx(config)#
default interface Gi2
Rx(config)#
interface Gi2
Rx(config-if)#
shutdown

Rx(config)# no interface loopback 1

Task 7

Configure R11 based on the following policy:

  • If network 2.0.0.0/8 is up and it’s advertised to R11, R11 should not advertise its network 1.0.0.0/8 to R13.
  • R11 should advertise network 1.0.0.0/8 to R13 only if network 2.0.0.0/8 is down.

Перевод:

Настройте R11 на основе следующей политики:

  • Если сеть 2.0.0.0/8 активна и объявлена для R11, R11 не должен анонсировать свою сеть 1.0.0.0/8 для R13.
  • R11 должен анонсировать сеть 1.0.0.0/8 для R13, только если сеть 2.0.0.0/8 в состоянии down.

Перед началом работы давайте проверим текущую таблицу BGP этих маршрутизаторов:

-30
-31
-32

Для реализации условного анонсирования в BGP можно использовать следующие зарезервированные карты:

  • advertise-map
  • non-exist-map
  • exist-map
  • inject-map

Наша ситуация требует использования advertise-map и non-exist-map. По сути, используя эти две команды, мы говорим: «Анонсируйте сеть 1.0.0.0, только если сеть 2.0.0.0 не работает; если сеть 2.0.0.0 не отключена, не анонсируйте сеть 1.0.0.0 ».

Начнем.

Step 1. Создадим ACL с нужным нам трафиком:

!On R11:
R11#
sh access-lists
R11(config)#
access-list 1 permit 1.0.0.0 0.255.255.255
R11(config)#
access-list 2 permit 2.0.0.0 0.255.255.255

Step 2. Настройте две route maps: одну для использования access-list 1 и вторую для использования access-list 2.

R11(config)# route-map Advertise permit 10
R11(config-route-map)#
match ip address 1
R11(config-route-map)#
exit

R11(config)# route-map NotThere permit 10
R11(config-route-map)#
match ip address 2
R11(config-route-map)#
exit

Step 3. И теперь опции advertise-map и non-exist-map должны ссылаются на созданные нами route maps .

R11(config)# router bgp 100
R11(config-router)#
neighbor 13.1.1.3 advertise-map Advertise non-exist-map NotThere

Команда neighbor имеет следующие route maps:

  • advertise-map: указывает имя route map , которая будет анонсироваться, если выполняется условие non-exist-map.
  • non-exist-map: Задает имя route map, которая будет сравниваться с advertise-map. Если условие выполнено и совпадений не найдено, маршрут будет анонсироваться. Если совпадение обнаружено, то условие не выполняется и маршрут удаляется.

Если сеть 2.0.0.0 работает, то сеть 1.0.0.0 не должна анонсироваться для R13. Поскольку все сети активны и анонсированы, R11 должен отозвать свою сеть (1.0.0.0/8):

-33

Следующая команда show показывает, что R11 не анонсирует свою сеть (1.0.0.0/8) для R13:

-34

Можем посмотреть статус advertise-map:

-35

Withdraw – изъято, снято

Проверим как работает:

-36

А теперь давайте проверим условия:

!On R12:
R12(config)#
interface loopback 0
R12(config-if)#
shutdown

Вывод следующей команды show показывает, что сеть 2.0.0.0 не работает и R11 объявляет свою сеть (1.0.0.0/8) для R13. Отработка политики не мгновенна, может занять несколько секунд.

-37

Посмотрим статус advertise-map:

-38

Посмотрим, что на R13

-39

Task 8

Remove the configuration commands entered in the previous task before you proceed to the next task. Ensure that the routers have the advertised networks in their BGP table:

Перевод:

Удалите команды конфигурации, введенные в предыдущей задаче, прежде чем переходить к следующей задаче. Убедитесь, что маршрутизаторы имеют анонсированные сети в их таблице BGP:

!On R11:
R11(config)#
no access-list 1
R11(config)#
no access-list 2
R11(config)#
no route-map Advertise
R11(config)#
no route-map NotThere

R11(config)# router bgp 100
R11(config-router)#
no neighbor 13.1.1.3 advertise-map Advertise non-exist-map NotThere

R11# clear ip bgp *

!On R12:
R12(config)#
interface loopback 0
R12(config-if)#
no shutdown

-40
-41
-42

Task 9

R11 should be configured based on the following policy:

  • If both networks (1.0.0.0/8 and 2.0.0.0/8) are up, then both networks should be advertised to R13.
  • If network 1.0.0.0/8 is down, R11 should not advertise network 2.0.0.0/8 to R13.
  • If network 2.0.0.0/8 is down, R11 should only advertise network 1.0.0.0/8 to R13.

Перевод:

R11 должен быть настроен на основе следующей политики:

  • Если обе сети (1.0.0.0/8 и 2.0.0.0/8) активны, то обе сети должны быть анонсированы R13.
  • Если сеть 1.0.0.0/8 не работает, R11 не должен анонсировать сеть 2.0.0.0/8 R13.
  • Если сеть 2.0.0.0/8 не работает, R11 должен анонсировать только сеть 1.0.0.0/8 для R13.

Логика в следующей конфигурации гласит: «Объявляйте сеть 2.0.0.0/8 только в том случае, если сеть 1.0.0.0/8 работает, поэтому, если сеть 1.0.0.0/8 не работает, не объявляйте сеть 2.0.0.0/8».

Step 1. Выделим нужные сети в ACL :

!On R11:
R11(config)#
access-list 1 permit 1.0.0.0 0.255.255.255
R11(config)#
access-list 2 permit 2.0.0.0 0.255.255.255

Step 2. Настроим route - maps c использованием созданных ACLs

R11(config)# route-map Advertise permit 10
R11(config-route-map)#
match ip address 2

R11(config)# route-map Exist permit 10
R11(config-route-map)#
match ip address 1

Step 3. Далее настраиваем BGP для выполнения условий задачи.

R11(config)# router bgp 100
R11(config-router)#
neighbor 13.1.1.3 advertise-map Advertise exist-map Exist

Проверяем первое условие, если обе сети (1.0.0.0/8 и 2.0.0.0/8) активны, то обе сети должны быть объявлены R13.

-43
-44
-45

Проверяем второе условие, если сеть 1.0.0.0/8 не работает, R11 не должен анонсировать сеть 2.0.0.0/8 для R13.

!On R11:
R11(config)#
interface loopback 0
R11(config-if)#
shutdown

R11# clear ip bgp *

Теперь нам нужно посмотреть на префиксы, которые R11 анонсирует для R13. Изменения не мгновенны.

-46

R11 не объявляет никаких префиксов для R13. Посмотрим статус advertise-map:

-47

Посмотрим что на R13

-48

Теперь нам нужно проверить третье условие. Если сеть 2.0.0.0/8 не работает, R11 должен анонсировать только сеть 1.0.0.0/8 для R13. Поднимем Lo0 на R11 и положим Lo0 на R12:

! On R11:
R11(config)#
interface loopback 0
R11(config-if)#
no shutdown

R11# clear ip bgp *

!On R12:
R12(config)#
interface loopback 0
R12(config-if)#
shutdown

Посмотрим что анонсирует R11 к R13.

-49
-50

Lab 4: Community Attribute

-51

Task 1

Configure BGP peering based on the topology shown in Figure 4. These routers should advertise their loopback0 interfaces in BGP. Ensure reachability between the loopback interfaces. Do not configure an IGP or default routes to accomplish this task.

Перевод:

Настройте BGP пиринг согласно схеме выше. Роутеры должны анонсировать свои loopback0 интерфейсы в BGP. Обеспечьте доступность между loopback интерфейсами. Не настраивайте IGP или маршруты по умолчанию для выполнения этой задачи.

Задача гласит: «Обеспечение доступности между loopback интерфейсами без настройки IGP или маршрутов по умолчанию». Если настройки пиринга сделать на основе loopback0 интерфейсов, то он не будет работать, потому что вам необходимо иметь NLRI для этих IP-адресов loopback0.

!On R11:
R11(config)#
router bgp 100
R11(config-router)#
network 1.0.0.0
R11(config-router)#
no auto-summary
R11(config-router)#
neighbor 12.1.1.2 remote-as 230

!On R12:
R12(config)#
router bgp 230
R12(config-router)#
network 2.0.0.0
R12(config-router)#
no auto-summary
R12(config-router)#
neighbor 12.1.1.1 remote-as 100
R12(config-router)#
neighbor 23.1.1.3 remote-as 230
R12(config-router)#
neighbor 23.1.1.3 next-hop-self
R12(config-router)#
neighbor 24.1.1.4 remote-as 400

!On R13:
R13(config)#
router bgp 230
R13(config-router)#
network 3.0.0.0
R13(config-router)#
no auto-summary
R13(config-router)#
neighbor 23.1.1.2 remote-as 230
R13(config-router)#
neighbor 23.1.1.2 next-hop-self
R13(config-router)#
neighbor 35.1.1.5 remote-as 500

!On R14:
R14(config)#
router bgp 400
R14(config-router)#
network 4.0.0.0
R14(config-router)#
no auto-summary
R14(config-router)#
neighbor 24.1.1.2 remote-as 230

!On R15:
R15(config)#
router bgp 500
R15(config-router)#
network 5.0.0.0
R15(config-router)#
no auto-summary
R15(config-router)#
neighbor 35.1.1.3 remote-as 230

Проверяем

-52
-53
-54

и т.д

Проверяем

-55

Остальные пинги проверьте сами.

Task 2

Using the community attribute, configure R11 such that when it advertises network 1.0.0.0/8 to R12 in AS 230, the network is not advertised to any of R12’s iBGP or eBGP neighbors.

Перевод:

Используя community attribute, настройте R11 таким образом, чтобы, когда он анонсирует сеть 1.0.0.0/8 для R12 в AS 230, сеть не будет анонсироваться iBGP или eBGP соседям R12.

Сommunity attribute - это числовое значение, которое может быть прикреплено к данному префиксу и анонсировано конкретному соседу. Как только сосед получит префикс, он изучит значение community и выполнит фильтрацию или использует это значение для процесса выбора маршрута.

По умолчанию community attribute не отправляется никому из соседей. Чтобы указать, что community attribute должен быть отправлен соседу BGP, команда neighbor send-community должна быть настроена в режиме конфигурации маршрутизатора.

Существуют несколько well-known communities:

  • local-as : если local-as назначен сети, эта сеть должна быть объявлена только в этой AS .
  • no-advertise: если сети назначено no-advertise, эта сеть не должна анонсироваться ни одному BGP соседу.
  • no-export: если сети назначено no-export, эта сеть не должна анонсироваться ни одному eBGP соседу.

Step 1. Настраиваем ACL или prefix list для идентификации сети.

!On R11:
R11(config)#
access-list 1 permit 1.0.0.0 0.255.255.255

Step 2. Route-map использует этот ACL и назначает ему community no-advertise. Этот well-known community attribute указывает принимающему маршрутизатору не анонсировать этот префикс никому из своих соседей (iBGP или eBGP).

R11(config)# route-map TEST permit 10
R11(config-route-map)#
match ip address 1
R11(config-route-map)#
set community no-advertise
R11(config-route-map)#
route-map TEST permit 90

Последняя строчка route-map разрешает все, что не подпадает под предыдущие правила.

Step 3. Отправить community; это делается с помощью команды neighbor send-community. Далее настраиваем политику с помощью route-map. Указывается на какого соседа/маршрутизатор должна повлиять политика.

Если политика должна повлиять на решение соседа, то направление применения route-map должно быть «out», но, если политика должна влиять на локальный маршрутизатор, направление route-map должно быть «in».

R11(config)# router bgp 100
R11(config-router)#
neighbor 12.1.1.2 send-community
R11(config-router)#
neighbor 12.1.1.2 route-map TEST out

Проверяем

-56

Поскольку R12 не анонсирует сеть, R13 и другие соседи eBGP и/или iBGP не будут знать об этом префиксе.

-57

Можете проверить это на остальных роутерах.

Task 3

Configure R15 such that when it advertises its network 5.0.0.0 to R13 in AS 230, the routers in AS 230 do not advertise that network to any of their eBGP peers. Do not configure filtering on R13 to accomplish this task.

Перевод:

Настройте R15 таким образом, чтобы, когда он анонсировал свою сеть 5.0.0.0 к R13 в AS 230, маршрутизаторы в AS 230 не анонсировали эту сеть ни одному из своих eBGP пиров. Не настраивайте фильтрацию на R13 для выполнения этой задачи.

Поскольку в предыдущей задаче использовали ACL , здесь воспользуемся prefix list-ом:

!On R15:
R15(config)#
ip prefix-list NET5 permit 5.0.0.0/8

В route map используем подготовленный prefix list и применяем политику no-export.

R15(config)# route-map TST permit 10
R15(config-route-map)#
match ip address prefix-list NET5
R15(config-route-map)#
set community no-export
R15(config-route-map)#
route-map TST permit 90

И применяем route map в направление out

R15(config)# router bgp 500
R15(config-router)#
neighbor 35.1.1.3 send-community
R15(config-router)#
neighbor 35.1.1.3 route-map TST out

Это еще один well-known community attribute. В этом случае сеть 5.0.0.0 будет анонсироваться только маршрутизаторам в AS 230. Маршрутизаторы в AS 230 не будут анонсировать эту сеть своим eBGP соседям.

По умолчанию маршрутизаторы удаляют community attribute , когда они отправляют community в route map заданному соседу ( iBGP или eBGP ). Следовательно, в этом случае R13 должен быть настроен для отправки community на R12; в противном случае R12 анонсирует эту сеть своим партнерам по eBGP.

!On R13:
R13(config)#
router bgp 230
R13(config-router)#
neighbor 23.1.1.2 send-community

Проверяем

-58
-59

На остальных роутерах сами проверьте наличие маршрута к 5.0.0.0.

Task 4

Configure R13 in AS 230 to advertise network 3.0.0.0/8 to the routers in its own AS only. You must use a network command to accomplish this task.

Перевод:

Настройте R13 в AS 230 для анонсирования сети 3.0.0.0/8 маршрутизаторам только в собственной AS. Для выполнения этой задачи необходимо использовать команду network.

Для настройки этой задачи настроим route map c community local-as, а затем используем ее в команде network

!On R13:
R13(config)#
route-map TST permit 10
R13(config-route-map)#
set community local-as

R13(config)# router bgp 230
R13(config-router)#
network 3.0.0.0 route-map TST
R13(config-router)#
neighbor 23.1.1.2 send-community

Проверяем

-60
-61
-62

В этой топологии поведение no-export и local-as одинаковое. No-export community не смотрит на команду идентификатора BGP Confederation; следовательно, префиксы будут локальными в номере AS , в котором настроен маршрутизатор BGP . С другой стороны, community local-as сначала смотрит на команду идентификатора BGP Confederation; если он настроен, он сохранит префиксы внутри этой AS, но если идентификатор BGP Confederation не настроен, он сохранит префиксы локально для AS, в которой настроен BGP.

Task 5

R11 is advertising network 1.0.0.0, which has an attached community attribute of no-advertise to R12 (see Task 2). R12 should be configured to advertise network 1.0.0.0 to all of its iBGP and eBGP peers. You should utilize a community attribute to accomplish this task.

Перевод:

R11 анонсирует свою сеть 1.0.0.0 к R12. К префиксу прикреплен community no-advertise ( см Task2). R12 должен быть перенастроен для анонсирования сети 1.0.0.0 всем своим iBGP и eBGP пирам. Вы должны использовать community attribute для выполнения этой задачи.

Посмотрим на префикс 1.0.0.0 на R12

-63

Команда show показывают, что сеть 1.0.0.0/8 не будет анонсироваться ни одному из ее пиров. Вы можете настроить R12, чтобы переопределить установленное community, назначив internet community этому префиксу.

!On R12:
R12#
show access-lists
R12(config)#
access-list 1 permit 1.0.0.0

R12(config)# route-map TST permit 10
R12(config-route-map)#
match ip address 1
R12(config-route-map)#
set community internet

R12(config)# router bgp 230
R12(config-router)#
neighbor 12.1.1.1 route-map TST in

Проверяем

-64
-65

Lab 5: The AS-path Attribute

Эта лабораторная работа демонстрирует, как использовать настройки AS-path, чтобы повлиять на то, как внешняя AS будет направлять трафик в сети внутренней AS. Добавляя к префиксу значение автономной системы, которое объявляется внешней AS, мы можем повлиять на то, как трафик будет поступать в local AS. Короткий AS-path влияет на выбор пути, который потом будет использоваться внешней AS для достижения заданного префикса. Продемонстрируем это в нашей лабораторной работе.

-66

Task 1

Configure R22, R23, and R24 in AS 200; these routers should have a full-mesh peer session between them. R22 and R24 should have an eBGP peer session with R21 in AS 100. These routers should only advertise their loopback interfaces in BGP. Provide NLRI for the links using OSPF.

Перевод :

Настройте R22, R23 и R24 в AS 200; Эти маршрутизаторы должны иметь между собой full-mesh peer session. R22 и R24 должны иметь eBGP peer session с R21 в AS 100. Маршрутизаторы должны анонсировать только свои loopback интерфейсы в BGP. Для связанности используйте OSPF .

!On R21:
R21(config)#
router bgp 100
R21(config-router)#
no auto-summary
R21(config-router)#
network 1.0.0.0
R21(config-router)#
network 11.0.0.0
R21(config-router)#
neighbor 12.2.1.2 remote-as 200
R21(config-router)#
neighbor 14.2.1.4 remote-as 200

!On R22:
R22(config)#
router bgp 200
R22(config-router)#
no auto-summary
R22(config-router)#
network 2.0.0.0
R22(config-router)#
neighbor 12.2.1.1 remote-as 100
R22(config-router)#
neighbor 23.2.1.3 remote-as 200
R22(config-router)#
neighbor 23.2.1.3 next-hop-self
R22(config-router)#
neighbor 34.2.1.4 next-hop-self
R22(config-router)#
neighbor 34.2.1.4 remote-as 200

R22(config)# router ospf 1
R22(config-router)#
network 23.2.1.2 0.0.0.0 area 0

!On R23:
R23(config)#
router bgp 200
R23(config-router)#
no auto-summary
R23(config-router)#
network 3.0.0.0
R23(config-router)#
neighbor 34.2.1.4 remote-as 200
R23(config-router)#
neighbor 23.2.1.2 remote-as 200

R23(config)# router ospf 1
R23(config-router)#
network 23.2.1.3 0.0.0.0 area 0
R23(config-router)#
network 34.2.1.3 0.0.0.0 area 0

!On R24:
R24(config)#
router bgp 200
R24(config-router)#
no auto-summary
R24(config-router)#
network 4.0.0.0
R24(config-router)#
neighbor 34.2.1.3 remote-as 200
R24(config-router)#
neighbor 34.2.1.3 next-hop-self
R24(config-router)#
neighbor 23.2.1.2 remote-as 200
R24(config-router)#
neighbor 23.2.1.2 next-hop-self
R24(config-router)#
neighbor 14.2.1.1 remote-as 100

R24(config)# router ospf 1
R24(config-router)#
network 34.2.1.4 0.0.0.0 area 0

Проверяем

-67

Проверьте доступность префиксов Loopback интерфейсов на других роутерах.

Task 2

Configure R21 in AS 100 such that routers in AS 200 use the link through R24–R21 to reach its network 1.0.0.0/8. Use the AS-path attribute to accomplish this task.

Перевод :

Настройте R21 в AS 100 так, чтобы маршрутизаторы в AS 200 использовали канал через R24–R21 для достижения сети 1.0.0.0/8. Используйте атрибут AS-path для выполнения этой задачи.

Атрибут AS-path можно настроить для решения этой задачи. Атрибут можно настроить так, чтобы, номер AS к существующим AS paths добавлялся один или несколько раз.

Добавляя два раза номер AS к существующему списку AS-path на нежелательном пути, вы тем самым делаете этот путь длиннее. В результате желательный путь окажется короче и при выборе пути будет выбран предпочтительным.

!On R21:
R21(config)#
access-list 1 permit 1.0.0.0 0.255.255.255

R21(config)# route-map TST1 permit 10
R21(config-route-map)#
match ip address 1
R21(config-route-map)#
set as-path prepend 100
R21(config)#
route-map TST1 permit 90

R21(config)# router bgp 100
R21(config-router)#
neighbor 12.2.1.2 route-map TST1 out

R21# clear ip bgp * out

Проверяем

-68

Следующая конфигурация добавляет маршрут по умолчанию в сторону AS 100; это сделано для обратного трафика:

!On R22:
R22(config)#
router bgp 200
R22(config-router)#
neighbor 12.2.1.1 default-originate

R22# clear ip bgp * out

!On R24:
R24(config)#
router bgp 200
R24(config-router)#
neighbor 14.2.1.1 default-originate

R24# clear ip bgp * out

Проверяем

-69

На других роутерах проверьте самостоятельно.

Атрибут AS-path используется для влияния на степень предпочтения в другой AS . Трафик от R22, R23 и R24 пройдут через R24, чтобы достичь сети 1.0.0.0/8, потому что, проходя через R24, они проходят через меньшее количество hop-ов AS .

Task 3

Configure R21 in AS 100 such that the routers in AS 200 use the link through R22–R21 to reach network 11.0.0.0/8. Use the AS-path attribute and an IP Prefix-list to accomplish this task.

Перевод:

Настройте R21 в AS 100 так, чтобы маршрутизаторы в AS 200 использовали канал через R22–R21 для доступа к сети 11.0.0.0/8. Используйте атрибут AS-path и IP Prefix-list для выполнения этой задачи.

Несмотря на то, что вместо ACL используется prefix-list, процесс и шаги такие же.

!On R21:
R21(config)#
ip prefix-list NET11 permit 11.0.0.0/8

R21(config)# route-map TST11 permit 10
R21(config-route-map)#
match ip address prefix-list NET11
R21(config-route-map)#
set as-path prepend 100 100
R21(config)#
route-map TST11 permit 90

R21(config-route-map)# router bgp 100
R21(config-router)#
neighbor 14.2.1.4 route-map TST11 out

R21# clear ip bgp * out

Проверяем

-70

Lab 6: The Weight Attribute

Есть два варианта управления Cisco proprietary атрибутом weight. Это может быть сделано на основе per-neighbor или на основе specific-prefix. Изменения атрибута weight влияет на процесс best-path-selection только на конкретном маршрутизаторе; это изменение не повлияет на другие пиры BGP в той же AS. Посмотрим на эти механизмы с помощью следующей схемы.

-71

Task 1

Configure R21 in AS 100 to establish an eBGP peer session with R22 in AS 200 and R24 in AS 400.

  • Router R22 should establish eBGP peer sessions with R21 in AS 100 and R23 in AS 300.
  • Router R23 should establish eBGP peer sessions with R22 in AS 200 and R24 in AS 400.
  • Router R24 should establish eBGP peer sessions with R21 in AS 100 and R23 in AS 300.
  • The BGP routers should only advertise their loopback(s) in BGP.
  • Do not use the loopback interfaces to establish BGP peer sessions.

Перевод вопроса писать не буду, очень уж он простой. Сразу начнем .

!On R21:
R21(config-if)#
router bgp 100
R21(config-router)#
no auto-summary
R21(config-router)#
network 1.0.0.0
R21(config-router)#
network 11.0.0.0
R21(config-router)#
neighbor 14.2.1.4 remote-as 400
R21(config-router)#
neighbor 12.2.1.2 remote-as 200

!On R22:
R22(config)#
router bgp 200
R22(config-router)#
no auto-summary
R22(config-router)#
network 2.0.0.0
R22(config-router)#
neighbor 12.2.1.1 remote-as 100
R22(config-router)#
neighbor 23.2.1.3 remote-as 300

!On R23:
R23(config)#
router bgp 300
R23(config-router)#
no auto-summary
R23(config-router)#
network 3.0.0.0
R23(config-router)#
neighbor 34.2.1.4 remote-as 400
R23(config-router)#
neighbor 23.2.1.2 remote-as 200

!On R24:
R24(config)#
router bgp 400
R24(config-router)#
no auto-summary
R24(config-router)#
network 4.0.0.0
R24(config-router)#
neighbor 34.2.1.3 remote-as 300
R24(config-router)#
neighbor 14.2.1.1 remote-as 100

Проверяем

-72

На других роутерах проверьте сами.

Task 2

Configure R21 in AS 100 to use AS 200 to reach all the prefixes within this topology. You must use the weight attribute to accomplish this task.

Перевод:

Настройте R21 в AS 100 для использования AS 200 для доступа ко всем префиксам в этой топологии. Для выполнения этой задачи необходимо использовать атрибут weight.

Атрибут weight - это созданный Cisco атрибут, который является локальным для маршрутизатора. Этот атрибут не анонсируется никаким соседям BGP. Если существует более одного маршрута до префикса, атрибут weight может решить, какой путь является лучшим. Чем больше значение, тем выше предпочтение.

Назначим атрибут weight значение 40000 всем префиксам:

!On R21:
R21(config)#
router bgp 100
R21(config-router)#
neighbor 12.2.1.2 weight 40000

R21# clear ip bgp *

Смотрим

-73

Теперь вы видите, что ко всем префиксам маршрут будет проходить через R22. Настроим RIPv2 на всех роутерах с анонсами существующих каналов связи. Это необходимо для обратного трафика. Затем проверим ping и trace.

R21(config)# router rip
R21(config-router)#
no auto-summary
R21(config-router)#
version 2
R21(config-router)#
network 12.0.0.0
R21(config-router)#
network 14.0.0.0

!On R22:
R22(config)#
router rip
R22(config-router)#
no auto-summary
R22(config-router)#
version 2
R22(config-router)#
network 12.0.0.0
R22(config-router)#
network 23.0.0.0

!On R23:
R23(config)#
router rip
R23(config-router)#
no auto-summary
R23(config-router)#
version 2
R23(config-router)#
network 23.0.0.0
R23(config-router)#
network 34.0.0.0

!On R24:
R24(config)#
router rip
R24(config-router)#
no auto-summary
R24(config-router)#
version 2
R24(config-router)#
network 34.0.0.0
R24(config-router)#
network 14.0.0.0

Проверяем :

-74

Task 3

Configure the following loopback interface on R23 and advertise it in BGP: loopback 1: 33.3.3.3/24

Переводить не буду, и так ясно что требуется сделать.

!On R23:
R23(config)#
interface loopback 1
R23(config-if)#
ip address 33.3.3.3 255.255.255.0

R23(config)# router bgp 300
R23(config-router)#
network 33.3.3.0 mask 255.255.255.0

Команда network должна включать маску, поскольку авто суммирование отключено. Когда автоматическое суммирование отключено, сеть должна анонсироваться с использованием точной маски, но, если автоматическое суммирование включено, все подсети главной сети можно анонсировать, просто объявляя основную сеть.

Проверяем :

-75

Атрибут weight, настроенный в Task 2, повлиял на существующие и будущие префиксы в топологии.

Проверяем trace к новой сети

-76

Как и запланировано к новой сети трафик идет через R22.

Task 4

Reconfigure R21 based on the following policy; this policy may override the previously implemented policy:

  • R21 in AS 100 should use R24 in AS 400 to reach network 33.0.0.0/8 and network 4.0.0.0/8.
  • R21 in AS 100 should use R22 in AS 200 to reach network 3.0.0.0/8, as well as existing and future prefixes advertised in AS 200.

Перевод:

Перенастройте R21 в соответствии со следующей политикой; эта политика может отменять ранее реализованную политику:

  • R21 в AS 100 должен использовать R24 в AS 400 для доступа к сети 33.0.0.0/8 и сети 4.0.0.0/8.
  • R21 в AS 100 должен использовать R22 в AS 200 для доступа к сети 3.0.0.0/8, а также к существующим и будущим префиксам, объявленным в AS 200.

Уберем раннее сделанную настройку

! On R 21:
R21(config)#
router bgp 100
R21(config-router)#
no neighbor 12.2.1.2 weight 40000

R21# clear ip bgp *

Для настройки этой задачи мы настраиваем два ACL : первый ACL определяет сети 4.0.0.0/8 и 33.3.3.0/24, а второй - сеть 3.0.0.0/8.

Но как определить существующие и будущие префиксы, анонсируемые в AS 200? Самый простой способ добиться этого - настроить AS-path access list с указанием номера AS, поскольку номер AS остается неизменным для существующих и будущих маршрутов в AS 200.

Создадим ACL для определения сетей 33.3.3.0/24 и 4.0.0.0/8:

R21(config)# access-list 1 permit 33.3.3.0 0.0.0.255
R21(config)#
access-list 1 permit 4.0.0.0 0.255.255.255

Затем для сети 3.0.0.0/8:

R21(config)# access-list 2 permit 3.0.0.0 0.255.255.255

С помощью ACL или prefix lists, идентифицируются IP-адреса. Используя ip as-path access-list , мы можем идентифицировать AS (в данном случае AS 200):

R21(config)# ip as-path access-list 1 permit ^200$

После того, как префиксы идентифицированы, на них ссылаются в route-map , и им присваивается атрибут weight в соответствии с требованиями этой задачи.

Route-map TST присваивает атрибут weight 45000 сетям, указанным в ACL1:

R21(config)# route-map TST permit 10
R21(config-route-map)#
match ip address 1
R21(config-route-map)#
set weight 45000
R21(config)#
route-map TST permit 90

Route-map ТЕСТ назначает атрибут weight 50000 сетям, указанным в ACL 2 и AS 200:

R21(config)# route-map TEST permit 10
R21(config-route-map)#
match as-path 1
R21(config-route-map)#
set weight 50000
R21(config)#
route-map TEST permit 20
R21(config-route-map)#
match ip address 2
R21(config-route-map)#
set weight 50000
R21(config)#
route-map TEST permit 90

R21(config)# router bgp 100
R21(config-router)#
neighbor 14.1.1.4 route-map TST in
R21(config-router)#
neighbor 12.1.1.2 route-map TEST in

R21# clear ip bgp *

Проверяем

-77

Проверьте и проанализируйте trace до 4.4.4.4, 33.3.3.3 , 2.2.2.2 , 3.3.3.3 самостоятельно.

Lab 7: Multi-Exit Discriminator Attribute

Еще один атрибут BGP, который мы можем использовать для управления тем, как внешняя AS будет входить в нашу локальную AS - multiple exit discriminator. Однако для того, чтобы это работало, внешняя AS должна быть настроена на прием атрибута MED. Кроме того, по умолчанию MED будет работать только в сценариях, где локальная AS подключена к одной и той же внешней AS, как показано на рисунке ниже.

-78

В этой лабораторной работе продолжим использовать те же роутеры. Привести роутеры к начальной конфигурации, показанной на схеме, будет проще удалив с них предыдущие настройки bgp , route-map, ACL и as - path access list . Не трогайте настройки интерфейсов и rip маршрутизацию. Добавьте недостающие loopback интерфейсы.

Task 1

Configure routers R22, R23, and R24 in AS 200; these routers should have a full-mesh peer session between them. R22 and R24 should have an eBGP peer session with R21 in AS 100. BGP routers should only advertise their loopback interface(s) in BGP.

Перевод:

Настроить маршрутизаторы R22, R23 и R24 в AS 200; Эти маршрутизаторы должны иметь между собой full-mesh peer session . R22 и R24 должны иметь eBGP peer session с R21 в AS 100. Маршрутизаторы BGP должны анонсировать в BGP только свои loopback интерфейсы.

!On R21:
R21(config-if)#
router bgp 100
R21(config-router)#
no auto-summary
R21(config-router)#
network 11.0.0.0
R21(config-router)#
network 1.0.0.0
R21(config-router)#
neighbor 14.2.1.4 remote-as 200
R21(config-router)#
neighbor 12.2.1.2 remote-as 200

!On R22:
R22(config)#
router bgp 200
R22(config-router)#
no auto -summary
R22(config-router)#
network 2.0.0.0
R22(config-router)#
network 22.0.0.0
R22(config-router)#
neighbor 12.2.1.1 remote-as 100
R22(config-router)#
neighbor 23.2.1.3 remote-as 200
R22(config-router)#
neighbor 23.2.1.3 next-hop-self
R22(config-router)#
neighbor 34.2.1.4 remote-as 200
R22(config-router)#
neighbor 34.2.1.4 next-hop-self

!On R23:
R23(config)#
router bgp 200
R23(config-router)#
no auto-summary
R23(config-router)#
network 3.0.0.0
R23(config-router)#
network 33.0.0.0
R23(config-router)#
neighbor 34.2.1.4 remote-as 200
R23(config-router)#
neighbor 23.2.1.2 remote-as 200

!On R24:
R24(config)#
router bgp 200
R24(config-router)#
no auto-summary
R24(config-router)#
network 4.0.0.0
R24(config-router)#
neighbor 34.2.1.3 remote-as 200
R24(config-router)#
neighbor 34.2.1.3 next-hop-self
R24(config-router)#
neighbor 23.2.1.2 remote-as 200
R24(config-router)#
neighbor 23.2.1.2 next-hop-self
R24(config-router)#
neighbor 14.2.1.1 remote-as 100

Проверяем

-79

На остальных роутерах проверьте самостоятельно.

Task 2

Configure AS 200 such that R21 in AS 100 takes R24 to reach any prefix advertised in AS 200. You should manipulate MED to accomplish this task.

Перевод

Настройте AS 200 так, чтобы R21 в AS 100 использовал R24 для достижения любого префикса, объявленного в AS 200. Для выполнения этой задачи вы должны использовать настройки MED.

MED используется как предложение для внешней AS предпочтительного пути к AS, которая объявляет метрику. Не забывайте, что AS, получающая атрибут MED, может использовать другой атрибут, например, weight, для выявления предпочтительного пути, который является более приоритетным атрибутом, чем MED. Что касается MED, чем меньшее его значение, тем оно предпочтительнее.

!On R22:
R22(config)#
route-map TST permit 10
R22(config-route-map)#
set metric 100

R22(config)# router bgp 200
R22(config-router)#
neighbor 12.2.1.1 route-map TST out

R22# clear ip bgp * out

Проверяем

-80

R21 получает значение MED 100 для всех префиксов от R22. Поскольку R21 не получает значение MED от R24, он считает, что значение MED , поступающее от R24, равно нулю. Когда R21 сравнивает два значения MED, поступающие от одной и той же AS, он выбирает путь с более низким значением MED, которым является R24.

Task 3

Remove the configuration command from the previous task before proceeding to the next task:

!On R22:
R22(config)#
no route-map TST

R22(config)# router bgp 200
R22(config-router)#
no neighbor 12.2.1.1 route-map TST out

R2# clear ip bgp *

Task 4

Configure the appropriate router(s) in AS 200 such that AS 100 goes through R24 to reach network 33.0.0.0/8 and R22 to reach network 3.0.0.0/8. You should utilize MED to accomplish this task.

Перевод:

Настройте соответствующий маршрутизатор(ы) в AS 200 так, чтобы AS 100 проходил через R24 для достижения сети 33.0.0.0/8 и R22 для достижения сети 3.0.0.0/8. Вы должны использовать MED для выполнения этой задачи.

Посмотрим таблицу маршрутизации на R21 до того, как начнем работу с MED атрибутом.

-81

Как видно из этого вывода к сетям 3.0.0.0/8 и 33.0.0.0/8 более приоритетным является маршрут через R24.

На R22 настройте следующие два prefix lists (NET3 и NET33), которые ссылаются на префиксы 3.0.0.0/8 и 33.0.0.0/8 соответственно:

R22(config)# ip prefix-list NET3 permit 3.0.0.0/8

R22(config)# ip prefix-list NET33 permit 33.0.0.0/8

Назначим метрику на R22, что является значением MED, равным 50 для сети 3.0.0.0/8 и 100 для сети 33.0.0.0/8. На R24 значения MED поменяем местами: MED для сети 3.0.0.0/8 установим на 100, а для сети 33.0.0.0/8 - на 50.

R22(config)# route-map TST permit 10
R22(config-route-map)#
match ip address prefix-list NET3
R22(config-route-map)#
set metric 50
R22(config)#
route-map TST permit 20
R22(config-route-map)#
match ip address prefix-list NET33
R22(config-route-map)#
set metric 100
R22(config)#
route-map TST permit 90

R22(config)# router bgp 200
R22(config-router)#
neighbor 12.2.1.1 route-map TST out

R22# clear ip bgp *

!On R24:
R24(config)#
ip prefix-list NET3 permit 3.0.0.0/8

R24(config)# ip prefix-list NET33 permit 33.0.0.0/8

R24(config)# route-map TST permit 10
R24(config-route-map)#
match ip address prefix-list NET3
R24(config-route-map)#
set metric 100
R24(config)#
route-map TST permit 20
R24(config-route-map)#
match ip address prefix -list NET33
R24(config-route-map)#
set metric 50
R24(config)#
route-map TST permit 90

R24(config)# router bgp 200
R24(config-router)#
neighbor 14.2.1.1 route-map TST out

R24# clear ip bgp *

Проверим на R21

-82

Сеть 3.0.0.0/8 доступна через R22, а сеть 33.0.0.0/8 доступна через R24.

-83

Lab 8: Filtering Using Access Lists and Prefix Lists

-84

Начальные конфигурации роутеров состоят из настроек интерфейсов, вы их видите на схеме.

Task 1

Configure the BGP peering based on Figure 8:

!On R21:
R21(config)#
router bgp 100
R21(config-router)#
no auto-summary
R21(config-router)#
network 1.1.0.0 mask 255.255.255.0
R21(config-router)#
network 1.1.1.0 mask 255.255.255.0
R21(config-router)#
network 1.1.2.0 mask 255.255.255.0
R21(config-router)#
network 1.1.3.0 mask 255.255.255.0
R21(config-router)#
network 1.1.4.0 mask 255.255.255.0
R21(config-router)#
neighbor 12.2.1.2 remote-as 200
R21(config-router)#
neighbor 14.2.1.4 remote-as 400

!On R22:
R22(config)#
router bgp 200
R22(config-router)#
no auto-summary
R22(config-router)#
network 2.0.0.0
R22(config-router)#
network 22.0.0.0
R22(config-router)#
neighbor 12.2.1.1 remote-as 100
R22(config-router)#
neighbor 23.2.1.3 remote-as 300

!On R23:
R23(config)#
router bgp 300
R23(config-router)#
no auto-summary
R23(config-router)#
network 3.0.0.0
R23(config-router)#
network 33.0.0.0
R23(config-router)#
neighbor 23.2.1.2 remote-as 200
R23(config-router)#
neighbor 34.2.1.4 remote-as 400

!On R24:
R4(config)#
router bgp 400
R4(config-router)#
no auto-summary
R4(config-router)#
network 4.0.0.0
R4(config-router)#
neighbor 14.2.1.1 remote-as 100
R4(config-router)#
neighbor 34.2.1.3 remote-as 300

Если вдруг вы не видите все записи в таблице BGP, запустите clear ip bgp *

Проверяем

-85

На остальных роутерах проверьте сами.

Task 2

Configure R22 to filter network 1.1.4.0/24. Use distribute-list and access-list to accomplish this task.

Перевод

Настройте R22 для фильтрации сети 1.1.4.0/24. Используйте distribute-list и access-list для выполнения этой задачи.

Посмотрим, как это выглядит на данный момент:

-86

Чтобы отфильтровать префикс, ACL должен его запретить и разрешить все остальное:

R22(config)# access-list 4 deny 1.1.4.0 0.0.0.255
R22(config)#
access-list 4 permit any

Настроим два distribute lists для фильтрации префикса, входящего от обоих соседей, R21 и R23:

R22(config)# router bgp 200
R22(config-router)#
neighbor 12.2.1.1 distribute-list 4 in
R22(config-router)#
neighbor 23.2.1.3 distribute-list 4 in

Самое сложное здесь - понимать топологию. Если вы не понимаете ее, могут произойти глупые ошибки, которые могут стоить вам баллов в лабораторной работе CCIE. Особенно сложно здесь не забыть и заблокировать префикс от обоих соседей.

Проверим :

-87

Task 3

Remove the configuration command from the previous task and then accomplish the same objective using prefix-list and distribute-list:

Перевод

Удалите команду настройки из предыдущей задачи, а затем выполните ту же задачу с помощью prefix-list и distribute-list :

!On R22:
R22(config)#
no access-list 4

R22(config)# router bgp 200
R22(config-router)#
no neighbor 12.2.1.1 distribute-list 4 in
R22(config-router)#
no neighbor 23.2.1.3 distribute-list 4 in

R22# clear ip bgp * in

Проверяем наличие префикса в таблице

-88

А теперь создаем конфиг фильтрации с помощью prefix-list :

R22(config)# ip prefix-list TST seq 5 deny 1.1.4.0/24
R22(config)#
ip prefix-list TST seq 10 permit 0.0.0.0/0 le 32

R22(config)# router bgp 200
R22(config-router)#
neighbor 12.2.1.1 prefix-list TST in
R22(config-router)#
neighbor 23.2.1.3 prefix-list TST in

R22# clear ip bgp * in

Есть несколько способов выполнить поставленную задачу - понимание и запоминание различных способов может быть ключом к успеху.

Проверяем

-89

Task 4

Configure R23 in AS 300 to filter network 22.0.0.0/8. Do not use distribute-list or prefix-list. Instead, route-map and access-list should be used to accomplish this task.

Перевод

Настройте R23 в AS300 для фильтрации сети 22.0.0.0/8. Не используйте distribute-list или prefix-list. Для выполнения этой задачи следует использовать route-map и ACL .

Проверяем состояние префикса на данный момент:

-90

Вы можете видеть, что маршрутизатор изучает префикс (22.0.0.0/8) от двух соседей: R22 и R24.

В ACL запрещаем то что нужно отфильтровать, остальное разрешаем:

R23(config)# access-list 22 deny 22.0.0.0 0.255.255.255
R23(config)#
access-list 22 permit any

R23(config)# route-map TST permit 10
R23(config-route-map)#
match ip address 22

Route-map используем для обоих соседей:

R23(config)# router bgp 300
R23(config-router)#
neighbor 23.2.1.2 route-map TST in
R23(config-router)#
neighbor 34.2.1.4 route-map TST in

R23# clear ip bgp * in

И проверяем наличие префикса

-91

Task 5

Remove the access-list and route-map configuration from the previous task. Use a minimum number of lines in the access list to filter network 22.0.0.0/8. You should use access-list and route-map to accomplish this task.

Перевод

Удалите конфигурацию access-list и route-map из предыдущей задачи. Используйте минимальное количество строк в ACL для фильтрации сети 22.0.0.0/8. Вы должны использовать access-list и route-map для выполнения этой задачи.

!On R23:
R23(config)#
no access-list 22

R23(config)# no route-map TST

R23(config)# access-list 22 permit 22.0.0.0 0.255.255.255

R23(config)# route-map TST deny 10
R23(config-route-map)#
match ip address 22
R23(config)#
route-map TST permit 90

Не забудьте, что команда neighbor уже настроена.

Проверяем

-92

Когда вас просят настроить ACL с минимальным количеством строк, вы всегда должны видеть, можно ли выполнить задачу с помощью одной строки. Иногда одна строка может выполнить задачу, а иногда требуется больше строк в ACL для выполнения данной задачи.

Task 6

R24 should not see networks 1.1.0.0/24–1.1.4.0/24 in its BGP or routing table; you should configure a prefix list to accomplish this task. Do not use a route map or configure the solution on R24.

Перевод:

R24 не должен видеть сети 1.1.0.0/24–1.1.4.0/24 в своем BGP или таблице маршрутизации; вы должны настроить prefix list для выполнения этой задачи. Не используйте route-map и не делайте настроек на R24.

Давайте проверим существующую таблицу BGP R24 для всех префиксов, созданных в AS 100

-93

Поскольку R24 не может быть настроен для выполнения этой задачи, настройки фильтрации исходящих к R24 префиксов должны быть применены соседями R24:

!On R21 and R23:
Rx(config)#
ip prefix-list TST seq 5 deny 1.1.0.0/24
Rx(config)#
ip prefix-list TST seq 10 deny 1.1.1.0/24
Rx(config)#
ip prefix-list TST seq 15 deny 1.1.2.0/24
Rx(config)#
ip prefix-list TST seq 20 deny 1.1.3.0/24
Rx(config)#
ip prefix-list TST seq 25 deny 1.1.4.0/24
Rx(config)#
ip prefix-list TST seq 30 permit 0.0.0.0/0 le 32

!On R21:
R21(config)#
router bgp 100
R21(config-router)#
neighbor 14.2.1.4 prefix-list TST out

R21# clear ip bgp * out

!On R23:
R23(config)#
router bgp 300
R23(config-router)#
neighbor 34.2.1.4 prefix-list TST out

R23# clear ip bgp * out

Проверяем

-94

Lab 9: Regular Expressions

-95

Подготовьте стартовые настройки роутеров. Они состоят из настроек интерфейсов. Вы их видите на схеме.

Task 1

Configure BGP peering based on the following policy:

  • R21 in AS 100 should establish eBGP peer sessions with R22 in AS 200.
  • R22 should establish eBGP peer sessions with R21 and R23 in AS 100 and 300, respectively.
  • R23 should establish eBGP peer sessions with R22 and R24 in AS 200 and 400, respectively.
  • R24 should establish eBGP peer sessions with R23 in AS 300.
  • Advertise the loopback interfaces in BGP.
  • Do not use loopback interfaces for peering.

Переводить тут нечего поэтому сразу начнем

!On R21:
R21(config)#
router bgp 100
R21(config-router)#
no auto-summary
R21(config-router)#
network 1.0.0.0
R21(config-router)#
neighbor 12.2.1.2 remote-as 200

!On R22:
R22(config)#
router bgp 200
R22(config-router)#
no auto-summary
R22(config-router)#
network 2.0.0.0
R22(config-router)#
neighbor 12.2.1.1 remote-as 100
R22(config-router)#
neighbor 23.2.1.3 remote-as 300

!On R23:
R23(config)#
router bgp 300
R23(config-router)#
no auto-summary
R23(config-router)#
network 3.0.0.0
R23(config-router)#
neighbor 23.2.1.2 remote-as 200
R23(config-router)#
neighbor 34.2.1.4 remote-as 400

!On R24:
R24(config)#
router bgp 400
R24(config-router)#
no auto-summary
R24(config-router)#
network 4.0.0.0
R24(config-router)#
neighbor 34.2.1.3 remote-as 300

Проверяем

-96
-97

На остальных роутерах проверьте сами.

Task 2

Configure R21 such that it filters all the prefixes that have originated in AS 300. Table translates the meaning of the parts of the regular expression used in this task.

Перевод

Настройте R21 так, чтобы он фильтровал все префиксы, созданные в AS 300. Ниже приведены значения частей регулярного выражения, используемых в этой задаче.

Regular Expression

  • _ Подчеркивание соответствует пробелу или запятой.
  • { } Левая и правая фигурные скобки обозначают начало и конец строки.
  • $ Знак доллара означает конец строки.

Смотрим на первый номер AS в path. В этой задаче вас просят отфильтровать префиксы, которые исходят от AS 300, а не проходят через нее.

Рассмотрим префиксы, прошедшие через AS 300:

-98

Теперь давайте посмотрим на префиксы, созданные в AS 300:

-99

Создадим ip as-path access-list так, чтобы запрещать любые префиксы, созданные в AS 300, и разрешать все остальное:

!On R21:
R21(config)#
ip as-path access-list 1 deny _300$
R21(config)#
ip as-path access-list 1 permit .*

Дальше используем его в команде neighbor filter-list для соседа 12.2.1.2 (R22) в режиме in :

R21(config)# router bgp 100
R21(config-router)#
neighbor 12.1.1.2 filter-list 1 in

R21# clear ip bgp * in

-100

Task 3

Remove the configuration from the previous task before proceeding to the next task:

Перевод

Удалите все настройки, созданные для решения предыдущей задачи.

!On R21:
R21(config)#
no ip as-path access-list 1

R21(config)# router bgp 100
R21(config-router)#
no neighbor 12.1.1.2 filter-list 1 in

R21# clear ip bgp * in

Проверим

-101

Task 4

Configure R21 such that it blocks all the prefixes that have AS 300 in their AS-path list.

Перевод

Настройте R21 так, чтобы он блокировал все префиксы, в списке AS-path которых есть AS 300.

Давайте посмотрим все префиксы, которые имеют AS 300 в своем списке AS-path:

-102

!On R21:
R21(config)#
ip as-path access-list 1 deny _300_
R21(config)#
ip as-path access-list 1 permit .*

R21(config)# router bgp 100
R21(config-router)#
neighbor 12.2.1.2 filter-list 1 in

R21# clear ip bgp * in

Проверяем

-103

Task 5

Remove the configuration from the previous task before proceeding to the next task:

Перевод

Удалите все настройки, созданные для решения предыдущей задачи.

!On R21:
R21(config)#
no ip as-path access-list 1

R21(config)# router bgp 100
R21(config-router)#
no neighbor 12.2.1.2 filter-list 1 in

R21# clear ip bgp * in

Проверяем

-104

Task 6

Configure R23 such that it doesn’t advertise the prefixes that have originated in its own AS to any of its neighbors.

Перевод:

Настройте R23 так, чтобы он не объявлял префиксы, созданные в его собственной AS, ни одному из своих соседей.

Давайте протестируем регулярные выражения, показанное ниже, прежде чем начнем настройку. Помните, что префиксы, созданные в локальной AS, не будут иметь собственного ASN в AS-path. Префиксы добавляют ASN в AS-path только когда они объявляются соседу eBGP. Этот метод используется для того, чтобы upstream AS не могли использовать локальную AS в качестве транзитной AS.

Regular Expression

  • ^ Начало строки. В BGP это означает directly connected AS.
  • $ Конец строки.

А теперь проверим это регулярное выражение

-105

Зная, что регулярное выражение работает, мы можем выполнить настройку:

!On R23:
R23(config)#
ip as-path access-list 1 deny ^$
R23(config)#
ip as-path access-list 1 permit .*

R23(config)# router bgp 300
R23(config-router)#
neighbor 23.2.1.2 filter-list 1 out
R23(config-router)#
neighbor 34.2.1.4 filter-list 1 out

R23# clear ip bgp * out

Нужно проверить на R22 и R24

-106

На R24 проверьте сами

Task 7

Remove the configuration from the previous task before proceeding to the next task:

Перевод

Удалите все настройки, созданные для решения предыдущей задачи.

!On R23:
R23(config)#
no ip as-path access-list 1

R23(config)# router bgp 300
R23(config-router)#
no neighbor 23.2.1.2 filter-list 1 out
R23(config-router)#
no neighbor 34.2.1.4 filter-list 1 out

R23# clear ip bgp * out

Проверяем

-107

Task 8

Configure R23 such that it blocks all the prefixes that have originated in the neighboring AS 200.

Перевод:

Настройте R23 так, чтобы он блокировал все префиксы, созданные в соседней AS 200.

Вы знаете, что ^ означает начало строки или directly connected AS; следовательно, регулярное выражение может начинаться с символа ^, за которым следует ASN, а затем заканчиваться символом $, который указывает конец строки. Давайте проверим это:

-108

!On R23:
R23(config)#
ip as-path access-list 1 deny ^200$
R23(config)#
ip as-path access-list 1 permit .*

R23(config)# router bgp 300
R23(config-router)#
neighbor 23.2.1.2 filter-list 1 in

R23# clear ip bgp * in

Проверяем

-109

Task 9

Remove the configuration from the previous task before proceeding to the next task:

Перевод

Удалите все настройки, созданные для решения предыдущей задачи.

!On R23:
R23(config)#
no ip as-path access-list 1

R23(config)# router bgp 300
R23(config-router)#
no neighbor 23.2.1.2 filter-list 1 in

R23# clear ip bgp * in

Проверяем

-110

Task 10

Configure R23 such that it blocks all the prefixes from its existing directly connected neighbors.

Перевод

Настройте R23 так, чтобы он блокировал все префиксы, анонсированные directly connected соседями.

Regular Expression

  • ^ Начало строки. В BGP это означает directly connected AS.
  • [0-9] Диапазон символов. В BGP это означает любое значение от 0 до 9 включительно.
  • + Означает один или несколько повторений; в этой конфигурации это означает один или несколько повторений [0-9].
  • $ Конец строки.

Регулярное выражение (regexp), используемое в этом решении, должно означать любой номер AS. Но давайте сначала попробуем

-111

!On R23:
R23(config)#
ip as-path access-list 1 deny ^[0-9]+$
R23(config)#
ip as-path access-list 1 permit .*

R23(config)# router bgp 300
R23(config-router)#
neighbor 23.2.1.2 filter-list 1 in
R23(config-router)#
neighbor 34.2.1.4 filter-list 1 in

R23# clear ip bgp * in

Проверяем

-112

Task 11

Remove the configuration from the previous task before proceeding to the next task:

Перевод

Удалите все настройки, созданные для решения предыдущей задачи.

!On R23:
R23(config)#
no ip as-path access-list 1

R23(config)# router bgp 300
R23(config-router)#
no neighbor 23.1.1.2 filter-list 1 in
R23(config-router)#
no neighbor 34.1.1.4 filter-list 1 in

R23# clear ip bgp * in

Проверяем

-113

Task 12

Configure R21 such that it blocks all the prefixes that have originated in AS 300 and traversed through AS 200.

Перевод :

Настройте R21 таким образом, чтобы он блокировал все префиксы, которые были созданы в AS 300 и пройдены через AS 200.

Проверяем регулярное выражение

-114

!On R21:
R21(config)#
ip as-path access-list 1 deny _200_300$
R21(config)#
ip as-path access-list 1 permit .*

R21(config)# router bgp 100
R21(config-router)#
neighbor 12.2.1.2 filter-list 1 in

R21# clear ip bgp * in

Проверяем

-115

Task 13

Remove the configuration from the previous task before proceeding to the next task:

Перевод

Удалите все настройки, созданные для решения предыдущей задачи.

!On R21:
R21(config)#
no ip as-path access-list 1

R21(config)# router bgp 100
R21(config-router)#
no neighbor 12.2.1.2 filter-list 1 in

R21# clear ip bgp * in

Проверяем

-116

Task 14

Configure R21 in AS 100 to filter prefixes from the directly connected AS 200 if their AS number has been prepended multiple times.

Перевод:

Настройте R21 в AS 100 для фильтрации префиксов из directly connected AS 200, если ее номер AS был добавлен несколько раз.

Перед написанием и применением as-path acl вы должны проверить работу регулярного выражения выполнив команду show ip bgp regexp . Если желаемый результат виден, следует записать и применить as-path acl.

В следующем регулярном выражении раздел (_\1) можно рассматривать как кнопку памяти в калькуляторе; выражение перед ним, ^ ([0-9] +) , - это то, что вы помещаете в ячейку памяти

-117

Очевидно, что AS 200 не препендит свой номер AS, и поэтому мы не видим никаких префиксов в AS-path. Давайте настроим и протестируем это:

R21(config)# ip as-path access-list 1 deny ^([0-9]+)(_\1)+$
R21(config)#
ip as-path access-list 1 permit .*

R21(config)# router bgp 100
R21(config-router)#
neighbor 12.2.1.2 filter-list 1 in

R21# clear ip bgp * in

Смотрим что получили

-118

А теперь настроим R22 так, чтобы роутер препендил свой номер AS несколько раз, анонсируя префикс Lo 0:

R22(config)# ip prefix-list NET permit 2.0.0.0/8

R22(config)# route-map TST permit 10
R22(config-route-map)#
match ip address prefix-list NET
R22(config-route-map)#
set as-path prepend 200
R22(config-route-map)#
route-map TST permit 90

R22(config)# router bgp 200
R22(config-router)#
neighbor 12.1.1.1 route-map TST out

R22# clear ip bgp * out

Проверяем

-119

Поскольку R22 препендит свой номер AS несколько раз, R21 фильтрует префикс. Давайте удалим конфигурацию фильтрации из R21 и посмотрим:

!On R21:
R21(config)#
no ip as-path access-list 1

R21(config)# router bgp 100
R21(config-router)#
no neighbor 12.1.1.2 filter-list 1 in

R21# clear ip bgp * in

-120

Удалим конфигурацию на R22

!On R22:
R22(config)#
no ip prefix-list NET

R22(config)# no route-map TST

R22(config)# router bgp 200
R22(config-router)#
no neighbor 12.1.1.1 route-map TST out

R22# clear ip bgp * out

Проверяем

-121

Lab 10: BGP Confederation

BGP конфедерации предназначены для помощи в управлении схемой iBGP full mesh. Их можно использовать вместо или в сочетании с route reflectors, которые мы подробно обсуждали в лабораторной работе 2. Основная функция BGP конфедераций - разделение автономной системы на более мелкие, более управляемые автономные системы, которые представлены как одна автономная система для партнеров eBGP за пределами конфедерации. BGP конфедерации изначально были определены в RFC 3065 (в настоящее время RFC 5065).

Создавая меньшие домены автономных систем - или домены sub-AS, как их часто называют, можно ограничить количество сессий iBGP, необходимых для создания full mesh . Это стало возможным, если требуется full mesh схема в каждой независимой sub-AS. Мы проиллюстрируем это в нашей рабочей среде, создав три отдельные sub-AS. Для этого мы будем использовать private AS. Номера AS в диапазоне от 64 512 до 65 535 зарезервированы для частного использования. Конфедерации часто используют эти приватные номера AS. Мы будем использовать номера автономных систем 65511, 65522 и 65534 для применения конфедераций под AS 100. Сначала создадим топологию, показанную на рисунке ниже.

-122

Начальные настройки роутеров состоят из настроек интерфейсов, которые вы видите на схеме.

Task 1

Configure BGP peering on the routers as follows:

  • Configure routers R21–R24 in a confederation with a public AS number of 100.
  • R21 in sub-AS 65511 should establish an eBGP peer session with R22 in sub-AS 65522.
  • R22 in sub-AS 65522 should establish eBGP peer sessions with R21 and R23 in sub-AS 65511 and sub-AS 65534, respectively.
  • R23 in sub-AS 65534 should establish an eBGP peer session with R22 in sub-AS 65522 and an iBGP peer session with R24 in AS 65534.
  • R24 in sub-AS 65534 should establish an iBGP peer session with R23 and an eBGP peer session with R25 in AS 500.
  • R25 in AS 500 should establish an eBGP peer session with R24 in AS 100.
  • These routers should advertise their loopback interface in BGP.
  • AS 100 should use OSPF for the links within the AS.

Переводит тут нечего поэтому начнем сразу.

!On R21:
R21(config)#
router ospf 1
R21(config-router)#
network 12.2.1.1 0.0.0.0 area 0

R21(config)# router bgp 65511
R21(config-router)#
no auto-summary
R21(config-router)#
network 1.0.0.0
R21(config-router)#
neighbor 12.2.1.2 remote-as 65522
R21(config-router)#
bgp confederation identifier 100

Команда BGP confederation identifier используется для настройки единого номера AS для идентификации группы небольших автономных систем как единой конфедерации. Эта команда должна быть настроена на всех маршрутизаторах в пределах конфедерации. Конфедерацию можно использовать для уменьшения full mesh iBGP сети, разделив одну большую AS на несколько экземпляров sub-AS, а затем сгруппировав их в одну конфедерацию.

R21(config-router)# bgp confederation peers 65522

Эта команда используется для идентификации directly connected eBGP sub-confederation peers.

!On R22:
R22(config)#
router ospf 1
R22(config-router)#
network 12.2.1.2 0.0.0.0 area 0
R22(config-router)#
network 23.2.1.2 0.0.0.0 area 0

R22(config)# router bgp 65522
R22(config-router)#
no auto-summary
R22(config-router)#
network 2.0.0.0
R22(config-router)#
neighbor 12.2.1.1 remote-as 65511
R22(config-router)#
neighbor 23.2.1.3 remote-as 65534
R22(config-router)#
bgp confederation identifier 100
R22(config-router)#
bgp confederation peers 65511 65534

!On R23:
R23(config)#
router ospf 1
R23(config-router)#
network 34.2.1.3 0.0.0.0 area 0
R23(config-router)#
network 23.2.1.3 0.0.0.0 area 0

R23(config)# router bgp 65534
R23(config-router)#
no auto-summary
R23(config-router)#
neighbor 34.2.1.4 remote-as 65534
R23(config-router)#
neighbor 23.2.1.2 remote-as 65522
R23(config-router)#
network 3.0.0.0
R23(config-router)#
bgp confederation identifier 100

На R23 не настраиваем R24 (AS 65534) в качестве confederation peer, поскольку локальный маршрутизатор (R23) находится в той же sub-confederation, что и R24.

R23(config-router)# bgp confederation peers 65522

R24 анонсирует в OSPF линк до R25 (45.1.1.0/24). Это сделано чтобы для всех маршрутизаторов в AS 100 были доступны префиксы, анонсированные R25 в AS 500. Но интерфейс Gi3 (в сторону R25) настроен как passive-interface, чтобы если R25 запустит OSPF в сторону R24, он не смог установить смежность OSPF с R24 и получить информацию обо всех приватных IP-адресах, анонсированных в AS 100.

R24(config)# router ospf 1
R24(config-router)#
network 34.2.1.4 0.0.0.0 area 0
R24(config-router)#
network 45.1.1.4 0.0.0.0 area 0
R24(config-router)#
passive-interface Gi3

R24(config)# router bgp 65534
R24(config-router)#
no auto-summary
R24(config-router)#
network 4.0.0.0
R24(config-router)#
bgp confederation identifier 100
R24(config-router)#
neighbor 45.2.1.5 remote-as 500
R24(config-router)#
neighbor 34.2.1.3 remote-as 65534

R4 не имеет directly connected eBGP sub-confederation peers. Следовательно, команда bgp confederation peers не настроена.

!On R25:
R25(config)#
int lo0
R25(config-if)#
ip address 5.5.5.5 255.0.0.0

R25(config)# router bgp 500
R25(config-router)#
no auto-summary
R25(config-router)#
network 5.0.0.0
R25(config-router)#
neighbor 45.1.1.4 remote-as 100

Проверяем

-123

С точки зрения R25, все префиксы относятся к AS 100.

-124

Здесь мы видим AS paths в скобках - это приватные AS внутри конфедерации; AS 500 находится вне скобок, потому что не является частью конфедерации.