Я нахожусь в ситуации, в которой я был не так давно, но я не могу вспомнить, как я решил это :)
Сценарий
У меня есть маршрутизатор 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, у меня все на слух. Я борюсь с этим методом, потому что это лучшее решение, которое я знаю.
Обновление Добавлена эффектно нарисованная топологическая диаграмма
источник
Ответы:
Я бы рекомендовал использовать карту маршрутов только для одной цели (один для nat, другой для pbr); смешанное использование может привести к беспорядку. Для NAT
match interface
будет применяться пост-маршрутизация - удобно делать условные записи nat.Карта маршрутов для PBR должна использовать ACL, чтобы соответствовать трафику, поступающему из LAN2, а затем установить следующий переход на желаемый интерфейс с
set interface
нетset default
- или,set ip next-hop dynamic dhcp
поскольку вы не будете знать фактический адрес gw. Это обходит / переопределяет любую логику маршрутизации, которая в противном случае отправляла бы трафик в вашу дорогую глобальную сеть.источник
set ip next-hop dynamic dhcp
было то, что мне было нужно, как я это пропустил? :) Тем не менее, спасибо за оперативность и за хороший совет!