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

Обсуждение ПО и его настройки
Ответить
freeddos
Сообщения: 56
Зарегистрирован: 15 окт 2017, 10:54

Здравствуйте.
Имеем:
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 туннелю).

Изображение
Вложения
Routing.jpg
(38.63 КБ) 0 скачиваний


Ca6ko
Сообщения: 1484
Зарегистрирован: 23 ноя 2018, 11:08
Откуда: Харкiв

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


1-е Правило WiFi - Везде где только можно откажитесь от WiFi!
2-е Правило WiFi -Устройство, которое пользователь не носит с собой постоянно, должно подключаться кабелем!!

Микротики есть разные: черные, белые, красные. Но все равно хочется над чем нибудь заморочится.
Erik_U
Сообщения: 1770
Зарегистрирован: 09 июл 2014, 12:33

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.

Совсем все.


freeddos
Сообщения: 56
Зарегистрирован: 15 окт 2017, 10:54

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


Erik_U
Сообщения: 1770
Зарегистрирован: 09 июл 2014, 12:33

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 - это не волшебство, это всего навсего один из способов построения маршрута.


freeddos
Сообщения: 56
Зарегистрирован: 15 окт 2017, 10:54

Может я чего то не понимаю, хочу разобраться.
У меня по сути два туннеля соединяют два маршрутизатора. И мне нужно пустить трафик по маршруту через доступный туннель.
Значит я от 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? или должно быть три инстанса?


Erik_U
Сообщения: 1770
Зарегистрирован: 09 июл 2014, 12:33

Инструкцию какую нибудь читали?

На каждом микротике создаете отдельный бридж 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 интерфейсы добавляются динамически с одинаковой стоимостью.
Если нужно назначить другую стоимость интерфейсу, просто создаете интерфейс руками второй раз не удаляя динамический. В созданном ставите нужную стоимость. А динамический пропадет сам после этого.


Erik_U
Сообщения: 1770
Зарегистрирован: 09 июл 2014, 12:33

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

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


Erik_U
Сообщения: 1770
Зарегистрирован: 09 июл 2014, 12:33

А, еще.
в IP.Routes вообще никаких маршрутов не создавать!
Все появятся автоматически.


Ответить