crank Posted January 12, 2016 (edited) · Report post Есть два каталиста 3750, которые терминируют абонентов (IP Unnumebred). В ядре сети стоит циска 7604. Поставлена задача разбалансировать трафик между двумя серверами, выполняющими функции НАТа и шейпера. Топология сети На форуме нашел (тык), что красиво решить данную задачу можно с помощью SLB. Раньше с этим не сталкивался. Подскажите как всё это правильно приготовить. Edited January 12, 2016 by crank Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
crank Posted January 13, 2016 · Report post Как я понял мне нужно настроить firewallfarms. Делаем ip slb probe NAT1 ping address 172.16.0.1 ! ip slb firewallfarm NAT_FARM inservice ! real 172.16.0.1 probe NAT1 inservice ! На циске 7604 проверить в данный момент нет возможности. В эмуляторе GNS3 на c7200 пинги пошли, сервер определился как доступный, но вот клиентский трафик на него не отправляется, а маршрутизируется как обычно. По документации с сайта cisco весь трафик после такой настройки должен уходить на активные сервера не смотря на таблицу маршрутизации. Баг это, фича или может я что-то не так понял? Подскажите куда копать дальше. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
NiTr0 Posted January 13, 2016 · Report post как вариант - синхронизация таблиц коннтрака + ecmp. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
crank Posted January 14, 2016 (edited) · Report post ecmp в данной случае, я так понимаю, раскидает по round-robin? Еще думал над другими вариантами балансировки трафика Раскидать абонентов по разным VRF. В одном VRF сделать наиболее приоритетным дефолт в сторону NAT1, в другом в сторону NAT2 соответственно. Использовать PBR+SLA и вручную раскидать абонентов пополам. С бордера на один каталист проанонсировать одну половину префиксов X.X.X.X/8, на другой каталист вторую половину соответственно. Кто какие решение использует/посоветует? Edited January 14, 2016 by crank Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted January 14, 2016 · Report post Доверить CEFу не вариант? Т.е. два дефолта с одинаковой метрикой. При большом количестве пар DST-SRC должно статистически 50/50 разложиться. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
tehmeh Posted January 14, 2016 · Report post Там в теме по ссылке один благородный дон рассказывает о пертурбациях CEF-кэша при любом multipath'е, что приводит к перемещению потока на линк, на котором сервер ничего об этом потоке не знает. То есть вариант годен только в случае с синхронизацией трансляций по всей ферме. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted January 14, 2016 · Report post Там в теме по ссылке один благородный дон рассказывает о пертурбациях CEF-кэша при любом multipath'е, что приводит к перемещению потока на линк, на котором сервер ничего об этом потоке не знает. То есть вариант годен только в случае с синхронизацией трансляций по всей ферме. Дык CEF до NAT. После NAT соурсы у разных потоков будут разные и обратка прилетит в тот сервер, который и натил. Нечего там синхронизировать. Или там прям на ходу CEF переобувается? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
nuclearcat Posted January 14, 2016 · Report post Синхронизация трансляций убьет весь смыл балансировки. Во многих решениях с ростом количества трансляций - падает производительность. Я просто разбиваю сети клиентов пополам или более и раскидываю по серверам. Иногда можно вычислить тяжелые ресурсы и выдать им отдельный нат, но тогда нужно как-то мониторить распределение нагрузки, будет semi-automatic, если есть нужные скрипты Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
tehmeh Posted January 14, 2016 · Report post Там в теме по ссылке один благородный дон рассказывает о пертурбациях CEF-кэша при любом multipath'е, что приводит к перемещению потока на линк, на котором сервер ничего об этом потоке не знает. То есть вариант годен только в случае с синхронизацией трансляций по всей ферме. Дык CEF до NAT. После NAT соурсы у разных потоков будут разные и обратка прилетит в тот сервер, который и натил. Нечего там синхронизировать. Или там прям на ходу CEF переобувается? Прям на ходу, именно поэтому серверы-соседи должны знать всё. будет semi-automatic, если есть нужные скрипты Дык вариантов вагон. Тема-то вообще про SLB. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted January 14, 2016 · Report post Прям на ходу, именно поэтому серверы-соседи должны знать всё. А как часто? Если там раз в день, то и хер бы с ним. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
tehmeh Posted January 14, 2016 · Report post Прям на ходу, именно поэтому серверы-соседи должны знать всё. А как часто? Если там раз в день, то и хер бы с ним. Я сослался на пост, поэтому вряд ли поделюсь ценной информацией. Но в рамках легитимного офтопа хотелось бы и самому уточнить - воды с тех пор не мало утекло, возможно есть и success story. Скоро и сами планируем с ASR на тазы выносить NAT. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
iValera Posted January 14, 2016 · Report post Скоро и сами планируем с ASR на тазы выносить NAT. Почему если не секрет, выросли объемы, а доходы не на столько сильно?) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
rdc Posted January 14, 2016 · Report post проще всего это сделать с помощью LAG. например, на длинке это настраивается так: config link_aggregation algorithm ip_source_dest исходящий трафик от хомячков аккуратно разольётся в разные наты, причём трафик на один и тот же хост всегда будет идти через один и тот же нат. как на циске - не знаю, но по тому же принципу заработает так же. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
iValera Posted February 3, 2016 · Report post проще всего это сделать с помощью LAG. например, на длинке это настраивается так: config link_aggregation algorithm ip_source_dest исходящий трафик от хомячков аккуратно разольётся в разные наты, причём трафик на один и тот же хост всегда будет идти через один и тот же нат. как на циске - не знаю, но по тому же принципу заработает так же. А если NAT сервера разнесены по сегментам сети и не подключаются в 1 коммутатор? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
foxroot Posted February 3, 2016 · Report post В качестве NAT используются сервера на базе Linux? если да то возможно на них просто поставить quagga и поднять OSPF между серверами и роутером. Через ospf проанонсить default gateway с одинаковой метрикой. в итоге на роутрер будет два маршрута 0.0.0.0/0. на интерфейс vlan (на которых строиться ospf) включите команды ip load-sharing per-packet. в итоге роутре будет балансировать пакеты между двумя гетвеями. если роутер juniper а не cisco то примените следующие show routing-options graceful-restart; forwarding-table { export per-flow-load-balancing; } show policy-options policy-statement per-flow-load-balancing term balance { then { load-balance per-packet; } } Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
iValera Posted February 3, 2016 · Report post В качестве NAT используются сервера на базе Linux? если да то возможно на них просто поставить quagga и поднять OSPF между серверами и роутером. Через ospf проанонсить default gateway с одинаковой метрикой. в итоге на роутрер будет два маршрута 0.0.0.0/0. на интерфейс vlan (на которых строиться ospf) включите команды ip load-sharing per-packet. в итоге роутре будет балансировать пакеты между двумя гетвеями. если роутер juniper а не cisco то примените следующие show routing-options graceful-restart; forwarding-table { export per-flow-load-balancing; } show policy-options policy-statement per-flow-load-balancing term balance { then { load-balance per-packet; } } Обратите внимание на сообщение выше http://forum.nag.ru/forum/index.php?showtopic=112109&view=findpost&p=1227865 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...