Подскажите, а то никак не могу понять: настроил схему с переключение хостов с канала на канал при падении одного из двух каналов, подключенных к Cisco, и схема работает. Но! - при такой схеме даже хосты, которым напрямую запрещен доступ в инет, в него успешно ходят. Что делать - не пойму :(
Имеется Cisco 2811, на которой крутится C2800NM-ADVIPSERVICESK9-M, Version 12.4(15)T1.
Имеем 2 провайдера, ISP1 подключается по радио, при этом его радиомодем работает в режиме маршрутизатора, и отдает в Cisco канал по интерфейсу Ethernet, и ISP2 отдает канал в виде по ADSL-линии (в маршрутизаторе имеется модуль ADSL-порта, к которому линия и подключена) с авторизацией по PPPoE.В сумме имеем расклад интерфейсов такой:
Fa0/0 - LAN (192.168.1.1 - Cisco, сетка 192.168.1.0/24)
Fa0/1 - ISP1 (от него имеем сетку вида 11.xx.xx.208/28, при этом 11.xx.xx.209 - это смотрящая на нас сторона радиомодема, 11.xx.xx.210 - интерфейс на Cisco)
ATM0/0/0 (Di1) - ISP2 (PPPoE, адрес у нас статической, 22.xx.130.57, точка на стороне провайдера - 22.xx.128.0)Есть большое желание дать нескольким хостам в локальной сети доступ "в мир", притом часть из них (пусть они описываются ACL #191) хорошо бы работать через ISP1, другой части (ACL #190) - через ISP2. Необходимо также, чтобы при падении одного из каналов работавшие (читай - NATившиеся) через него хосты начинали работать через второй канал, и наоборот.
Делаем примерно так:
- каналы:
= LAN:
interface FastEthernet0/0
description LAN
ip address 192.168.x.y 255.255.255.0
ip helper-address 192.168.x.z
ip nat inside
ip policy route-map TRACKING
ip virtual-reassembly
no ip mroute-cache
end= ISP1
interface FastEthernet0/1
description Prostor ISP$FW_OUTSIDE$$ETH-WAN$
bandwidth 2048
ip address 77.235.193.210 255.255.255.240
no ip proxy-arp
ip virtual-reassembly
no ip mroute-cache
fair-queue
end= ISP2
interface Dialer1
description ADSL
ip address negotiated
ip mtu 1452
ip nat outside
ip virtual-reassembly
encapsulation ppp
ip policy route-map CLEAR-DF-BIT
dialer pool 1
dialer-group 1
no fair-queue
no cdp enable
ppp authentication chap callin
ppp chap hostname ***
ppp chap password 0 ***
end
Политика на LAN-интерфейсе описывается route-map-ом:route-map TRACKING permit 10
match ip address 190
set ip next-hop verify-availability 22.xx.128.0 30 track 10
set ip next-hop 11.xx.xx.209
route-map TRACKING permit 20
match ip address 191
set ip next-hop verify-availability 11.xx.xx.209 30 track 20
set ip next-hop 22.xx.128.0NAT описан так:
ip nat pool Pool210 11.xx.xx.210 11.xx.xx.210 netmask 255.255.255.240
ip nat inside source route-map traffic-via-di1 interface Dialer1 overload
ip nat inside source route-map traffic-via-fa01 pool Pool210 overloadroute-map traffic-via-fa01 permit 10
match ip address 195
match interface FastEthernet0/1
set ip next-hop 11.xx.xx.209
route-map traffic-via-di1 permit 10
match ip address 195
match interface Dialer1ACL 195 - это список, в котором перечислены все хосты в сети, которые вообще имеют право на NAT (по сути, это объединение ACL 190 и 191).
access-list 190 remark Traffic via ISP2
access-list 190 permit host 192.168.1.5 any
access-list 190 permit host 192.168.1.15 anyaccess-list 191 remark Traffic via ISP1
access-list 191 permit host 192.168.1.18 any
access-list 191 permit host 192.168.1.21 anyaccess-list 195 permit host 192.168.1.5 any
access-list 195 permit host 192.168.1.15 any
access-list 195 permit host 192.168.1.18 any
access-list 195 permit host 192.168.1.21 any- отслеживание:
ip sla 10
icmp-echo 77.88.21.11 source-interface Dialer1
timeout 2000
frequency 5
ip sla schedule 10 life forever start-time now
ip sla 20
icmp-echo 213.180.204.8 source-interface FastEthernet0/1
frequency 5
ip sla schedule 20 life forever start-time now
!
track 10 rtr 10 reachability
delay down 60 up 20
!
track 20 rtr 20 reachability
delay down 60 up 20
!
event manager applet ISP_SWITCHED_20
event track 20
action 1.0 cli command "enable"
action 2.0 cli command "clear ip nat trans forced"
event manager applet ISP_SWITCHED_10
event track 10
action 1.0 cli command "enable"
action 2.0 cli command "clear ip nat trans forced"
!- маршруты по умолчанию
ip route map 0.0.0.0 0.0.0.0 Dialer 1 track 10
ip route map 0.0.0.0 0.0.0.0 Dialer 1 250 track 20и, чтобы пинги всегда шли с указанного интерфейса,
ip local policy route-map MY-LOCAL-POLICY
route-map MY-LOCAL-POLICY permit 10
match ip address 193
set ip next-hop 11.xx.xx.209
set interface Null0
route-map MY-LOCAL-POLICY permit 20
match ip address 192
set interface Dialer1 Null0access-list 192 permit icmp host 22.xx.130.57 any
access-list 193 permit icmp host 11.xx.xx.210 any
Заранее спасибо!
>[оверквотинг удален]
>ip nat inside source route-map traffic-via-di1 interface Dialer1 overload
>ip nat inside source route-map traffic-via-fa01 pool Pool210 overload
>
>route-map traffic-via-fa01 permit 10
> match ip address 195
> match interface FastEthernet0/1
> set ip next-hop 11.xx.xx.209
>route-map traffic-via-di1 permit 10
> match ip address 195
> match interface Dialer1а зачем вам такая тут странная конструкция с роут-мэпами?
можете пояснить логику? особенно не понятны match
я бы вообще без них обошелся, есть у меня такое подозрение
я б так написал:ip nat inside source list 195 interface Dialer1 overload
ip nat inside source list 195 pool Fa0/1 overload
>ACL 195 - это список, в котором перечислены все хосты в сети,
>которые вообще имеют право на NAT (по сути, это объединение ACL
>190 и 191).а маршруты и роутмепы будут направлять пакеты в нужные интерфейсы
соответственно будут срабатывать нужные правила трансляций
>ip nat inside source list 195 interface Dialer1 overload
>ip nat inside source list 195 pool Fa0/1 overloadЯ бы рад, но Cisco не дает сделать 2 такие записи, первую добавляет, при добавлении второй говорит
%Dynamic mapping in use, cannot change
так что фокус с route-map-ами нужен. Другое дело, что, возможно, имеет смысл поиграться с match-ами и set-ами в них. Но, опять же, на первый взгляд противоречий нет.
Работает схема (по идее) так:
Пакет с перечисленного acl 190 или 191 хоста в LAN влетает в fa0/0, и к нему применяется правило политики, при котором next-hop для пакетов с хостов в acl 190 выбирается (если ISP2 жив) в виде gw ISP2, иначе это gw1 ISP1. Для хостов из acl 191 все наоборот.Теперь пакет летит "наружу", и записи
ip nat inside source route-map traffic-via-fa01 interface FastEthernet0/1 overload
route-map traffic-via-fa01 permit 10
match ip address 195
match interface FastEthernet0/1
set ip next-hop 11.xx.xx.209уточняют, что если такой пакет вообще от хоста, которому испльзование NAT разрешено, то если он летел на интерфейс fa0/1, то мы и натим его с этого интерфейса.
>[оверквотинг удален]
>route-map MY-LOCAL-POLICY permit 20
> match ip address 192
> set interface Dialer1 Null0
>
>access-list 192 permit icmp host 22.xx.130.57 any
>
>access-list 193 permit icmp host 11.xx.xx.210 any
>
>
>Заранее спасибо!если надо комуто закрыть доступ в инет обычно в acl пользуют запись deny если я не ошибаюсь в вашем случае делаете 2 route-map на каждое направление первый с приоритетом 10 отрпавляет всех кто недолжен в инет ходить в null а второй с приоритетом 20 нужных отправляет в инет или наобарот
это на вскидку решение а если подумать можно и покрасивей придумать
Перемудрил с route-map...Можно проще
route-map VIA_ISP1 permit 10
match ip address 111 (указываешь кому на any)
set ip next-hop ga.ta.w.ay
int fa*/*
тот что смотрит в LAN
и этот policy route-map прикручиваешь.
>Перемудрил с route-map...Если, конечно, нетрудно, можно уточнить, где перемудрил? Мне как раз кажется, что предложенное тобой решение и не решит поставленную задачу:
> Есть большое желание дать нескольким хостам в локальной сети доступ "в мир",
> притом часть из них (пусть они описываются ACL #191) хорошо бы работать через ISP1,
> другой части (ACL #190) - через ISP2. Необходимо также, чтобы при падении одного
> из каналов работавшие (читай - NATившиеся) через него хосты начинали работать
> через второй канал, и наоборот.
На самом деле все решилось, действительно, добавлениемroute-map TRACKING permit 30
match ip address 194
set default interface Null0а в 194 указан тот трафик, который не должен иметь никакого внешнего выхода:
access-list 194 deny ip 192.168.x.0 0.0.0.255 192.168.x.0 0.0.0.255
access-list 194 permit ip any anyСпасибо!