Перейти к содержимому
Калькуляторы

Отказоустойчивость VPN сети

Могут. В теории. Глазами где нибудь видели работу Equal Cost Multipath Routing для default gw? Я вот на можжевельниках только видел да и там специально включать нужно.

У меня работает в куче мест, по BGP прилетают 2 дефолта с одинаковой метрикой. Происходит балансировка нагрузки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вам знакомо понятие Equal Cost Multipath Routing? А работу двух гейтвеев на винде тоже не видели?

 

Если вы возьмете 3 устройства (не винда), к одному из них подключите 2, дав каждому свой уникальный адрес, то если создадите 2 (два) маршрута по умолчанию с одинаковыми метриками на разные IP адреса, то работать будет только один.

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

Именно по этой причине у вас и наблюдаются косяки.

 

Вы, коллега, заблуждетесь. В системе может быть несколько маршрутов до конечной сети с одинаковыми метриками. Маршрут 0.0.0.0/0 это _тоже_ _маршрут_ и их может быть несколько. В зависимости от способностей системы (хост, маршрутизатор - без разницы) оба (а то и больше) маршрута могут работать в режиме балансировки. На циске например это CEF load balancing.

 

Если вы просто пропишите 2 дефолтных маршрута, не включая дополнительных функций, работать будет только один.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если вы возьмете 3 устройства (не винда), к одному из них подключите 2, дав каждому свой уникальный адрес, то если создадите 2 (два) маршрута по умолчанию с одинаковыми метриками на разные IP адреса, то работать будет только один.

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

Именно по этой причине у вас и наблюдаются косяки.

Так я вам про винду говорю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не ECMP, но все же . А сервера отдают на default gw (1-ый роутер), а тот отдает в туннель свой либо на второй маршрутизатор и тот уже в свой туннель

 

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

 

Вам уже написали схему. Но при обсуждении упустили самое главное. У вас на удаленных точках какая адресация у клиентов? На них должна раздаваться уникальная подсеть, если сам роутер делает НАТ, то как раз и будет обрываться.

 

Так я вам про винду говорю.

 

На винде работать не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще есть проект MultiPath TCP - у разных вендоров и разных ОС по-разному реализовано.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если вы возьмете 3 устройства (не винда), к одному из них подключите 2, дав каждому свой уникальный адрес, то если создадите 2 (два) маршрута по умолчанию с одинаковыми метриками на разные IP адреса, то работать будет только один.

это не так. более того, вполне работает схема, когда на eth0 192.168.1.10/24, а на eth1 - 192.168.1.11/24. трафик побежит в зависимости от того на какой интерфейс пришёл запрос.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Люди добрые, расскажите как правильно обеспечивается отказоустойчивость сетей, объединенных через VPN.

На данный момент имеем такую схему:

1. Имеется два VPN-сервера (Mikrotik, SSTP) на разных провайдерах.

2. Эти серверы включены в один коммутатор LAN-портами и оба имеют равнозначный доступ к бизнес-серверам

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

х.з. я считаю что у вас один mikrotik лишний. :)

 

в головном офисе ставим один микротик нормальный маршрутизатор, порт LAN в офис, порт WAN1 в одного провайдера, WAN2 в другого.

соответственно из удаленных офисов коннектим всего один тунель vpn через того провайдера который "ближе"\дешевле\быстрее\свободнее (выбрать нужное).

если один из провайдеров "падает" vpn тунели автоматически прозрачно переконнекчиваются на\через второго провайдера.

 

со стороны офиса один default gateway, резервирование и loadbalance между провайдерами.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

трафик побежит в зависимости от того на какой интерфейс пришёл запрос.

это с какой версии винды так?

 

до 2012 сервера включительно ответ идет через первый интерфейс. (что отчетливо видно по MAC адресу). в какой интерфейс отвечать оно выбирает по адресу получателя, первый совпавший интерфейс в твоем примере будет eth0.

 

на один интерфейс можно легко штатно повесить несколько IP.

можно легко объединить физические интерфейсы в один виртуальный, и получить суммарную пропускную способность NIC Teaming кажется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

трафик побежит в зависимости от того на какой интерфейс пришёл запрос.

это с какой версии винды так?

это linux.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

х.з. я считаю что у вас один mikrotik лишний. :)

 

в головном офисе ставим один микротик нормальный маршрутизатор, порт LAN в офис, порт WAN1 в одного провайдера, WAN2 в другого.

соответственно из удаленных офисов коннектим всего один тунель vpn через того провайдера который "ближе"\дешевле\быстрее\свободнее (выбрать нужное).

если один из провайдеров "падает" vpn тунели автоматически прозрачно переконнекчиваются на\через второго провайдера.

 

со стороны офиса один default gateway, резервирование и loadbalance между провайдерами.

 

Опять скрипты? А если провайдер не совсем отключиться, как определять это состояние?

 

Я приложил картинку как надо делать правильно:

 

mt-vpn.png

 

В центре 2 микротика, каждый подключен к своему провайдеру. Так же есть третий микротик, к которому подключены 2 и коммутатор с внутренней сетью.

В офисе 2 микротика, каждый подключен к своему провайдеру. Третий микротик собирает с них данные и передает во внутреннюю сеть офиса.

В каждом офисе своя уникальная подсеть.

Управление туннелями либо все работают параллельно, либо один основной второй резервный. Делается это с центрального микротика путем изменении глобальной метрики OSPF, при этом трогать интерфейсы по отдельности не требуется.

 

Все работает полностью автоматически и без каких-то либо проблем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Опять скрипты? А если провайдер не совсем отключиться, как определять это состояние?

Не совсем отключится - это как?

 

в твоей картинке какую роль выполняют мт1 и мт2, видимо медиаконвертеры? мт3 сам не в состоянии? процессора не хватает на столь сложную задачу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я приложил картинку как надо делать правильно:

А я не понимаю, зачем нужен MT3 в офисе. Между MT1/MT2 и MT3 изолированная сеть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не совсем отключится - это как?

 

1. Потери пакетов.

2. Потеря доступа до части ресурсов.

3. Кратковременные отключения.

4. Уменьшение скорости.

 

в твоей картинке какую роль выполняют мт1 и мт2, видимо медиаконвертеры? мт3 сам не в состоянии? процессора не хватает на столь сложную задачу?

 

Нет это 3 микротика.

 

МТ1 - имеет дефолтный маршрут в сторону своего интернет провайдера и PPP сервер.

MT2 - имеет дефолтный маршрут в сторону своего интернет провайдера и PPP сервер.

MT3 - работает по OSPF и никаких маршрутов статикой не указано, имеет прямую связь с MT1 и MT2, со стороны коммутатора указана сеть, по которой идет связь с серверами. На серверах должен быть указан маршрут статикой в сторону этого микротика по направлению используемых в удаленных офисах подсетей.

 

Тут дело не в процессоре, а в работе протокола. Просто так на одном устройстве нельзя сделать что бы данные по каждому провайдеру уходили через свои каналы, нужно прибегать к маркировкам и прочим не нужным вещам. На 3 устройствах просто ничего не нужно, так же не нужно отслеживание соединений, поэтому легко можно передавать гигабиты трафика.

 

А я не понимаю, зачем нужен MT3 в офисе. Между MT1/MT2 и MT3 изолированная сеть?

 

MT1 держит связь с первым устройством в центре, MT2 со вторым. MT3 по изолированным подсетям имеет связь с первыми двумя микротиками, а на порту в сторону компьютеров офиса установлена уникальная подсеть /24 например. При этом в каждом офисе подсеть своя и на серверах конторы в центре все потребители видятся по этим адресам.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я за dmvpn с двумя хабами.

 

если балансировка между дефолт гв пер пакет, ну её нафиг....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

dmvpn хорош, но вендорлочен

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На оборудование не завязан. По существу что-нибудь скажете?

PC router + OpenVPN.

pFsense - дешево и сердито. дополнительных специальных навыков не требует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На оборудование не завязан. По существу что-нибудь скажете?

PC router + OpenVPN.

здравствуйт процессинг трафика в юзерленде, контекст-свитчи, двойноё копирование и вот это вот всё? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вам знакомо понятие Equal Cost Multipath Routing? А работу двух гейтвеев на винде тоже не видели?

 

Если вы возьмете 3 устройства (не винда), к одному из них подключите 2, дав каждому свой уникальный адрес, то если создадите 2 (два) маршрута по умолчанию с одинаковыми метриками на разные IP адреса, то работать будет только один.

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

Именно по этой причине у вас и наблюдаются косяки.

 

Вы, коллега, заблуждетесь. В системе может быть несколько маршрутов до конечной сети с одинаковыми метриками. Маршрут 0.0.0.0/0 это _тоже_ _маршрут_ и их может быть несколько. В зависимости от способностей системы (хост, маршрутизатор - без разницы) оба (а то и больше) маршрута могут работать в режиме балансировки. На циске например это CEF load balancing.

 

Если вы просто пропишите 2 дефолтных маршрута, не включая дополнительных функций, работать будет только один.

 

Когда такое пишете, нужно всегда указывать на каком конкретно оборудовании оно не работает. На Cisco еще со времен царя гороха CEF балансирует из коробки. Безо всяких дополнительных функций.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

здравствуйт процессинг трафика в юзерленде, контекст-свитчи, двойноё копирование и вот это вот всё? :)

 

Многие любят решения посложнее.

 

Когда такое пишете, нужно всегда указывать на каком конкретно оборудовании оно не работает. На Cisco еще со времен царя гороха CEF балансирует из коробки. Безо всяких дополнительных функций.

 

Наоборот, два дефолтных маршрута не могут быть по определению. Если используется какое-то специфическое оборудование, то нужно писать про него тогда, когда его функции используются. Тут был разговор про винду, она так не умеет из коробки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Наоборот, два дефолтных маршрута не могут быть по определению. Если используется какое-то специфическое оборудование, то нужно писать про него тогда, когда его функции используются. Тут был разговор про винду, она так не умеет из коробки.

 

Не бывает "дефотл" маршрутов. Это жаргонизм. Бывают маршруты 0.0.0.0/0 и ничто не мешает им быть в нескольких экземплярах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

здравствуйт процессинг трафика в юзерленде, контекст-свитчи, двойноё копирование и вот это вот всё? :)

да ладно, подумаешь юзерленд...

 

а в каком смысле двойное копирование?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а в каком смысле двойное копирование?

Правильнее читать так:

здравствуйт процессинг трафика в юзерленде_:_ контекст-свитчи, двойноё копирование и вот это вот всё? :)

Двойное копирование это из ядра в юзерленд процесс, переключение контекста, жевание пакета, копирование пакета в ядро, переключение контекста....

Переключение контекстов можно сократить, если использовать новое линуксовое апи и копировать не по одному пакету а сразу пачкой (это для юдп, в тцп оно и так пачками).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

Отчего ж они "ненужные"? Их для галочки сделали чтоли? Если есть технология, почему бы ей не воспользоваться? А если у вас будет 12 провайдеров, Вы 13 микротиков поставите, вместо одного?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

MT1 держит связь с первым устройством в центре, MT2 со вторым. MT3 по изолированным подсетям имеет связь с первыми двумя микротиками, а на порту в сторону компьютеров офиса установлена уникальная подсеть /24 например. При этом в каждом офисе подсеть своя и на серверах конторы в центре все потребители видятся по этим адресам.

Эта схема пока лучшее из всего, что тут наобсуждали.

MT1, MT2 - VPN-сервера. MT3 - роутер. Вы ведь это имели в виду?

А если на MT1 и МТ2 не включена OSPF, как МТ3 поймет, что подсеть 192.168.125.0/24 принадлежит филиалу доступна через МТ1, например, а не МТ2?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эта схема пока лучшее из всего, что тут наобсуждали.

MT1, MT2 - VPN-сервера. MT3 - роутер. Вы ведь это имели в виду?

А если на MT1 и МТ2 не включена OSPF, как МТ3 поймет, что подсеть 192.168.125.0/24 принадлежит филиалу доступна через МТ1, например, а не МТ2?

 

Если не включен OSPF то и работать не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.