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

Исходное сообщение
"NAT/3 ISP"

Отправлено roos , 19-Дек-05 13:10 
есть ситуация:
1.есть cisco
2. 3 итернет провайдера(2mb/1mb/1mb), на всех нужно натить под ихний адрес(нету PI)

Проблемма не могу настроить load balancing. Как можно cisco заставить равномерно распределять трафик на 3 канала?


Содержание

Сообщения в этом обсуждении
"NAT/3 ISP"
Отправлено roos , 19-Дек-05 13:19 
>есть ситуация:
>1.есть cisco
>2. 3 итернет провайдера(2mb/1mb/1mb), на всех нужно натить под ихний адрес(нету PI)
>
>
>Проблемма не могу настроить load balancing. Как можно cisco заставить равномерно распределять
>трафик на 3 канала?
Уже не первый день парюсь

"NAT/3 ISP"
Отправлено toor99 , 19-Дек-05 13:42 
>есть ситуация:
>1.есть cisco
>2. 3 итернет провайдера(2mb/1mb/1mb), на всех нужно натить под ихний адрес(нету PI)
>
>
>Проблемма не могу настроить load balancing. Как можно cisco заставить равномерно распределять
>трафик на 3 канала?

Как-то так
http://cisco.far.ru/2isp.html
В случае, когда провайдеры разные, хорошего решения с балансировкой не будет, увы.


"NAT/3 ISP"
Отправлено roos , 19-Дек-05 14:15 
Читал это, но не хочется использовать вариант когда часть внутренних юзеров на одного прова а других на другого. Нужно чтоб даже с одного клиета можно было заюзать всю сумарную полосу пропускания или почти всю :). К примеру я захочу завернуть всех на свой прокси, в етом случае все будет валить от одного хоста. Там както можно с помощю CEF кучу док перерыл, пробовал вроде балансирует но NAT почемуто натит на один адрес и соответственно возврат идет через того прова под которого нат сработал, необходим правильный NAT под кажого провайдера+ per destination CEF,я так думаю. Помогите ведь это достаточно типичная ситуация, мне кажется.  
>>есть ситуация:
>>1.есть cisco
>>2. 3 итернет провайдера(2mb/1mb/1mb), на всех нужно натить под ихний адрес(нету PI)
>>
>>
>>Проблемма не могу настроить load balancing. Как можно cisco заставить равномерно распределять
>>трафик на 3 канала?
>
>Как-то так
>http://cisco.far.ru/2isp.html
>В случае, когда провайдеры разные, хорошего решения с балансировкой не будет, увы.
>



"NAT/3 ISP"
Отправлено toor99 , 19-Дек-05 14:31 
>Читал это, но не хочется использовать вариант когда часть внутренних юзеров на
>одного прова а других на другого. Нужно чтоб даже с одного
>клиета можно было заюзать всю сумарную полосу пропускания или почти всю
>:). К примеру я захочу завернуть всех на свой прокси, в
>етом случае все будет валить от одного хоста. Там както можно
>с помощю CEF кучу док перерыл, пробовал вроде балансирует но NAT
>почемуто натит на один адрес и соответственно возврат идет через того
>прова под которого нат сработал, необходим правильный NAT под кажого провайдера+
>per destination CEF,я так думаю. Помогите ведь это достаточно типичная ситуация,
>мне кажется.

Всё правильно, балансировка per-destination единственное решение в случае, когда провайдеры разные. Но необходимости NATа всё сильно усложняет. Ситуация абсолютно типичная, потому я и говорю - хорошего решения тут нет.


"NAT/3 ISP"
Отправлено Helper , 19-Дек-05 16:26 
1. надо сделать обычный pbr, повесив его на внутренний интерфейс - для распределения направления (если хочется по destination балансировать)

:-( Wildcard знаю плохо, мог ACL написать неправильно - проправьте, если что не так.

например:
!
route-map PBR_DEST permit 10
match ip address 101
set ip next-hop <ip_provider_1>
!
route-map PBR_DEST permit 20
match ip address 102
set ip next-hop <ip_provider_2>
!
route-map PBR_DEST permit 30
match ip address 103
set ip next-hop <ip_provider_3>
!

! направление 1 с младшими битами в ip-address = 01
access-list 101 permit ip any 0.0.0.1 255.255.255.252
! направление 2 с младшими битами в ip-address = 10
access-list 102 permit ip any 0.0.0.2 255.255.255.252
! направление 3 (для провайдера с 2Mbit каналом)
! с младшими битами в ip-address = 11
access-list 103 permit ip any 0.0.0.3 255.255.255.252
! направление 4 (для провайдера с 2Mbit каналом)
! с младшими битами в ip-address = 00
access-list 103 permit ip any 0.0.0.0 255.255.255.252


2. написать route-map'ы для NAT, в каждый роут-мап можно добавить условий по src-адресам.
!
route-map NAT_PROV_1 permit 10
match ip next-hop <ip_provider_1>
!
route-map NAT_PROV_2 permit 10
match ip next-hop <ip_provider_2>
!
route-map NAT_PROV_3 permit 10
match ip next-hop <ip_provider_3>
!

3. правила для NAT, можно микшировать исходящие нат-пулы с interface-overload
ip nat inside source route-map NAT_PROV_1 pool <nat_pool_prov_1>
ip nat inside source route-map NAT_PROV_2 interface ATM 2/2/1.12 overload
ip nat inside source route-map NAT_PROV_1 interface TokenRing 5/1/0 overload


"NAT/3 ISP"
Отправлено nightlight , 19-Дек-05 17:03 
надо указать четыре маршрута с одинаковой метрикой и разными шлюзами, два на 2mb канал и по одному на мегабитные. Остальное сделает сам роутер...
http://www.cisco.com/univercd/cc/td/doc/product/software/ios...
PS. Чтобы не запутаться, сначала надо добится чтобы все работало через каждый канал по очереди просто при смене шлюза по умолчанию.

"NAT/3 ISP"
Отправлено toor99 , 19-Дек-05 17:12 
>надо указать четыре маршрута с одинаковой метрикой и разными шлюзами, два на
>2mb канал и по одному на мегабитные. Остальное сделает сам роутер...
>
>http://www.cisco.com/univercd/cc/td/doc/product/software/ios...

И что будет? Прочитай исходный вопрос внимательно.
Helper неплохое решение предложил - балансировать на основании DST addr. Это не есть честная балансировка, но это лучше, чем ничего - к тому же, никаких проблем с NAT.


"NAT/3 ISP"
Отправлено nightlight , 19-Дек-05 17:20 
>И что будет?
Вот это:
Per-destination load balancing allows the router to use multiple paths to achieve load sharing

"NAT/3 ISP"
Отправлено toor99 , 19-Дек-05 17:32 
>>И что будет?
>Вот это:
>Per-destination load balancing allows the router to use multiple paths to achieve
>load sharing

ключевое слово NAT.


"NAT/3 ISP"
Отправлено Helper , 19-Дек-05 17:18 
>надо указать четыре маршрута с одинаковой метрикой и разными шлюзами, два на
>2mb канал и по одному на мегабитные. Остальное сделает сам роутер...

Полная фигня получится.
Для destination-адрес src-адреса после NAT будут произвольно менятся между адресами, выданными тремя upstream'ами .
Т.е. исходящий IP при одном destination может быть разным при в пределах одного потока/сессии udp/icmp/tcp/etc - и что дальше ?


"NAT/3 ISP"
Отправлено nightlight , 19-Дек-05 17:22 
>Т.е. исходящий IP при одном destination может быть разным при в пределах
>одного потока/сессии udp/icmp/tcp/etc - и что дальше ?
Packets for a given source-destination host pair are guaranteed to take the same path, even if multiple paths are available.



"NAT/3 ISP"
Отправлено Helper , 19-Дек-05 17:54 
>>Т.е. исходящий IP при одном destination может быть разным при в пределах
>>одного потока/сессии udp/icmp/tcp/etc - и что дальше ?
>Packets for a given source-destination host pair are guaranteed to take the
>same path, even if multiple paths are available.

Х.З.
если не включать ip load-sharing per-packet ? (хотя по умолчанию и так ip load-sharing per-destination)
Интересно, надо попробовать.


"NAT/3 ISP"
Отправлено toor99 , 19-Дек-05 17:41 
>>надо указать четыре маршрута с одинаковой метрикой и разными шлюзами, два на
>>2mb канал и по одному на мегабитные. Остальное сделает сам роутер...
>
>Полная фигня получится.
>Для destination-адрес src-адреса после NAT будут произвольно менятся между адресами, выданными тремя
>upstream'ами .
>Т.е. исходящий IP при одном destination может быть разным при в пределах
>одного потока/сессии udp/icmp/tcp/etc - и что дальше ?

Вообще-то, это может и сработать. Согласно описанному на CCO порядку операций NAT, сначала делается маршрутизация, а потом NAT inside-from-outside. Так что, вполне возможно...


"NAT/3 ISP"
Отправлено toor99 , 19-Дек-05 17:42 
> NAT inside-from-outside

NAT inside-to-outside, я хотел сказать, конечно - опечатался.