Фильтрация маршрутной информации на основе префиксов - это процесс выборки маршрутов по заданным параметрам соответствия на основе условий, описанных в правилах с применением префиксов.
Согласно RFC 1518, IP-префикс - это IP-адрес, указывающий на самые левые смежные значащие биты в пределах этого адреса. Значащими битами называются те биты, значение которых будет неизменно при задании IP-адреса на конечных хостах. Префиксы IP-адресов выражаются в виде записей <IP-адрес IP-маска>, таких, что побитовая логическая операция И над компонентами IP-адреса и IP-маски записи дает последовательность самых левых смежных значащих битов, которые формируют префикс IP-адреса.
IP-маска (маска подсети) — битовая маска для определения по IP-адресу префикса подсети и адреса узла (хоста, компьютера, устройства) этой подсети. В отличие от IP-адреса маска подсети не является частью IP-пакета.
Ниже приведён пример, в котором на основе IP-адреса хоста 192.0.2.30 и маски подсети 255.255.255.0 вычисляется префикс (адрес) сети с помощью логической операции И(&).
Принцип работы фильтрации на основе префиксов
Маршрут, попавший под действие фильтрующих механизмов, сравнивается с каждым IP-префиксом, указанным в условиях, по префиксной части, зафиксированной значением маски.
Сравнение производится побитно по префиксным частям - сначала ведётся сопоставление значащих бит сравниваемых префиксов с битами условий сравнения заданных в виде <ADDR/LEN> (где <ADDR> - значение значащих бит префикса, </LEN> - дли маски префикса), определяющих неизменяемую часть префикса, которая должна строго соответствовать при сравнении и допустимую часть сравниваемых значащих бит.
Проверка на соответствие производится вплоть до первого совпадения. Если сравниваемый маршрут совпал с одним из заданных условий, к нему будет применено одно из двух действий фильтрующих конструкций - permit или deny, а дальнейшее сравнение прекращается. В противном случае к нему будет применено неявное правило в конце списка.
В зависимости от целей назначения фильтрующие сущности могут настраиваться как по принципу исключения, так и по принципу добавления маршрутов с дальнейшей обработкой протоколами маршрутизации в соответствии с теми правилами и настройками, которые были заданы пользователем.
Для фильтрации маршрутной информации в протоколах динамической маршрутизации в ESR используются prefix-list и route-map.
Prefix-list
Представляет из себя последовательный построчный список IP-префиксов соответствий и модификаторов условий, а так же выполняемое действие - permit / deny. В качестве значения, к которому будет применено действие, может быть выбран как конкретный префикс, так и список префиксов, заданный с помощью object-group типа network <NAME>. В object-group должны быть описаны только префиксы. Применение конфигурации, содержащей диапазон адресов недопустимо. При совпадении префикса и модификатора применяется действие, указанное в начале перед префиксом. Проверка префиксов производится построчно сверху-вниз.
Route-map
В отличии от prefix-list, route-map более гибкий инструмент обработки маршрутной информации, применяемый в разных ситуациях на устройствах ESR. Однако, в данном контексте мы рассматриваем только ситуацию фильтрации маршрутов на основе префиксов.
Route-map состоит из правил (rule), нумеруемых пользователем в нужном ему порядке и исполняемых системой по порядку от наименьшего к большему. Каждое правило, как и prefix-list, состоит из списка IP-префиксов соответствий и модификатора условий, а так же выполняемое действие (action) к найденному соответствию - permit / deny.
При создании правила действие permit применяется по умолчанию, поэтому для допуска префикса в рамках route-map указывать action permit нет необходимости, а при просмотре настроек правил данное действие не будет отображено (в режиме просмотра полной конфигурации действие будет отображаться). С действием deny всё наоборот - его необходимо указывать явно, а при просмотре конфигурации оно будет отображаться.
route-map Route-map
rule 1
match ip address 10.0.0.0/8
exit
rule 2
match ip address 192.168.0.0/16
exit
rule 3
match ip address 172.16.31.0/24
exit
rule 4
match ip address 192.0.2.0/24
action deny
exit
rule 5
match ip address object-group Prefixes
action deny
exit
exit
При совпадении префикса и модификатора применяется действие, указанное в аргументе action. Проверка префиксов производится по каждому из правил сверху-вниз.
Модификаторы условий
Помимо точного соответствия конкретному IP-адресу существуют модификаторы условий, с помощью которых возможно более гибко настроить фильтрация маршрутов по IP-префиксам.
Существует 3 вида модификаторов условий:
- equal - при указании модификатора задаётся условие строгого соответствия заданной длины префикса
- lessequal- при указании модификатора длина префикса должна быть меньше либо соответствовать указанной
- greaterequal- при указании модификатора длина префикса должна быть больше либо соответствовать указанной
Модификатор equal
При использовании модификатора equal сравниваемый маршрут, попавший под условие сравнения, заданного в виде <ADDR/LEN>, проходит проверку на соответствие модификатору условия, заданного в виде eq <LEN>, где LEN - длина маски префикса, принимаемая значения [1..32]. Если значение длины маски сравниваемого маршрута строго совпадает со значением, указанным в модификаторе, то проверка на соответствие считается пройденной, а к сравниваемому маршруту применяется одно из действий фильтрующего механизма:
В приведённом примере маршрут 192.168.2.0/24 попадает под условие фильтра , так как оно разрешает все маршруты с маской /24, входящих в подсеть 192.168.0.0/16.
Модификатор lessequal
В отличии от equal модификатор lessequal определяет диапазон значений префиксов, длина которых должна быть меньше либо равной указанной длине маски модификатора условия соответствия. Таким образом диапазон значений определяется ОТ значения длины маски модификатора условия (параметр /LEN в le </LEN>) ДО значения длины маски условия соответствия( параметр /LEN в <ADDR/LEN>). Если сравниваемый маршрут попадает в диапазон значений, указанный в модификаторе, то проверка на соответствие считается пройденной, а к сравниваемому маршруту применяется одно из действий фильтрующего механизма:
В приведённом примере маршрут 10.0.9.128/25 попадает под условие фильтра , так как оно разрешает все маршруты с масками /26,/25,...,/17,/16, входящих в подсеть 10.0.0.0/16.
Модификатор greaterequal
Как и lessequal модификатор greaterequal определяет диапазон значений префиксов. Но их длина должна быть больше либо равной указанной длине маски модификатора условия соответствия. Таким образом диапазон значений определяется ОТ значения длины маски модификатора условия (параметр /LEN в ge </LEN>) ДО максимально возможной длины маски. Если сравниваемый маршрут попадает в диапазон значений, указанный в модификаторе, то проверка на соответствие считается пройденной, а к сравниваемому маршруту применяется одно из действий фильтрующего механизма:
В приведённом примере маршрут 192.168.5.254/31 попадает под условие фильтра , так как оно разрешает все маршруты с масками /31,/32, входящих в подсеть 192.168.0.0/20.
Типовые примеры
Схема:
Предварительные настройки:
- Между устройствами должны быть настроены линковочные подсети (172.16.1.0/24 - 172.16.10.0/24 между Office 1-10 и R2, и 192.0.2.0/30 между R2 и R1 соответственно)
- Между устройствами R1и R2 должен быть настроен eBGP, а между R2 и Office 1-10 OSPF в одной зоне (area 0.0.0.0)
- На маршрутизаторах Office 1-10 указанные сети изучаются и распространяются в OSPF посредством переиспользования (redistribution) как External Type-1
- Соседства OSPF настроены в режиме PtP
- Firewall на всех интерфейсах устройств отключён
Предварительная конфигурация устройств:
hostname R1
router bgp 65510
router-id 192.0.2.2
neighbor 192.0.2.1
remote-as 65505
address-family ipv4 unicast
enable
exit
enable
exit
enable
exit
interface tengigabitethernet 1/0/1
ip firewall disable
ip address 192.0.2.2/30
exit
hostname R2
router bgp 65505
router-id 192.0.2.1
neighbor 192.0.2.2
remote-as 65510
address-family ipv4 unicast
enable
exit
enable
exit
address-family ipv4 unicast
redistribute ospf 1 external1
exit
enable
exit
router ospf 1
router-id 172.16.0.0
area 0.0.0.0
enable
exit
enable
exit
interface gigabitethernet 1/0/1
ip firewall disable
ip address 172.16.1.1/24
ip ospf instance 1
ip ospf network point-to-point
ip ospf
exit
interface gigabitethernet 1/0/2
ip firewall disable
ip address 172.16.2.1/24
ip ospf instance 1
ip ospf network point-to-point
ip ospf
exit
interface gigabitethernet 1/0/3
ip firewall disable
ip address 172.16.3.1/24
ip ospf instance 1
ip ospf network point-to-point
ip ospf
exit
interface gigabitethernet 1/0/4
ip firewall disable
ip address 172.16.4.1/24
ip ospf instance 1
ip ospf network point-to-point
ip ospf
exit
interface gigabitethernet 1/0/5
ip firewall disable
ip address 172.16.5.1/24
ip ospf instance 1
ip ospf network point-to-point
ip ospf
exit
interface gigabitethernet 1/0/6
ip firewall disable
ip address 172.16.6.1/24
ip ospf instance 1
ip ospf network point-to-point
ip ospf
exit
interface gigabitethernet 1/0/7
ip firewall disable
ip address 172.16.7.1/24
ip ospf instance 1
ip ospf network point-to-point
ip ospf
exit
interface gigabitethernet 1/0/8
ip firewall disable
ip address 172.16.8.1/24
ip ospf instance 1
ip ospf network point-to-point
ip ospf
exit
interface gigabitethernet 1/0/9
ip firewall disable
ip address 172.16.9.1/24
ip ospf instance 1
ip ospf network point-to-point
ip ospf
exit
interface gigabitethernet 1/0/10
ip firewall disable
ip address 172.16.10.1/24
ip ospf instance 1
ip ospf network point-to-point
ip ospf
exit
interface tengigabitethernet 1/0/1
ip firewall disable
ip address 192.0.2.1/30
exit
Пример с equal
Задача:
На маршрутизаторе R2 из всех маршрутов, полученных по OSPF от маршрутизаторов Office 1-10, необходимо отфильтровать подсети 192.168.0.0/16 выбрав из них лишь те, длина маски которых строго /24, и анонсировать их по BGP на R1.
Конфигурирование:
На маршрутизаторе R2 создадим route-map с именем Route_map, в нём правило rule 1. В правиле будет описано условие совпадения, по которым будут фильтроваться маршруты:
R2# configure
R2(config)# route-map Route_map
R2(config-route-map)# rule 1
R2(config-route-map-rule)# match ip address 192.168.0.0/16 eq 24
R2(config-route-map-rule)# exit
R2(config-route-map)# exit
Теперь необходимо применить созданный route-map в BGP для анонсирования указанных в условии примера маршрутов соседу R1:
R2(config)# router bgp 65505
R2(config-bgp)# neighbor 192.0.2.2
R2(config-bgp-neighbor)# address-family ipv4 unicast
R2(config-bgp-neighbor-af)# route-map Route_map out
R2(config-bgp-neighbor-af)# end
Применим и сохраним изменения:
Для проверки полученного результата посмотрим на маршруты на R2, которые анонсируются соседу R1 по BGP:
R2# show bgp ipv4 unicast neighbor 192.0.2.2 advertise-routes
R2# show bgp ipv4 unicast neighbor 192.0.2.2 advertise-routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 192.168.9.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.10.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.5.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.6.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.7.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.8.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.1.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.2.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.3.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.4.0/24 192.0.2.1 -- -- -- 65505 ?
И проверим наличие маршрутов на маршрутизаторе R1:
R1# show ip route
R1# show ip route
Codes: C - connected, S - static, R - RIP derived,
O - OSPF derived, IA - OSPF inter area route,
E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
H - NHRP, * - FIB route
C * 192.0.2.0/30 [0/0] dev te1/0/1 [direct 06:26:35]
B * 192.168.9.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 07:34:27] (AS65505?)
B * 192.168.10.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 07:34:27] (AS65505?)
B * 192.168.5.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 07:34:27] (AS65505?)
B * 192.168.6.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 07:34:27] (AS65505?)
B * 192.168.7.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 07:34:27] (AS65505?)
B * 192.168.8.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 07:34:27] (AS65505?)
B * 192.168.1.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 07:34:27] (AS65505?)
B * 192.168.2.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 07:34:27] (AS65505?)
B * 192.168.3.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 07:34:27] (AS65505?)
B * 192.168.4.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 07:34:27] (AS65505?)
В случае использования prefix-list отличия будут лишь в его настройке и применении для соседа BGP:
R2# configure
R2(config)# ip prefix-list Prefix_list
R2(config-pl)# permit 192.168.0.0/16 eq 24
R2(config-pl)# exit
R2(config)# router bgp 65505
R2(config-bgp)# neighbor 192.0.2.2
R2(config-bgp-neighbor)# address-family ipv4 unicast
R2(config-bgp-neighbor-af)# prefix-list Prefix_list out
R2(config-bgp-neighbor-af)# end
R2# commit
R2# confirm
Результат применения будет аналогичным.
Пример с lessequal
Задача:
На маршрутизаторе R2 из всех маршрутов, полученных по OSPF от маршрутизаторов Office 1-10, необходимо отфильтровать подсети 10.0.0.0/16 выбрав из них лишь те, длина маски которых меньше либо равна /26, и анонсировать их по BGP на R1.
Конфигурирование:
На маршрутизаторе R2 создадим route-map с именем Route_map, в нём правило rule 1. В правиле будет описано условие совпадения, по которым будут фильтроваться маршруты:
R2# configure
R2(config)# route-map Route_map
R2(config-route-map)# rule 1
R2(config-route-map-rule)# match ip address 10.0.0.0/16 le 26
R2(config-route-map-rule)# exit
R2(config-route-map)# exit
Теперь необходимо применить созданный route-map в BGP для анонсирования указанных в условии примера маршрутов соседу R1:
R2(config)# router bgp 65505
R2(config-bgp)# neighbor 192.0.2.2
R2(config-bgp-neighbor)# address-family ipv4 unicast
R2(config-bgp-neighbor-af)# route-map Route_map out
R2(config-bgp-neighbor-af)# end
Применим и сохраним изменения:
Для проверки полученного результата посмотрим на маршруты на R2, которые анонсируются соседу R1 по BGP:
R2# show bgp ipv4 unicast neighbor 192.0.2.2 advertise-routes
R2# show bgp ipv4 unicast neighbor 192.0.2.2 advertise-routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 10.0.3.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.2.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.5.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.4.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.7.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.8.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.9.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.1.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.10.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.2.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.3.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.5.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.4.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.6.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.1.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.7.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.8.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.9.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.10.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.3.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.4.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.5.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.6.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.7.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.6.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.9.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.1.0/24 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.10.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.8.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.2.0/24 192.0.2.1 -- -- -- 65505 ?
И проверим наличие маршрутов на маршрутизаторе R1:
R1# show ip route
R1# show ip route
Codes: C - connected, S - static, R - RIP derived,
O - OSPF derived, IA - OSPF inter area route,
E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
H - NHRP, * - FIB route
B * 10.0.3.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.2.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.5.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.4.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.7.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
C * 192.0.2.0/30 [0/0] dev te1/0/1 [direct 10:44:22]
B * 10.0.8.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.9.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.1.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.10.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.2.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.3.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.5.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.4.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.6.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.1.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.7.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.8.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.9.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.10.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.3.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.4.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.5.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.6.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.7.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.6.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.9.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.1.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.10.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.8.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
B * 10.0.2.0/24 [170] via 192.0.2.1 on te1/0/1 [bgp65510 10:45:02] (AS65505?)
В случае использования prefix-list отличия будут лишь в его настройке и применении для соседа BGP:
R2# configure
R2(config)# ip prefix-list Prefix_list
R2(config-pl)# permit 10.0.0.0/16 le 26
R2(config-pl)# exit
R2(config)# router bgp 65505
R2(config-bgp)# neighbor 192.0.2.2
R2(config-bgp-neighbor)# address-family ipv4 unicast
R2(config-bgp-neighbor-af)# prefix-list Prefix_list out
R2(config-bgp-neighbor-af)# end
R2# commit
R2# confirm
Результат применения будет аналогичным.
Пример с greaterequal
Задача:
На маршрутизаторе R2 из всех маршрутов, полученных по OSPF от маршрутизаторов Office 1-10, необходимо отфильтровать подсети 192.168.0.0/20 выбрав из них лишь те, длина маски которых больше либо равна /30, и анонсировать их по BGP на R1.
Конфигурирование:
На маршрутизаторе R2 создадим route-map с именем Route_map, в нём правило rule 1. В правиле будет описано условие совпадения, по которым будут фильтроваться маршруты:
R2# configure
R2(config)# route-map Route_map
R2(config-route-map)# rule 1
R2(config-route-map-rule)# match ip address 192.168.0.0/20 ge 30
R2(config-route-map-rule)# exit
R2(config-route-map)# exit
Теперь необходимо применить созданный route-map в BGP для анонсирования указанных в условии примера маршрутов соседу R1:
R2(config)# router bgp 65505
R2(config-bgp)# neighbor 192.0.2.2
R2(config-bgp-neighbor)# address-family ipv4 unicast
R2(config-bgp-neighbor-af)# route-map Route_map out
R2(config-bgp-neighbor-af)# end
Применим и сохраним изменения:
Для проверки полученного результата посмотрим на маршруты на R2, которые анонсируются соседу R1 по BGP:
R2# show bgp ipv4 unicast neighbor 192.0.2.2 advertise-routes
R2# show bgp ipv4 unicast neighbor 192.0.2.2 advertise-routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 192.168.10.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.9.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.8.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.7.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.6.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.5.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.4.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.3.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.2.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.1.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.1.255/32 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.10.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.2.255/32 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.9.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.3.255/32 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.8.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.4.255/32 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.5.255/32 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.7.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.6.255/32 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.6.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.7.255/32 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.5.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.8.255/32 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.4.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.9.255/32 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.3.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.10.255/32 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.2.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.1.252/30 192.0.2.1 -- -- -- 65505 ?
И проверим наличие маршрутов на маршрутизаторе R1:
R1# show ip route
R1# show ip route
Codes: C - connected, S - static, R - RIP derived,
O - OSPF derived, IA - OSPF inter area route,
E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
H - NHRP, * - FIB route
B * 192.168.10.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.9.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.8.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.7.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
C * 192.0.2.0/30 [0/0] dev te1/0/1 [direct 10:44:22]
B * 192.168.6.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.5.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.4.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.3.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.2.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.1.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.1.255/32 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.10.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.2.255/32 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.9.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.3.255/32 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.8.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.4.255/32 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.5.255/32 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.7.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.6.255/32 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.6.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.7.255/32 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.5.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.8.255/32 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.4.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.9.255/32 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.3.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.10.255/32 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.2.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
B * 192.168.1.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:05:57] (AS65505?)
В случае использования prefix-list отличия будут лишь в его настройке и применении для соседа BGP:
R2# configure
R2(config)# ip prefix-list Prefix_list
R2(config-pl)# permit 192.168.0.0/20 ge 30
R2(config-pl)# exit
R2(config)# router bgp 65505
R2(config-bgp)# neighbor 192.0.2.2
R2(config-bgp-neighbor)# address-family ipv4 unicast
R2(config-bgp-neighbor-af)# prefix-list Prefix_list out
R2(config-bgp-neighbor-af)# end
R2# commit
esr# confirm
Результат применения будет аналогичным.
Комбинирование lessequal с greaterequal
Задача:
На маршрутизаторе R2 из всех маршрутов, полученных по OSPF от маршрутизаторов Office 1-10, необходимо отфильтровать подсети 10.0.0.0/16 выбрав из них лишь те, длина маски которых находится в диапазоне от /27 до /30, и анонсировать их по BGP на R1.
Конфигурирование:
На маршрутизаторе R2 создадим route-map с именем Route_map, в нём правило rule 1. В правиле будет описано условие совпадения, по которым будут фильтроваться маршруты:
R2# configure
R2(config)# route-map Route_map
R2(config-route-map)# rule 1
R2(config-route-map-rule)# match ip address 10.0.0.0/16 ge 27 le 30
R2(config-route-map-rule)# exit
R2(config-route-map)# exit
Теперь необходимо применить созданный route-map в BGP для анонсирования указанных в условии примера маршрутов соседу R1:
R2(config)# router bgp 65505
R2(config-bgp)# neighbor 192.0.2.2
R2(config-bgp-neighbor)# address-family ipv4 unicast
R2(config-bgp-neighbor-af)# route-map Route_map out
R2(config-bgp-neighbor-af)# end
Применим и сохраним изменения:
Для проверки полученного результата посмотрим на маршруты на R2, которые анонсируются соседу R1 по BGP:
R2# show bgp ipv4 unicast neighbor 192.0.2.2 advertise-routes
R2# show bgp ipv4 unicast neighbor 192.0.2.2 advertise-routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 10.0.9.248/29 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.10.248/29 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.7.248/29 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.8.248/29 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.5.248/29 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.10.224/27 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.6.248/29 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.3.248/29 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.4.248/29 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.1.248/29 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.7.224/27 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.2.248/29 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.6.224/27 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.9.224/27 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.10.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.8.224/27 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.9.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.10.240/28 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.8.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.3.224/27 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.7.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.2.224/27 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.8.240/28 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.5.224/27 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.6.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.4.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.9.240/28 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.4.224/27 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.5.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.3.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.6.240/28 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.2.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.7.240/28 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.1.224/27 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.1.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.4.240/28 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.5.240/28 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.2.240/28 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.3.240/28 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.1.240/28 192.0.2.1 -- -- -- 65505 ?
И проверим наличие маршрутов на маршрутизаторе R1:
R1# show ip route
R1# show ip route
Codes: C - connected, S - static, R - RIP derived,
O - OSPF derived, IA - OSPF inter area route,
E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
H - NHRP, * - FIB route
B * 10.0.9.248/29 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.10.248/29 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.7.248/29 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.8.248/29 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.5.248/29 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
C * 192.0.2.0/30 [0/0] dev te1/0/1 [direct 09:09:22]
B * 10.0.10.224/27 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.6.248/29 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.3.248/29 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.4.248/29 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.1.248/29 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.7.224/27 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.2.248/29 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.6.224/27 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.9.224/27 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.10.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.8.224/27 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.9.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.10.240/28 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.8.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.3.224/27 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.7.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.2.224/27 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.8.240/28 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.5.224/27 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.6.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.4.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.9.240/28 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.4.224/27 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.5.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.3.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.6.240/28 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.2.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.7.240/28 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.1.224/27 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.1.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.4.240/28 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.5.240/28 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.2.240/28 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.3.240/28 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
B * 10.0.1.240/28 [170] via 192.0.2.1 on te1/0/1 [bgp65510 09:13:25] (AS65505?)
В случае использования prefix-list отличия будут лишь в его настройке и применении для соседа BGP:
R2# configure
R2(config)# ip prefix-list Prefix_list
R2(config-pl)# permit 10.0.0.0/16 ge 27 le 30
R2(config-pl)# exit
R2(config)# router bgp 65505
R2(config-bgp)# neighbor 192.0.2.2
R2(config-bgp-neighbor)# address-family ipv4 unicast
R2(config-bgp-neighbor-af)# prefix-list Prefix_list out
R2(config-bgp-neighbor-af)# end
R2# commit
esr# confirm
Результат применения будет аналогичным.
Фильтрация префиксов на основе маски переменной длины
Если в условии соответствия задать префикс вида 0.0.0.0/0, то неизменяемая часть значащих битов будет полностью отсутствовать, а это значит, что любой префикс может подходить под данное условие. Таким образом возможна фильтрация префиксов на основе значения длины маски, описываемой с помощью модификаторов условий:
В приведённом выше примере:
- префикс 10.54.121.16/29 не попадает под заданное условие, так как маска /29 больше указанной - /27
- 0.0.0.0/0 так же не попадает под заданное условие, так как характеризует все возможные IP-адреса любой маски
- префикс 192.168.2.0/24 попадает под заданное условие, так как маска /24 попадает в диапазон меньше/равно /27
Такая конфигурация пригодится в ситуациях, когда необходимо провести фильтрацию большого числа разных префиксов, длина маски которых имеет определённое значение, а префиксная часть может иметь любое значение.
Пример
Задача:
На маршрутизаторе R2 из всех маршрутов, полученных по OSPF от маршрутизаторов Office 1-10, необходимо отфильтровать все подсети длина маски которых находится в диапазоне от /25 до /26 и от /30 до /31, и анонсировать их по BGP на R1.
Конфигурирование:
На маршрутизаторе R2 создадим route-map с именем Route_map. В нём с помощью нескольких правил необходимо описать два диапазона. В правиле 1 будет описано условие совпадения для диапазона от /25 до /26 ,а в правиле 2 - от /30 до /31 , по которым будут фильтроваться маршруты:
R2# configure
R2(config)# route-map Route_map
R2(config-route-map)# rule 1
R2(config-route-map-rule)# match ip address 0.0.0.0/0 ge 25 le 26
R2(config-route-map-rule)# exit
R2(config-route-map)# rule 2
R2(config-route-map-rule)# match ip address 0.0.0.0/0 ge 30 le 31
R2(config-route-map-rule)# exit
R2(config-route-map)# exit
Теперь необходимо применить созданный route-map в BGP для анонсирования указанных в условии примера маршрутов соседу R1:
R2(config)# router bgp 65505
R2(config-bgp)# neighbor 192.0.2.2
R2(config-bgp-neighbor)# address-family ipv4 unicast
R2(config-bgp-neighbor-af)# route-map Route_map out
R2(config-bgp-neighbor-af)# end
Применим и сохраним изменения:
Для проверки полученного результата посмотрим на маршруты на R2, которые анонсируются соседу R1 по BGP:
R2# show bgp ipv4 unicast neighbor 192.0.2.2 advertise-routes
R2# show bgp ipv4 unicast neighbor 192.0.2.2 advertise-routes
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
* - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
Network Next Hop Metric LocPrf Weight Path
*> u 10.0.3.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.8.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.6.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.10.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.2.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.7.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.5.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.5.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.9.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.6.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.8.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.4.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.8.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.5.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.7.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.9.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.1.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.7.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.7.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.4.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.8.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.6.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.3.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.10.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.3.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.9.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.1.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.5.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.2.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.4.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.2.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.10.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.4.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.3.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.1.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.5.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.2.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.2.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.6.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.3.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.1.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.7.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.5.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.4.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.10.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.8.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.6.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.9.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.1.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.10.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.8.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.2.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.9.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.7.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.3.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.8.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.6.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.4.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.4.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.7.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.1.128/25 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.5.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.3.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.6.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.2.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.5.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.1.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.4.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.3.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.2.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.1.252/30 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.7.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.10.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.6.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 192.168.9.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.9.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.10.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.8.192/26 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.10.254/31 192.0.2.1 -- -- -- 65505 ?
*> u 10.0.9.254/31 192.0.2.1 -- -- -- 65505 ?
И проверим наличие маршрутов на маршрутизаторе R1:
R1# show ip route
R1# show ip route
Codes: C - connected, S - static, R - RIP derived,
O - OSPF derived, IA - OSPF inter area route,
E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
H - NHRP, * - FIB route
B * 10.0.3.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.8.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.6.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.10.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.2.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.7.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.5.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.5.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.9.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.6.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.8.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.4.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.8.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.5.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.7.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.9.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.1.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.7.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.7.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.4.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
C * 192.0.2.0/30 [0/0] dev te1/0/1 [direct 11:42:58]
B * 10.0.8.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.6.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.3.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.10.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.3.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.9.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.1.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.5.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.2.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.4.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.2.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.10.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.4.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.3.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.1.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.5.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.2.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.2.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.6.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.3.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.1.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.7.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.5.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.4.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.10.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.8.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.6.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.9.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.1.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.10.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.8.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.2.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.9.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.7.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.3.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.8.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.6.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.4.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.4.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.7.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.1.128/25 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.5.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.3.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.6.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.2.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.5.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.1.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.4.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.3.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.2.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.1.252/30 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.7.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.10.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.6.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 192.168.9.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.9.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.10.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.8.192/26 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.10.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)
B * 10.0.9.254/31 [170] via 192.0.2.1 on te1/0/1 [bgp65510 12:22:38] (AS65505?)