Задача: Опубликовать 2 сервера, 1 сервер использует основной канал, 2 сервер использует резервный канал.
Решение: Воспользуемся для решения данной задачи функционалом PBR.
Первичная конфигурация роутера:
interface gigabitethernet 1/0/1 - интерфейс в сторону провайдера 1
ip firewall disable
ip address 10.0.0.1/24
exit
interface gigabitethernet 1/0/2 - интерфейс в сторону провайдера 2
ip firewall disable
ip address 10.0.1.1/24
exit
interface gigabitethernet 1/0/3 - интерфейс в сторону серверов
ip firewall disable
ip address 172.16.1.100/24
exit
ip route 0.0.0.0/0 10.0.0.2 - маршрут для работы через основного провайдера 1
ip route 0.0.0.0/0 10.0.1.2 10 - маршрут для резервной работы через провайдера 2, не работает пока активен маршрут через провайдера 1
Начнем с настройки DNAT. Выглядеть она будет следующим образом:
object-group service http
port-range 80
exit
object-group network pub1
ip address-range 10.0.0.1
exit
object-group network pub2
ip address-range 10.0.1.1
exit
nat destination
pool serv1
ip address 172.16.1.1
exit
pool serv2
ip address 172.16.1.2
exit
ruleset serv1
from interface gigabitethernet 1/0/1
rule 1
match protocol tcp
match destination-address pub1
match destination-port http
action destination-nat pool serv1
enable
exit
exit
ruleset serv2
from interface gigabitethernet 1/0/2
rule 1
match protocol tcp
match destination-address pub2
match destination-port http
action destination-nat pool serv2
enable
exit
exit
exit
Таким образом пакеты приходящие на разные "белые" IP провайдеров NAT будет пробрасывать на соответствующие сервера. Однако в обратную сторону пакеты будут выходить только по одному маршруту (через основного провайдера), так как маршрут через второго провайдера будет активен, только при падении первого. Для того что бы выйти из сложившейся ситуации настроим Route-map на основе списков доступа (Policy-based routing).
ip access-list extended serv1 - access-list для первого сервера
rule 1
action permit
match source-address 172.16.1.1 255.255.255.255
enable
exit
exit
ip access-list extended serv2 - access-list для второго сервера
rule 1
action permit
match source-address 172.16.1.2 255.255.255.255
enable
exit
exit
route-map PBR
rule 1
match ip access-group serv1
action set ip next-hop verify-availability 10.0.0.2 1 - шлюз для провайдера 1
exit
rule 2
match ip access-group serv2
action set ip next-hop verify-availability 10.0.1.2 1 - шлюз для провайдера 2
exit
exit
Далее просто назначаем route-map на внутренний интерфейс, к которому подключены сервера:
interface gigabitethernet 1/0/3
ip firewall disable
ip address 172.16.1.100/24
ip policy route-map PBR
exit
Если есть задача опубликовать один сервер через двух провайдеров, то данная конфигурация также подойдет. При этом сервер должен иметь 2 внутренних IP адреса.