return

Ответ к задаче №МВ3.8

19 октября 2013, 13:08

Для проверки политик на R7 такие настройки:

router bgp 64504
network 130.0.0.0 mask 255.255.255.0
neighbor 100.0.0.5 remote-as 64500
neighbor 100.0.0.5 send-community
neighbor 100.0.0.5 route-map ISP out
!
route-map ISP permit 10
set community 64500:7 64500:50 64500:150 64500:500

Конфигурация R4:

ip community-list standard CLI deny 64500:50
ip community-list standard CLI deny 64500:100
ip community-list standard CLI deny 64500:150
ip community-list standard CLI deny 64500:1
ip community-list standard CLI deny 64500:2
ip community-list standard CLI deny 64500:3
ip community-list standard CLI permit internet

route-map CLIENTS permit 10
set comm-list CLI delete
set community 64501:300 64502:300 additive

router bgp 64500
neighbor AS64500 send-community
neighbor 100.0.0.6 route-map CLIENTS in

Конфигурация на примере R1:

ip community-list expanded ISP deny 64501:.* 64502:.*
ip community-list expanded ISP permit 64500:.*

route-map ISP_N permit 10
set comm-list ISP delete

router bgp 64500
neighbor 101.0.0.1 remote-as 64501
neighbor 101.0.0.1 send-community
neighbor 101.0.0.1 route-map ISP_N out

———Подробнее——-
На маршрутизаторах R1-R4, R7 настроено:

ip bgp-community new-format

и отправка community (на примере R4):

router bgp 64500
neighbor AS64500 send-community

Для проверки политик на R7 такие настройки:

router bgp 64504
bgp log-neighbor-changes
network 130.0.0.0 mask 255.255.255.0
neighbor 100.0.0.5 remote-as 64500
neighbor 100.0.0.5 send-community
neighbor 100.0.0.5 route-map ISP out
!
route-map ISP permit 10
set community 64500:7 64500:50 64500:150 64500:500

То есть, R7 отправляет на R4 префикс 130.0.0.0/24 с двумя community, которые определены в наших политиках 64500:50 и 64500:150 и с двумя значениями, которые не используются и должны отбрасываться.

Теперь на R4 маршрут 130.0.0.0/24 приходит с такими значениями community:

R4#sh ip bgp 130.0.0.0/24
BGP routing table entry for 130.0.0.0/24, version 7
Paths: (1 available, best #1, table default)
Advertised to update-groups:
20
Refresh Epoch 8
64504
100.0.0.6 from 100.0.0.6 (104.0.0.1)
Origin IGP, metric 0, localpref 100, valid, external, best
Community: 64500:7 64500:50 64500:150 64500:500

Выполним первую часть задания:
— все значения community приходящие от клиентов, которые не определены политикой, должны удаляться

Конфигурация выполняется на R4.
Сначала создаем community-list, который описывает разрешенные значения community. Так мы собираемся удалить все, кроме разрешенных, то исключаем разрешенные:

ip community-list standard CLI deny 64500:50
ip community-list standard CLI deny 64500:100
ip community-list standard CLI deny 64500:150
ip community-list standard CLI deny 64500:1
ip community-list standard CLI deny 64500:2
ip community-list standard CLI deny 64500:3
ip community-list standard CLI permit internet

Указываем в route-map, что будем удалять те community, которые указаны в строке permit в community-list:

route-map CLIENTS permit 10
set comm-list CLI delete

Применяем route-map к входящим обновлениям, которые получены от соседа:

router bgp 64500
neighbor AS64500 send-community
neighbor 100.0.0.6 route-map CLIENTS in

Проверяем. Теперь остались только разрешенные значения community:

R4#sh ip bgp 130.0.0.0/24
BGP routing table entry for 130.0.0.0/24, version 11
Paths: (1 available, best #1, table default)
Advertised to update-groups:
20
Refresh Epoch 8
64504
100.0.0.6 from 100.0.0.6 (104.0.0.1)
Origin IGP, metric 0, localpref 100, valid, external, best
Community: 64500:50 64500:150

Для проверки второй части задания добавляем несколько значений community в существующую route-map на R4:

route-map CLIENTS permit 10
set comm-list CLI delete
set community 64501:300 64502:300 additive

Теперь на R4:

R4#sh ip bgp 130.0.0.0/24
BGP routing table entry for 130.0.0.0/24, version 11
Paths: (1 available, best #1, table default)
Advertised to update-groups:
20
Refresh Epoch 8
64504
100.0.0.6 from 100.0.0.6 (104.0.0.1)
Origin IGP, metric 0, localpref 100, valid, external, best
Community: 64500:50 64500:150 64501:300 64502:300

Выполняем вторую часть задания:
— значения community, которые проставлены клиентами, должны удаляться, при передаче префиксов соседним вышестоящим AS. При этом не должны удаляться другие значения, которые проставлены маршрутизаторами нашей AS.

Конфигурация на примере R1:
Так как теперь нам нужно указать шаблон значения community, используем expanded community-list (опять будем отбрасывать те значения, которые совпадут с permit):

ip community-list expanded ISP deny 64501:.* 64502:.*
ip community-list expanded ISP permit 64500:.*

Применяем в route-map:

route-map ISP_N permit 10
set comm-list ISP delete

И route-map к обновлениям, которые отправляются R5:

router bgp 64500
neighbor 101.0.0.1 remote-as 64501
neighbor 101.0.0.1 send-community
neighbor 101.0.0.1 route-map ISP_N out

Проверяем на R5:

R5#sh ip bgp 130.0.0.0/24
BGP routing table entry for 130.0.0.0/24, version 74
Paths: (3 available, best #3, table default)
Advertised to update-groups:
1
Refresh Epoch 1
64503 64502 64500 64504
101.0.0.10 from 101.0.0.10 (103.0.0.1)
Origin IGP, localpref 100, valid, external
Refresh Epoch 1
64502 64500 64504
101.0.0.6 from 101.0.0.6 (6.6.6.6)
Origin IGP, localpref 100, valid, external
Refresh Epoch 2
64500 64504
101.0.0.2 from 101.0.0.2 (100.0.0.1)
Origin IGP, localpref 100, valid, external, best
Community: 64501:300 64502:300
like 0 views 6999 message 2

2 коментария

  • Наташа Самойленко

    Спасибо пользователю ulypka007 за ответы. Мы их удалили, чтобы дать возможность другим подумать.
    Ваши ответы были такими:

    На R2 аналогично.
    ip community-list 1 permit 64500:150 64500:100 64500:50 64500:1 64500:3

    route-map com64500
    match community 1
    set community no-export

    route-map com64500
    set community none

    neighbor 101.0.0.1 route-map com64500 in

    3 ноября 2013, 16:07
  • Наташа Самойленко

    Этот ответ не совсем верный, так как:
    — применен он на R1, к входящим обновлениям от AS 64501. А это не наш клиент, а наш апстрим. Даже если применить к клиентам, то:
    — в Вашем варианте получилось, что если клиенты нашей AS анонсируют сети с принятыми значениями community, то мы их сети никому выше не анонсим. А остальные значения затираем.

    3 ноября 2013, 16:18

Ещё статьи

Сети для Самых Маленьких. Микровыпуск №4. Погружение в IOU
Продолжая, а точнее завершая, обзор разнообразных эмуляторов оборудования Сisco Systems, я подробно остановлюсь на Cisco IOU (Cisco IOS on UNIX). Именно этот эмулятор содержит максимальное количество фич и минимальное количество ...
like 112 47727 49
28 октября 2013
Удивительные истории linkmeup
Хочу наконец уже поведать удивительную историю одного из наших постоянных читателей, которая стала возможной благодаря сайту linkmeup.ru. Саша Sinister — один из самых верных читателей нашего сайта с первых дней. ...
like 0 6850 1
10 января 2014
Инструкция по применению CCIE за год
Как и любому органу организма для достижения результатов, мозгу требуется нагрузка. Ближайшие 64 недели она у вас будет. Остался позади подготовительный этап длиной в два с половиной месяца. Мы уже ...
like 0 8679 0
2 апреля 2016