Страница 1 из 1

OSPF и Туннели через двух провайдеров

Добавлено: 08 янв 2020, 00:57
freeddos
Здравствуйте.
Имеем:
192.168.0.0/24 - локальная подсеть Основного офиса (слева)
192.168.10.0/24 - локальная подсеть Филиала (справа)

172.17.0.5/30 и 172.17.0.6/30 это IP с обоих сторон GRE туннеля идущий через ISP1
10.10.0.5/30 и 10.10.0.6/30 это IP с обоих сторон GRE туннеля идущий через ISP2

Я могу руками на обоих сторонах прописать с офиса Основного два маршрута через каждый GRE интерфейс до Филиала (и то же самое в офисе Справа). Но таких Филиалов может быть много.

Вопрос: Как построить OSPF маршрутизацию при в текущих условиях и с возможностью масштабирования?
Например, чтобы на офисе Филиала не прописывать маршруты в ручную и например если отвалиться один провайдер в Основном офисе то на филиале маршруты пойдут через "живой" GRE канал. (основная идея OSPF по моим предположениям, чтобы как раз пускать Филиалы по "живому" GRE туннелю).

Изображение

Re: OSPF и Туннели через двух провайдеров

Добавлено: 08 янв 2020, 11:24
Ca6ko
freeddos писал(а): 08 янв 2020, 00:57 Я могу руками на обоих сторонах прописать с офиса Основного два маршрута через каждый GRE интерфейс до Филиала (и то же самое в офисе Справа). Но таких Филиалов может быть много.
Разумеется можете, только distance у них будет разный у кого меньше тот основной у кого больше тот резервный. И при отвале основного автоматически переключится на резервный. без OSFP

Re: OSPF и Туннели через двух провайдеров

Добавлено: 08 янв 2020, 12:19
Erik_U
freeddos писал(а): 08 янв 2020, 00:57 Вопрос: Как построить OSPF маршрутизацию при в текущих условиях и с возможностью масштабирования?
1. Поставьте везде прошивку long-term. На ней OSPF работает. На новых - постоянно ломается.
2. Все офисы - в один Area. Каждый - в свой Instance, но все в один Area.
3. В каждом офисе в OSPF.Networks перечислить все свои сети, включая 0.0.0.0, включив их в общий Area.
4. Все.

Когда добавляете новый туннель - в обоих офисах добавляете соответствующие сети в OSPF.Networks.

В настройках интерфейсов/туннелей обязательно включайте Keepalive Timeout.

Совсем все.

Re: OSPF и Туннели через двух провайдеров

Добавлено: 08 янв 2020, 18:24
freeddos
1. А на stabe, я так понимаю будет нормально?
2. Можно пояснить по Instance. Не достаточно будет оставить один инстанс на главное Офисе?
3. Да в networks я добавляю ту сеть которая будет участвовать в ospf. У меня же endpoints на Основном офисе и Филиале из одной подсети ограниченные маской /30, я же могу разграничить филиалы через Networks (например указать для примера выше для IPS 1 - 172.17.0.4/30 и для IPS2 - 10.10.0.4/30).

Re: OSPF и Туннели через двух провайдеров

Добавлено: 09 янв 2020, 06:14
Erik_U
freeddos писал(а): 08 янв 2020, 18:24 1. А на stabe, я так понимаю будет нормально?
2. Можно пояснить по Instance. Не достаточно будет оставить один инстанс на главное Офисе?
3. Да в networks я добавляю ту сеть которая будет участвовать в ospf. У меня же endpoints на Основном офисе и Филиале из одной подсети ограниченные маской /30, я же могу разграничить филиалы через Networks (например указать для примера выше для IPS 1 - 172.17.0.4/30 и для IPS2 - 10.10.0.4/30).
1. нет. именно на ней периодически полная неработоспособность. На предпоследней stabe не строила маршрут до сетей, которые есть только у одного инстанса, пришлось руками маршруты дописывать. В последней stabe игнорирует стоимость, и при наличии двух маршрутов с разной стоимостью строит один маршрут, стоимостью, равной максимальной из этих двух, но с указанием двух шлюзов у одного маршрута. В результате ничего не работает толком. Тут вообще не нашел решения, кроме отката на Long-term прошивку. OSPF у микротика вообще очень плохо обновления переживает. Настроишь OSPF с резервированием, проверишь - повыдергиваешь пачкорды, каналы переключаются, все работает как часы. Потом однажды обновляешься - и вроде все работает, т.е. связность есть, маршруты все прописаны. Но резервирования нет. Отваливается основной канал - и все, связи нет, переключения на резервные не происходит. И ничего не лечится. Помогает удалить всю настройку OSPF, и заново настроить точно так же. И начинает опять работать. Это не с каждым обновлением, но повторяется к сожалению. Поэтому, если OSPF, то только Long-term прошивка. И после каждого обновления - проверка всех режимов. :( А Stabe тут только для мазохистов.
2. Каждый офис - свой инстанс. Все, что вы соединяете туннелями - отдельные инстансы. Туннели - между инстансами.
3. Нужно в результате добавить все сети, через которые может быть построен маршрут. Если добавить 2 обособленные сети, а сети между ними не добавлять - они не будут взаимодействовать.
OSPF - это не волшебство, это всего навсего один из способов построения маршрута.

Re: OSPF и Туннели через двух провайдеров

Добавлено: 09 янв 2020, 11:25
freeddos
Может я чего то не понимаю, хочу разобраться.
У меня по сути два туннеля соединяют два маршрутизатора. И мне нужно пустить трафик по маршруту через доступный туннель.
Значит я от 192.168.0.1 (Главный офис) до 192.168.10.1 (Филиал) могу добраться через маршруты:
192.168.0.1 -> 172.17.0.6 -> 192.168.10.1
192.168.0.1 -> 10.10.0.6 -> 192.168.10.1

Следовательно при применении динамической маршрутизации у меня на Главном Офисе должны появиться маршруты типа:
до 192.168.10.0/24 через 172.17.0.6
до 192.168.10.0/24 через 10.10.0.6

А на Филиальном
до 192.168.0.0/24 через 172.17.0.5
до 192.168.0.0/24 через 10.10.0.5

Инстансом для Главного офиса является 192.168.0.1? или адреса туннелей два инстанса 172.17.0.5 и 10.10.0.5? или должно быть три инстанса?

Re: OSPF и Туннели через двух провайдеров

Добавлено: 09 янв 2020, 12:00
Erik_U
Инструкцию какую нибудь читали?

На каждом микротике создаете отдельный бридж loopback без портов в нем.
Этому бридже присваиваете IP адрес из внутренней подсетки вашего микротика, но с маской /32. Например, 192.168.0.250/32 для одного офиса и 192.168.1.250/32 для другого
В инстансе в качестве Router ID этот IP и указывайте.
Redistribute Default Route - always (as type2)
Redistribute Connected Routes и Redistribute Static Routes - as type2.

В OSPF.Networks прописываете ВСЕ (совсем все) сети, которые непосредственно имеются на этом конкретном микротике.
Если есть выход в интернет - указываете сеть 0.0.0.0/0
Должны быть внутренние адреса на GRE туннелях - указываете и их сеть.
Обязательно указываете и адрес с маской /32 бриджа loopback этого микротика.

Area у всех одинаковый. С одним и тем же ID. На всех микротиках во всех инстансах.

Остальное добавляется автоматически.
В OSPF.Interfaces интерфейсы добавляются динамически с одинаковой стоимостью.
Если нужно назначить другую стоимость интерфейсу, просто создаете интерфейс руками второй раз не удаляя динамический. В созданном ставите нужную стоимость. А динамический пропадет сам после этого.

Re: OSPF и Туннели через двух провайдеров

Добавлено: 09 янв 2020, 12:47
Erik_U
А еще.
Чтобы не обмениваться OSPF пакетами с операторами, посавьте фильтр в фаерволе, запрещающий выход ospf пакетов в интерфейс, смотрящий на оператора.
Чтобы только через туннели обмен ospf остался.

Через интерфейсы в объявленных сетях микротики начнут посылать ospf пакеты, и получать их от других роутеров.
По ID AREA они поймут, нужем им этот пакет, или нет. Если ID Area тот же, что у них, они будут использовать полученную информацию.
Дальше они строят маршруты между инстансами, ориентируясь на информацию о совпадающих сетях. Если есть одинаковая сетва на двух микротиках - между ними построится маршрут. Его стоимость будет равна сумме объявленных стоимостей с двух сторон.
В результате, на каждом микротике накопится информация о всех маршрутах внутри Area.
И когда будет приходить ospf пакет с информацией о том, что лег какой-то интерфейс у какого-то микротика, все микротики в Area исключат этот интерфейс из карты и будут слать пакеты по другому маршруту.

Re: OSPF и Туннели через двух провайдеров

Добавлено: 09 янв 2020, 13:26
Erik_U
А, еще.
в IP.Routes вообще никаких маршрутов не создавать!
Все появятся автоматически.