The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]



"2x CISCO роутера, Доступность сервиса через двух провайдеров."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Маршрутизаторы CISCO и др. оборудование. (Cisco маршрутизаторы)
Изначальное сообщение [ Отслеживать ]

"2x CISCO роутера, Доступность сервиса через двух провайдеров."  +/
Сообщение от Кирилл (??), 16-Янв-22, 19:09 
Есть два роутера cisco 2951, каждая смотрит в своего провайдера, на каждой есть NAT.

Есть ядро сети из двух cisco 9300 в stack, с настроенными SVI (interface vlan), где осуществляется межвланный роутинг.

Между ядром сети и роутерами настроен eigrp.

Разные подсети из ядра натятся в разных провайдеров при помощи route-map.

Вроде бы всё стандартно.

Возникла задача сделать доступ на один внутренний IP (виртуальную машину) доступ снаружи с двух провайдеров.

Т.е. На обеих 2951 пробрасываем порт на внутренный IP.

СХЕМА - https://ibb.co/Wk36rhG

Вроде бы простая задача но вызывает много вопросов.

В случае с микротиком-линуксом там понятно, можно помечать соединения в conntrack в фаирволе. Думаю если бы вместо 9300 был какой микрот я бы решил задачу.

Но как пометить соединения у циски?

Есть решение с одним роутером и двумя провайдерами, например можно сделать дополнительный нат через лупбек чтобы менять SRC IP у пакетов пришедших через 2 интерфейс - например https://habr.com/ru/post/117573/

Но как то это костыльно и мне не очень нравиться делать дополнительный NAT на одном из двух роутеров.

Есть еще решения через ip nat outside source, либо же повесить второй айпишник на виртуалку - https://habr.com/ru/post/80555/.

Тоже так себе.

Одно найденное решение для одного роутера мне понравилось - https://habr.com/ru/post/323108/ - суть в том что на каждого провайдера есть свой VRF и еще один локальный, плюс между ними BGP.

Тут уже интереснее, есть два маршрута по дефолту. Я начал гуглить дальше и узнал что у циски есть балансировка в CEF с учетом портов SRC и DST.

Начал думать как прикрутить такое решение на схему. Есть пара мыслей.

Хотел сделать VRF на 9300 чтобы в него загнать виртуалку и для нее же прописать два маршрута по дефолту, чтобы там cef балансировал по своей схеме cef polarization. Но оказалось, что текущая лицензия на 9300 не поддерживает VRF (Network Essential)

Собрал аналогичный стенд из трех цисок 887 и одного коммутатора, сделал подобную схему но без VRF, на той циске которая на стенде вместо ядра сети, включил ip cef load-sharing algorithm include-ports source destination, создал влан туда подключил виртуалку с веб сервисом, который показывает c какого айпи идет обращение. На двух других цисках сделал нат, пробросил порты. Вобщем все аналогично. Сделал 2 влана типа 2 провайдера, и с них обращался на два айпишника.

Вроде бы это даже начало работать как надо, но в такой схеме 2 маршрута по дефолту будут в глобальной таблице а не в VRF, а этого бы не хотелось делать на ядре сети в боевой схеме. Хотелось бы чисто роут мапами рулить.

Вопросы:

1. Как же все таки в такой схеме с CISCO сделать так чтобы ответ уходил туда откуда он пришел?

2. Реализуемо ли это впринципе через route-map ? я что то не понимаю как надо задать критерий. Ведь сурс адрес извне может быть любым и придти он может с любого интерфейса. А отвечает виртуалка тоже с одного адреса.

3. Можно ли без VRF сделать балансировку для одного влана?

4. И меня всё таки смущает почему почти нигде не пишут про такой кейс и использование балансировки через ip cef. Это не бест-практикс? Как тогда сделать?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "2x CISCO роутера, Доступность сервиса через двух провайдеров."  +1 +/
Сообщение от eek (ok), 17-Янв-22, 12:39 
> 1. Как же все таки в такой схеме с CISCO сделать так
> чтобы ответ уходил туда откуда он пришел?

У вас весь раутинг destination based :) В рамках вашего дизайна никак.

> 2. Реализуемо ли это в принципе через route-map?
> тоже с одного адреса.

Если я верно понял вашу схему, нет.

> 3. Можно ли без VRF сделать балансировку для одного влана?

Да можно смотрите вариант 0 (ноль), ниже в ответе.

Только в реальности вы все равно закончите VRFами. Потому что если бы для вас вариант с BGP был бы реален, вы вероятно, об этом бы уже знали :)

> 4. И меня всё таки смущает почему почти нигде не пишут про
> такой кейс и использование балансировки через ip cef. Это не бест-практикс?

Потому что cef в этом не помогает.


> Как тогда сделать?

0) Переносить сервис на публичный адрес с переходом на BGP (или любой другой динамический протокол который готовы принимать оба провайдера) + анонс вашей сети с приложением в оба провайдера.

1) VRF + Двойной нат (подменяющий и src и dst адрес) на вашем бордере\asa firewall или где вам там удобней, в этом случае изменения дизайна минимальные.

2) Любой балансировщик (на самом деле пара) стоящий в DMZ у которого только один default route в своего провайдера, а вторая нога смотрит в ваше внутренние сети с внутренними же адресами (суть тот же вариант 1, просто чуть гибче).

В последнем случае (2) можно взять дополнительно белый адрес для балансировки и терминировать трафик прямо на нем без файрвола\ната, если так удобней. Если с адресами (или ресурсами) туго, то дважды натит (не красиво, но работать будет).

Надеюсь поможет.

Если совсем не понятно как дальше быть, пишите в личку договоримся по оплате.

Ответить | Правка | Наверх | Cообщить модератору

2. "2x CISCO роутера, Доступность сервиса через двух провайдеров."  +/
Сообщение от Кирилл. (?), 17-Янв-22, 14:34 
Спасибо большое за ответ еек!

> У вас весь раутинг destination based :) В рамках вашего дизайна никак.

Ну вот я тоже в голове как ни крутил так ни к чему и не пришел.

> Потому что cef в этом не помогает.

Я пробросил наружу свой стенд через боевые роутеры. Получился нат за натом но тем не менее. Нормально заработало вот с такой настройкой:

ip cef load-sharing algorithm include-ports source destination gtp

(Enabling the GTP-U TEID Load-Balancing Algorithm Use the command to enable the GTP-U TEID load-balancing algorithm for IPv4.)

https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipswitch_c...

Проверял на двух реальниках, заходит и на тот и на тот.

Если без gtp  то иногда начинает думать то на одном то на другом.

Команда

show ip cef exact-route source - ip address [src-port port number] destination-ip address[ dest-port port number]

выдает действительно разные пути.

Не совсем я конечно понимаю до конца как это работает но это работает :)

Спасибо!

Ответить | Правка | Наверх | Cообщить модератору

4. "2x CISCO роутера, Доступность сервиса через двух провайдеров."  +/
Сообщение от ShyLion (??), 24-Янв-22, 11:06 
> Возникла задача сделать доступ на один внутренний IP (виртуальную машину) доступ снаружи
> с двух провайдеров.

Машина на какой ОС?
С линуксом можно сделать просто - несколько сетевых подключений и использовать полиси роутинг на самом хосте. В зависимости от соурс-IP менять таблицу маршрутизации.
С tcp прекрасно работает.

Ответить | Правка | Наверх | Cообщить модератору

5. "2x CISCO роутера, Доступность сервиса через двух провайдеров."  +/
Сообщение от ShyLion (??), 24-Янв-22, 11:07 
>> Возникла задача сделать доступ на один внутренний IP (виртуальную машину) доступ снаружи
>> с двух провайдеров.
> Машина на какой ОС?
> С линуксом можно сделать просто - несколько сетевых подключений и использовать полиси
> роутинг на самом хосте. В зависимости от соурс-IP менять таблицу маршрутизации.
> С tcp прекрасно работает.

механизм ip rule

Ответить | Правка | Наверх | Cообщить модератору

6. "2x CISCO роутера, Доступность сервиса через двух провайдеров."  +/
Сообщение от Кирилл (??), 12-Фев-22, 13:04 
>>> Возникла задача сделать доступ на один внутренний IP (виртуальную машину) доступ снаружи
>>> с двух провайдеров.
>> Машина на какой ОС?
>> С линуксом можно сделать просто - несколько сетевых подключений и использовать полиси
>> роутинг на самом хосте. В зависимости от соурс-IP менять таблицу маршрутизации.
>> С tcp прекрасно работает.
> механизм ip rule

Спасибо большое! Но к сожалению там винда. Про линукс знаю да.

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру