У меня настроена многосетевая сеть. Я использую Cisco 7200 для рекламы BGP для обоих провайдеров A и B. Для каждого провайдера у меня есть отдельный / 24, который я использую. Я пытаюсь воздействовать на блок A для поставщика A и блок B для поставщика B. Это работает нормально. Если один из провайдеров выходит из строя, отработка отказа отлично работает.
Тем не менее, я также хочу, чтобы OUTBOUND-трафик передавался каждому провайдеру одинаковым образом. То есть, когда трафик поступает в мой маршрутизатор, я хочу связать его исходящий поток с провайдером на основе исходного IP-адреса. Как есть, каждый провайдер объявляет мне только маршрут по умолчанию.
Я считаю, что для этого могу использовать политику маршрутизации, но я не хочу жестко кодировать IP-адреса в политике, поскольку они могут изменяться динамически.
Итак, как я могу повлиять на исходящую маршрутизацию?
Насколько я понимаю, вы хотите, чтобы трафик, поступающий от ProviderA, возвращался в ProviderA, а трафик, который поступал от ProviderB, возвращался в ProviderB.
Я не совсем понимаю, «Я не хочу жестко кодировать IP-адреса», поскольку / 24 не будет динамическим. Поэтому я бы сделал карту маршрутов на основе исходного адреса. Это не на 100% хорошо, потому что вы, возможно, получили трафик на IP-адресах ProviderA от ссылки ProviderB даже с добавлением AS, и вы отправите обратно трафик ProviderA вместо ProviderB, но большую часть времени это будет нормально.
access-list 101 permit ip PROVIDER_A_SUBNET 0.0.0.255 any
access-list 102 permit ip PROVIDER_B_SUBNET 0.0.0.255 any
route-map SOURCE_ROUTING permit 10
match ip address 101
set ip next-hop PROVIDER_A_ROUTER
route-map SOURCE_ROUTING permit 20
match ip address 102
set ip next-hop PROVIDER_B_ROUTER
Затем примените policy route-map SOURCE_ROUTING
на интерфейсе, получающем данные, которые нужно выйти.
Путь исходящего трафика между отдельными непосредственными узлами чаще всего управляется с помощью местное предпочтение атрибут и может выборочно применяться к полученным маршрутам с помощью соседа, ASN или префикса.
Однако, если вы получаете только маршрут по умолчанию от каждого провайдера, ваши возможности будут очень ограничены. Есть ли причина, по которой вы не работаете по умолчанию, например, емкость маршрутизатора?
Радиус, похоже, получил то, что вы хотели бы работать. Другой вариант - Cisco Маршрутизация производительности (PfR). PfR - гораздо более сложное решение, но позволяет вам выбирать, какого провайдера использовать, на основе показателей Cisco. IP SLA а может и другие факторы. На что обратить внимание в будущем, если карты маршрутов и другие стандартные элементы управления BGP будут недостаточными.
Лучшим способом сделать это будет просто балансировка нагрузки исходящего трафика. Хотя вы можете сделать то, что предлагается, и установить следующий переход, специфичный для поставщика, если одна из ссылок выходит из строя, исходящий трафик для этого поставщика умирает, поскольку следующий переход жестко установлен.
Итак, что вы должны сделать, это пометить локальные настройки для обоих поставщиков одинаково.
router bgp xxxx
neighbor <provider A peer IP> route-map DEFAULT-ROUTE-ONLY in
neighbor <provider B peer IP> route-map DEFAULT-ROUTE-ONLY in
! just an example
ip prefix-list DEFAULT-ONLY seq 10 permit 0.0.0.0/0
! match only the default route, don't allow anything else
route-map DEFAULT-ROUTE-ONLY
match ip address prefix-list DEFAULT-ONLY
set local-preference 150
! this sets the local pref for the default routes the same and load balances outbound
Не так уж важно, чтобы исходящий трафик от провайдера A выходил из канала провайдера B, поскольку у интернет-трафика нет проблем с множественными путями. Кроме того, вы получаете преимущество автоматического переключения при отказе.