URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID6
Нить номер: 15050
[ Назад ]

Исходное сообщение
"Как проNAT-ить через 2-х провайдеров"

Отправлено RPaha , 11-Дек-07 17:51 
Народ, есть 2 провайдера. Есть роутер cisco 2811 на который они заведены.
Настроил NAT через одного из провайдеров.
Надо чтобы при падении этого провайдера NAT переключался на другого. Проблема в том что не могу один и тот же access-list использовать в 2-х правилах NAT

ip nat inside source list 133 interface FastEthernet0/1.1 overload
ip nat inside source list 133 interface FastEthernet0/1.2 overload - не хочет присваивать, говорить что динамический нат уже используется

А если я создаю access-list с другим номером, но аналогичный по содержанию, и накладываю его на FastEthernet0/1.2 то траффик никогда не попадает в этот access-list, так как 133 стоит первее. и соответственно ничего не натится.

Как быть??
Вот конфа:

interface FastEthernet0/0
description "LAN DIY SPb"
ip address 172.16.0.2 255.255.0.0
ip accounting precedence input
ip accounting precedence output
ip nat inside
ip virtual-reassembly
duplex auto
speed auto
!
interface FastEthernet0/1
description "Trunk INTERFACE"
no ip address
ip nat outside
ip virtual-reassembly
duplex auto
speed auto
!
interface FastEthernet0/1.1
description Interface Dlja Vneshnego Ineta GOLDEN
encapsulation dot1Q 2
ip address 213.33.XXX.XXX 255.255.255.248
ip nat outside
ip virtual-reassembly
crypto map nolan
!
interface FastEthernet0/1.2
description INET On Transport PETERSTAR
encapsulation dot1Q 3
ip address 84.204.XXX.XXX 255.255.255.248
ip nat outside
ip virtual-reassembly
!
ip route 0.0.0.0 0.0.0.0 213.33.253.193
!
!
ip nat inside source list 133 interface FastEthernet0/1.1 overload
!
access-list 133 permit tcp host 172.16.0.18 any eq www
access-list 133 permit tcp host 172.16.0.18 any eq 443
access-list 133 permit tcp host 172.16.0.18 any eq 1863
access-list 133 permit tcp host 172.16.0.18 any eq 5122
access-list 133 permit tcp host 172.16.0.18 any eq 5190
access-list 133 permit tcp host 172.16.0.18 any eq smtp
access-list 133 permit tcp host 172.16.0.18 any eq domain
access-list 133 permit udp host 172.16.0.18 any eq domain
access-list 133 permit udp host 172.16.0.18 any eq ntp
access-list 133 permit icmp host 172.16.0.18 any
access-list 133 permit tcp host 172.16.0.18 any eq 22
access-list 133 permit tcp host 172.16.1.55 any eq 3389
access-list 133 permit udp host 172.16.0.19 any eq 1194


Содержание

Сообщения в этом обсуждении
"Как проNAT-ить через 2-х провайдеров"
Отправлено zavrik , 12-Дек-07 06:50 
Попробуй используя route-map (http://www.cisco.com/warp/public/105/nat_routemap.html)
Честно говоря, у меня похожий трабл, с той разницей что мне нужно чтобы оба НАТа и оба провайдера работали одновременно... но разрешить пока не могу. Использую рут мапы, все как в примере приведенном и ему подобным, но работает только или один НАТ или второй, оба никак...

"Как проNAT-ить через 2-х провайдеров"
Отправлено RPaha , 12-Дек-07 08:55 
Я уже и роут-мап юзал. Тоже либо одно либо другое работает

"Как проNAT-ить через 2-х провайдеров"
Отправлено andrew_l , 12-Дек-07 11:30 
Например вот так работает:

interface FastEthernet0/0.3
description == Internet ==
encapsulation dot1Q 13
ip address 192.168.111.1 255.255.255.240
no ip proxy-arp
ip nat outside
ip virtual-reassembly
no cdp enable

interface FastEthernet0/1.1
desc Внутренний интерфейс
encapsulation dot1Q 15
ip address 10.1.0.1 255.255.255.240
ip nat inside
ip virtual-reassembly
ip policy route-map fromINtoOut

route-map fromINtoOut deny 10
! Внутренние никуда не заворачиваем, само разберется
match ip address Ins2inside
!
route-map fromINtoOut permit 20
! Адрес провайдера1 идут к нему
match ip address Ins2Prov1
set ip next-hop 192.168.111.2
!
route-map fromINtoOut permit 30
! Адрес провайдера2 идут к нему
match ip address Ins2Prov2
set ip next-hop 192.168.111.3

Все, что не попало под route-map идет по маршрутизации.
Может быть какая-нить засада с NAT конечно, ну тогда делать loopback и через него NATить.

У нас слегка другая схема - после маршрутера стоят еще две железки в разные стороны, но особой разницы в работе быть не должно.


"Как проNAT-ить через 2-х провайдеров"
Отправлено RPaha , 12-Дек-07 12:56 
А можете показать
Ins2inside хотя с этим все ясно
Ins2Prov1
Ins2Prov2

А как вы определяете к какому провайдеру обратяться клиенты??
Ну и опять же, насколько я понимаю вы разделяете траффик на основании РАЗНЫХ акцесс-листов, а у меня надо применить ОДИН акцесс-лист на несколько интерфейсов.


"Как проNAT-ить через 2-х провайдеров"
Отправлено andrew_l , 12-Дек-07 13:03 
Так как Вы написали - не будет.

cisco хочет получить однозначное соответствие ACL и во что будет транслироваться.


"Как проNAT-ить через 2-х провайдеров"
Отправлено andrew_l , 12-Дек-07 13:10 
>Так как Вы написали - не будет.
>
>cisco хочет получить однозначное соответствие ACL и во что будет транслироваться.

Я вот что подумал, а зачем Вы вообще чего-то упражняете со списками?
Расставьте inside/outside и рулите маршрутами или route-map. Будет трансляция в адрес интерфейса.

Если нужны ACL, то вешайте на внутренний интерфейс и пускайте/не пускайте как вам надо.


"Как проNAT-ить через 2-х провайдеров"
Отправлено RPaha , 12-Дек-07 14:30 
>[оверквотинг удален]
>>
>>cisco хочет получить однозначное соответствие ACL и во что будет транслироваться.
>
>Я вот что подумал, а зачем Вы вообще чего-то упражняете со списками?
>
>Расставьте inside/outside и рулите маршрутами или route-map. Будет трансляция в адрес интерфейса.
>
>
>Если нужны ACL, то вешайте на внутренний интерфейс и пускайте/не пускайте как
>вам надо.

Делал  и так тоже. Вот пример
ip nat pool Golden 213.33.253.х 213.33.253.х prefix-length 29
ip nat pool Peterstar 84.204.250.х 84.204.250.х prefix-length 29

ip nat inside source list For-NAT-INET pool Golden overload
ip nat inside source list For-NAT-INET pool Peterstar overload - не получается


Если я Вас не правильно понял, то киньте плиз кусочек конфы


"Как проNAT-ить через 2-х провайдеров"
Отправлено andrew_l , 12-Дек-07 16:26 
>Если я Вас не правильно понял, то киньте плиз кусочек конфы

Да нет, это я в конце рабочего дня глупость написал :)

У Вас только 2,5 варианта:

1. сделать ДВА одинаковых списка и поддерживать их
2. получить блок PI-адресов и договориться с обоими провайдерами, что они их будут пропускать, тогда можно сделать НАТ в них и отдавать уже этими адресами

2,5. Поставить на одном из каналов дополнительную железку, которая будет заниматься НАТ в тот канал и гнать на нее внутренние адреса.


"Как проNAT-ить через 2-х провайдеров"
Отправлено RPaha , 13-Дек-07 12:09 
>[оверквотинг удален]
>
>У Вас только 2,5 варианта:
>
>1. сделать ДВА одинаковых списка и поддерживать их
>2. получить блок PI-адресов и договориться с обоими провайдерами, что они их
>будут пропускать, тогда можно сделать НАТ в них и отдавать уже
>этими адресами
>
>2,5. Поставить на одном из каналов дополнительную железку, которая будет заниматься НАТ
>в тот канал и гнать на нее внутренние адреса.

Я же писал про ДВА одинаковых списка - не получается у меня при падении канала заставить срабатывать второй список - потому что первый уже сработал. Вот. Если бы можно было бы как нить изменить порядок перебора, то другое дело....

В общем нашел статью - http://cisco.far.ru/2ispcfg.shtml
но никак не пойму как поменять конфиг под себя.

Вроде делаю все правильно но НАТ не работает все равно. НО!! При удалении строк:

ip nat inside source route-map Peterstar-NAT pool Peterstar-pool overload

пишет что нат используется.
Ничего не понимаю!!!
Помогите!


"Как проNAT-ить через 2-х провайдеров"
Отправлено w01f , 13-Дек-07 15:00 
>Я же писал про ДВА одинаковых списка - не получается у меня

рисую идею, потому что данных мало. создаем по интерфейсу на каждого провайдера

interface FastEthernet4.1
  desc ISP1
  encapsulation dot1Q 101
  ip addr 111.111.111.111 255.255.255.252
  ip nat outside
  ip nat enable
!
interface FastEthernet4.2
  desc ISP2
  encapsulation dot1Q 102
  ip addr 222.222.222.222 255.255.255.252
  ip nat outside
  ip nat enable

дальше пишем правила НАТ

ip nat inside source route-map ISP1-NAT interface FastEthernet4.1 overload
ip nat inside source route-map ISP2-NAT interface FastEthernet4.2 overload
!
route-map ISP1-NAT permit 10
match ip address 100
match ip next-hop 5
!
route-map ISP2-NAT permit 10
match ip address 100
match ip next-hop 6

акцесс листы оформляем

access-list 5 remark NAT ISP1 (nex-hop)
access-list 5 permit 111.111.111.112
access-list 6 remark NAT ISP2 (nex-hop)
access-list 6 permit 222.222.222.223
access-list 100 remark SNAT
access-list 100 deny   ip any 1.0.0.0 0.255.255.255
access-list 100 deny   ip any 10.0.0.0 0.255.255.255
access-list 100 deny   ip any 172.16.0.0 0.15.255.255
access-list 100 deny   ip 192.168.0.0 0.0.255.255 192.168.0.0 0.0.255.255
access-list 100 permit ip host 192.168.2.1 any
access-list 100 permit ip 192.168.3.0 0.0.0.255 any
access-list 100 permit ip host 192.168.0.2 any
access-list 100 permit ip host 192.168.1.1 any
ну и так далее.. Ж-)

идея ясна?


"Как проNAT-ить через 2-х провайдеров"
Отправлено RPaha , 13-Дек-07 15:31 
>[оверквотинг удален]
>access-list 100 deny   ip any 10.0.0.0 0.255.255.255
>access-list 100 deny   ip any 172.16.0.0 0.15.255.255
>access-list 100 deny   ip 192.168.0.0 0.0.255.255 192.168.0.0 0.0.255.255
>access-list 100 permit ip host 192.168.2.1 any
>access-list 100 permit ip 192.168.3.0 0.0.0.255 any
>access-list 100 permit ip host 192.168.0.2 any
>access-list 100 permit ip host 192.168.1.1 any
>ну и так далее.. Ж-)
>
>идея ясна?

Да, все кристально ясно. Тока будет ли это работать??
Буду пробовать...
Спасибо огромное!


"Как проNAT-ить через 2-х провайдеров"
Отправлено RPaha , 13-Дек-07 15:36 
Да, и еще - надо ли роут-мапы прикладывать на интерфейсы?? На какие??

"Как проNAT-ить через 2-х провайдеров"
Отправлено w01f , 13-Дек-07 18:52 
>Да, и еще - надо ли роут-мапы прикладывать на интерфейсы?? На какие??

нет, не надо. нужно прописать правила контроля доступности сервиса, например:

ip sla 10
icmp-echo 111.111.111.112 source-interface FastEthernet4.1
timeout 1000
frequency 1
ip sla schedule 10 life forever start-time now
!
ip sla 20
icmp-echo 222.222.222.223 source-interface FastEthernet4.2
timeout 1000
frequency 1
ip sla schedule 20 life forever start-time now

определяем треки

track 10 rtr 10 reachability
!
track 20 rtr 20 reachability

и прописываем обычный роутинг в зависимости от доступности трека

ip route 0.0.0.0 0.0.0.0 111.111.111.112 10 track 10
ip route 0.0.0.0 0.0.0.0 222.222.222.223 20 track 20

выставляем стоимость маршрута из необходимости (меньше - для основного, больше - для резервного, равным - для балансировки и т.п.).
и не забываем, что если в sla прописали проверку доступности не ближайшего шлюза, а например неймсервера прова, то дополнительно нужно прописать _жестко_ роутинг на него, типа:

ip route <ip_ns_ISP1> 255.255.255.255 111.111.111.112

вроде ни чего не забыл.. всё. :-)