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

Исходное сообщение
"IP SLA + NAT"

Отправлено евгений , 08-Окт-09 04:45 
Здравствуйте.

Задача вывести в инет локалку через 4 провайдера (PPPoE, PPTP и 2 fixed IP). Все провайдеры дают реальные IP адреса. Cisco 3725 и IOS 12.4(23) advipservices. HTTP трафик пускаем по всем 4-ём каналам, остальной по 1-му (в данном случае плохой пров).

Всё работает. Всё nat'ится и резервируется. Проблема с ошибками при загрузке страниц. В частности некоторые сайты отказываются грузиться если выходишь не с одного IP. Как её решить?

Куски конфига:

ip sla monitor 1
type echo protocol ipIcmpEcho 1.1.1.1 source-interface Dialer1
frequency 5
ip sla monitor schedule 1 life forever start-time now
ip sla monitor 2
type echo protocol ipIcmpEcho 2.2.2.2 source-interface Dialer0
frequency 5
ip sla monitor schedule 2 life forever start-time now
ip sla monitor 3
type echo protocol ipIcmpEcho 3.3.3.3 source-interface FastEthernet0/0.7
frequency 5
ip sla monitor schedule 3 life forever start-time now
ip sla monitor 4
type echo protocol ipIcmpEcho 4.4.4.4 source-interface FastEthernet0/0.8
frequency 5
ip sla monitor schedule 4 life forever start-time now

track 1 rtr 1 reachability
!
track 2 rtr 2 reachability
!
track 3 rtr 3 reachability
!
track 4 rtr 4 reachability

ip route 0.0.0.0 0.0.0.0 Dialer1 track 1
ip route 0.0.0.0 0.0.0.0 Dialer0 track 2
ip route 0.0.0.0 0.0.0.0 3.3.3.4 track 3
ip route 0.0.0.0 0.0.0.0 4.4.4.5 track 4

ip nat inside source route-map VIA_ISP1 interface Dialer0 overload
ip nat inside source route-map VIA_ISP2 interface FastEthernet0/0.8 overload
ip nat inside source route-map VIA_ISP3 interface FastEthernet0/0.7 overload
ip nat inside source route-map VIA_ISP4 interface Dialer1 overload


route-map POLICY permit 10
match ip address PERMIT_WWW
!
route-map POLICY permit 20
set default interface Dialer0
Висит на интерфейсе где ip nat inside


route-map VIA_ISP2 permit 10
match ip address PERMIT_ALL
match interface FastEthernet0/0.8
!
route-map VIA_ISP1 permit 10
match ip address PERMIT_ALL
match interface Dialer0
!
route-map VIA_ISP3 permit 10
match ip address PERMIT_ALL
match interface FastEthernet0/0.7
!
route-map VIA_ISP4 permit 10
match ip address PERMIT_ALL
match interface Dialer1


Содержание

Сообщения в этом обсуждении
"IMHO"
Отправлено j_vw , 10-Окт-09 01:22 
Ну, sla, вообще не при делах
sh ip route 0.0.0.0 ?
Не вижу локальной политики (чтоб пакет возвращался через интерфейс, с какого послан)

ip local policy route-map 123


route-map 123 permit 10
description ROUTE BACK ISP-I
match ip address route_back
set ip next-hop ISP-I GATE

route-map 123 permit 20
description ROUTE BACK ISP-II
match ip address route_back1
set ip next-hop ISP-I GATE

Standard IP access list route_back
    10 permit IP_OF_INT_TO_ISP-I

Standard IP access list route_back1
    10 permit IP_OF_INT_TO_ISP-II

И...т.д.
Что то, типа того....


"Sorry...."
Отправлено j_vw , 10-Окт-09 01:26 

>
>route-map 123 permit 20
> description ROUTE BACK ISP-II
> match ip address route_back1

set ip next-hop ISP-II GATE


"IMHO"
Отправлено евгений , 10-Окт-09 11:36 
>[оверквотинг удален]
> set ip next-hop ISP-I GATE
>
>Standard IP access list route_back
>    10 permit IP_OF_INT_TO_ISP-I
>
>Standard IP access list route_back1
>    10 permit IP_OF_INT_TO_ISP-II
>
>И...т.д.
>Что то, типа того....

sh ip route 0.0.0.0
покажет 4 маршрута
S* 0.0.0.0/0 via GW_ISP1
             via GW_ISP2
             Dialer 0
             Dialer 1

На самом деле пакет вернётся через того прова на который был отправлен... Иначе быть не может. Смысл писать local policy?

ЗЫ щас курю OER... мозг пухнет... Тестовый запуск - core dump иоса... Странно...


"IMHO"
Отправлено j_vw , 10-Окт-09 13:47 

>
>На самом деле пакет вернётся через того прова на который был отправлен...
>Иначе быть не может. Смысл писать local policy?

Ну, в общем, да...Чего то перемудрил...

"В частности некоторые сайты отказываются грузиться если выходишь не с одного IP"
А это как выглядит?
А cef не может подглючивать? Понятно, что должен разводить per destination, но, все таки...
Dump неудачных попыток не удалось снять?
Кстати, а если, вообще убрать route-map? Вроде и так должно работать (через тот же cef)

>
>ЗЫ щас курю OER... мозг пухнет... Тестовый запуск - core dump иоса...
>Странно...


"IMHO"
Отправлено евгений , 11-Окт-09 00:07 
>[оверквотинг удален]
>А это как выглядит?
>А cef не может подглючивать? Понятно, что должен разводить per destination, но,
>все таки...
>Dump неудачных попыток не удалось снять?
>Кстати, а если, вообще убрать route-map? Вроде и так должно работать (через
>тот же cef)
>
>>
>>ЗЫ щас курю OER... мозг пухнет... Тестовый запуск - core dump иоса...
>>Странно...

Роутмапы писал для того чтобы валить http трафик по всем провам, а весь остальной по одному. Такое чувство, что иос глючный... (маловероятно, но он же без букв в конце). Попробую найти новый иос другой ревизии. Отпишу.

Всё же oer кажется более интеллектуальным путём. Он как никак может мониторить загрузку потери задержку. Вот только разберусь как его настроить... Если вывезет, то напишу статью.

ЗЫ я так понял IP SLA всё же лучше использовать в резервировании, а не в балансировке.


"IMHO"
Отправлено j_vw , 12-Окт-09 20:24 

>ЗЫ я так понял IP SLA всё же лучше использовать в резервировании,
>а не в балансировке.

Да и тут полезно, чтобы мониторить "живость" провайдеров.
Причем, лучше мониторить не гейт, а что-то "подальше"....
А то дефолтный маршрут на мертвого прова будет оставаться в таблице, со всеми вытекающими...

Но вот к проблеме "выхода с разных IP" это отношения не имеет.



"IP SLA + NAT"
Отправлено notme , 11-Окт-09 22:37 
>Здравствуйте.
>
>Задача вывести в инет локалку через 4 провайдера

Для решения подобных задач регистрируют собственную AS
и получают PI адресный блок( http://en.wikipedia.org/wiki/Provider_Independent_Address_Space ) через ближайшего LIR коим как правило является ISP.


"IP SLA + NAT"
Отправлено евгений , 12-Окт-09 07:20 
>>Здравствуйте.
>>
>>Задача вывести в инет локалку через 4 провайдера
>
>Для решения подобных задач регистрируют собственную AS
>и получают PI адресный блок( http://en.wikipedia.org/wiki/Provider_Independent_Address_Space ) через ближайшего LIR коим как
>правило является ISP.

Ух ты блин, а я и не знал... =) Если бы я договорился с провами об анонсах уже бы сделал год назад наверное... Тем более входящий трафик балансировать мне не надо... Смысла особого в BGP в моём решении нет. Надо чтобы раскидывался трафик по рабочим каналам согласно политике. Всё.


"IP SLA + NAT"
Отправлено notme , 12-Окт-09 09:00 
>Ух ты блин, а я и не знал... =) Если бы я
>договорился с провами об анонсах уже бы сделал год назад наверное...
>Тем более входящий трафик балансировать мне не надо... Смысла особого в
>BGP в моём решении нет. Надо чтобы раскидывался трафик по рабочим
>каналам согласно политике. Всё.

Ничего личного, я предложил оптимальное, с моей точки зрения, решение проблемы. Если ситуация с организацией BGP взаимодействия трудноразрешима возможно стоит попробовать использование вместо(можно попробовать совместно) маршрутов по умолчанию несколько статических маршрутов с "широкой" маской раскидав их на разные направления с разной метрикой, т.о. можно снизить вероятность возникновения проблемы обращения к адресам из одного блока через разных ISP(на сколько я понимаю проблема именно в этом), можно использовать такой приём только для "проблемных" направлений. О механизмах позволяющих выполнять такие действия автоматически мне ничего не известно :(


"IP SLA + NAT"
Отправлено евгений , 12-Окт-09 16:00 
>[оверквотинг удален]
>>каналам согласно политике. Всё.
>
>Ничего личного, я предложил оптимальное, с моей точки зрения, решение проблемы. Если
>ситуация с организацией BGP взаимодействия трудноразрешима возможно стоит попробовать использование вместо(можно
>попробовать совместно) маршрутов по умолчанию несколько статических маршрутов с "широкой" маской
>раскидав их на разные направления с разной метрикой, т.о. можно снизить
>вероятность возникновения проблемы обращения к адресам из одного блока через разных
>ISP(на сколько я понимаю проблема именно в этом), можно использовать такой
>приём только для "проблемных" направлений. О механизмах позволяющих выполнять такие действия
>автоматически мне ничего не известно :(

То есть фактически предлагаете роутить, например, сеть 35.0.0.0 с маской 192.0.0.0? Я Вас правильно понял?


"IP SLA + NAT"
Отправлено notme , 12-Окт-09 17:28 
>То есть фактически предлагаете роутить, например, сеть 35.0.0.0 с маской 192.0.0.0? Я
>Вас правильно понял?

что то вроде этого:
ip route 0.0.0.0 224.0.0.0 <ip gw-isp1> 1 track 1
ip route 0.0.0.0 224.0.0.0 <ip gw-isp2> 2 track 2
ip route 0.0.0.0 224.0.0.0 <ip gw-isp3> 3 track 3
ip route 0.0.0.0 224.0.0.0 <ip gw-isp4> 4 track 4
ip route 32.0.0.0 224.0.0.0 <ip gw-isp1> 4 track 1
ip route 32.0.0.0 224.0.0.0 <ip gw-isp2> 1 track 2
ip route 32.0.0.0 224.0.0.0 <ip gw-isp3> 2 track 3
ip route 32.0.0.0 224.0.0.0 <ip gw-isp4> 3 track 4
ip route 64.0.0.0 224.0.0.0 <ip gw-isp1> 3 track 1
ip route 64.0.0.0 224.0.0.0 <ip gw-isp2> 4 track 2
ip route 64.0.0.0 224.0.0.0 <ip gw-isp3> 1 track 3
ip route 64.0.0.0 224.0.0.0 <ip gw-isp4> 2 track 4
.
.
.
Думаю схема должна заработать, абсолютно всех проблем она не решит, однако другого выхода лично я не вижу :-/ маску можно варьировать подбирая оптимальное сочетание, раскидать траф через разных ISP не должно составить труда.


"IP SLA + NAT"
Отправлено евгений , 12-Окт-09 17:41 
>[оверквотинг удален]
>ip route 64.0.0.0 224.0.0.0 <ip gw-isp1> 3 track 1
>ip route 64.0.0.0 224.0.0.0 <ip gw-isp2> 4 track 2
>ip route 64.0.0.0 224.0.0.0 <ip gw-isp3> 1 track 3
>ip route 64.0.0.0 224.0.0.0 <ip gw-isp4> 2 track 4
>.
>.
>.
>Думаю схема должна заработать, абсолютно всех проблем она не решит, однако другого
>выхода лично я не вижу :-/ маску можно варьировать подбирая оптимальное
>сочетание, раскидать траф через разных ISP не должно составить труда.

Да, интересное решение.



"IP SLA + NAT"
Отправлено евгений , 14-Окт-09 18:44 
>[оверквотинг удален]
>ip route 64.0.0.0 224.0.0.0 <ip gw-isp1> 3 track 1
>ip route 64.0.0.0 224.0.0.0 <ip gw-isp2> 4 track 2
>ip route 64.0.0.0 224.0.0.0 <ip gw-isp3> 1 track 3
>ip route 64.0.0.0 224.0.0.0 <ip gw-isp4> 2 track 4
>.
>.
>.
>Думаю схема должна заработать, абсолютно всех проблем она не решит, однако другого
>выхода лично я не вижу :-/ маску можно варьировать подбирая оптимальное
>сочетание, раскидать траф через разных ISP не должно составить труда.

Похоже запустил OER. Делает примерно тоже самое, что Вы написали. Добавляет в таблицу маршрутизации сети /24 (в настройках по умолчанию) через определённого прова.
Буду тестировать на резервирование и балансировку.