Пример конфигурации Cisco для маршрутизации на основе политик

10

Я нахожусь в ситуации, в которой я был не так давно, но я не могу вспомнить, как я решил это :)

Сценарий

У меня есть маршрутизатор Cisco IOS с интерфейсом LAN (fa0 / 0) и интерфейсом WAN (fa0 / 1), а также 2-й интерфейс WAN (fa0 / 2).

  • Существует два локальных подинтерфейса fa0 / 0.10 и fa0 / 0.20, скажем так.
  • Существует маршрут по умолчанию через fa0 / 1. Однако существует статический маршрут к определенной подсети, скажем, 1.2.3.4/24 через fa0 / 2 (fa0 / 2 ближе к этой подсети, но более дорогая ссылка $$$ WAN)

Все мои пользователи fa0 / 0.10 имеют доступ к 1.2.3.4/24, поэтому статический маршрут отправляет их из fa0 / 2 (WAN2). Для всех остальных пунктов назначения пользователи fa0 / 0.10 используют маршрут по умолчанию DHCP, который я получаю через интерфейс WAN1 fa0 / 1.

Определение проблемы;

Пользователи в подсети fa0 / 0.20 просто получают доступ к Интернету. Ни один пользователь в моей подсети fa0 / 0.20 не имеет доступа к удаленной подсети 1.2.3.4/24. Тем не менее, они делают это редко, и в этом случае статический маршрут отправляет их через fa0 / 2. Хотя я не хочу этого, я хочу, чтобы они получили доступ к 1.2.3.4/24 через fa0 / 1, интерфейс WAN по умолчанию. Я верю, что могу добиться этого с помощью PBR, но я не могу заставить его работать?

Это конфиг, который я пытаюсь в настоящее время;

interface FastEthernet0/0.10
 description LAN1
 encapsulation dot1Q 10
 ip address 192.168.10.1 255.255.255.0
 ip nat inside
 ip virtual-reassembly

interface FastEthernet0/0.20
 description LAN2
 encapsulation dot1Q 20
 ip address 192.168.20.1 255.255.255.0
 ip nat inside
 ip virtual-reassembly
 ip policy route-map FORCE-LAN2-VIA-WAN1

interface FastEthernet0/1
 description WAN1
 ip address dhcp
 ip nat outside
 ip virtual-reassembly

interface FastEthernet0/2
 description WAN2 - Used for 1.2.3.4/24
 ip address 5.5.5.5 255.255.255.0

! Static route to route to a remote subnet via 2nd WAN link
ip route 1.2.3.4 0.0.0.255 5.5.5.6
! A default route is received on fa0/1 (WAN1) via DHCP from ISP
! for all other traffic
!
! NAT fa0/0.10 users when accessing the Internet via WAN1
ip nat inside source route-map ROUTE-WAN1 interface FastEthernet0/1 overload
!
! NAT fa0/0.20 users out via WAN1
ip nat inside source route-map FORCE-LAN2-VIA-WAN1 interface FastEthernet0/1 overload

route-map ROUTE-WAN1 permit 10
 match interface FastEthernet0/1

route-map FORCE-LAN2-VIA-WAN1 permit 10
 match interface FastEthernet0/0.20
 set default interface FastEthernet0/1

Я пытаюсь применить политику на основе маршрутизации непосредственно к подчиненному интерфейсу fa0 / 0.20, чтобы форсировать весь трафик через WAN1, fa0 / 1. Насколько я понимаю, что, поскольку существует более конкретный маршрут, чем маршрут по умолчанию, полученный DHCP на fa0 / 1 в FIB, он переопределяет PBR, и трафик с fa0 / 0.20 до 1.2.3.4/24 по-прежнему использует WAN2, fa0 / 2. Или, по крайней мере, я считаю, что это имеет место при использовании «установить интерфейс по умолчанию ...». Если бы я использовал «set ip next-hop», например, это заставило бы PBR иметь приоритет, но WAN1, fa0 / 1, получает IP по DHCP и, таким образом, меняется :)

Как примечание стороны; На самом деле существует множество статических маршрутов через WAN2, поэтому я не хочу менять ситуацию и политику маршрутизации fa0 / 0.10 через WAN2 для определенных подсетей. Конфиг там более сложный, чем я позволил, хотя, как ни крути, изменить его невозможно. Кроме того, если есть более эффективный способ решения этой проблемы, чем PBR, у меня все на слух. Я борюсь с этим методом, потому что это лучшее решение, которое я знаю.

Обновление Добавлена ​​эффектно нарисованная топологическая диаграмма

Топология

jwbensley
источник
Какое поведение при маршрутизации вы хотите, если WAN1 или WAN2 отключаются? Вы хотите, чтобы трафик затем передавался через оставшийся интерфейс WAN, который работает, или вы будете отбрасывать трафик вместо того, чтобы переходить через дорогостоящий WAN2 в случае сбоя WAN1?
generalnetworkerror
Не могли бы вы показать нам схему сети? Картинка стоит тысячи слов :)
OzNetNerd

Ответы:

9

Я бы рекомендовал использовать карту маршрутов только для одной цели (один для nat, другой для pbr); смешанное использование может привести к беспорядку. Для NAT match interfaceбудет применяться пост-маршрутизация - удобно делать условные записи nat.

Карта маршрутов для PBR должна использовать ACL, чтобы соответствовать трафику, поступающему из LAN2, а затем установить следующий переход на желаемый интерфейс с set interfaceнет set default- или, set ip next-hop dynamic dhcpпоскольку вы не будете знать фактический адрес gw. Это обходит / переопределяет любую логику маршрутизации, которая в противном случае отправляла бы трафик в вашу дорогую глобальную сеть.

Рики Бим
источник
1
Не могли бы вы привести пример конфигурации этой установки?
Bulki
set ip next-hop dynamic dhcpбыло то, что мне было нужно, как я это пропустил? :) Тем не менее, спасибо за оперативность и за хороший совет!
jwbensley