Настройка OSPF для получения маршрутов до абонентов

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (13)

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

Обычно такая настройка полезна в случае, если в сети провайдера используется несколько маршрутизаторов занимающихся подключением пользователей по VPN. Маршрутизаторы доступны Carbon Reductor напрямую, но без OSPF он шлёт будет слать пакеты с редиректами в свой маршрут по умолчанию, в результате увеличивается число промежуточных узлов.

h2. Примечания
h2. Как настроить

Запускаем команду menu. Выбираем BGP Blackhole.
Для начала помимо самого редуктора, требуется(ются) роутер(ы), с которыми будут созданы OSPF-"соседства".

В случае с Linux, потребуется установка и настройка Quagga (или её альтернатив).


Запускаем команду menu, выбираем BGP Blackhole:

!Снимок экрана 2017-08-17 в 17.14.34.png|border=1!

Заходим в настройки BGP Blackhole.

Выключим анонсирование маршрутов, включенное по умолчанию для обратной совместимости и включим контейнер.
Выключим анонсирование маршрутов ("Включить интеграцию по BGP"), включенное по умолчанию для обратной совместимости и включим контейнер ("Включить BGP Blackhole").

!Снимок экрана 2017-08-17 в 17.14.56.png|border=1!
!Снимок экрана 2017-08-17 в 17.14.44.png|border=1!

Все эти параметры используются для генерации конфига ospfd. Шаблон выглядит следующим образом:

Шаблон по умолчанию выглядит следующим образом:

{code}
hostname {{hostname - подхватывается из переменной окружения $HOSTNAME}}
{code}

Для минимально рабочего сценария достаточно указать пароль, router id, сеть маршрутизаторов и зону.
h3. Подробнее об опциях

*Обязательные*:

Раздел BGP:

* *Включить BGP-Blackhole* в BGP

Раздел OSPF:

* *Включить интеграцию по OSPF*
*  
* *Router ID* \- обычно, это IP-адрес сетевого интерфейса, на котором поднимается OSPF-сессия с другими маршрутизаторами (например 10.0.1.5)
* *Интерфейсы ospfd* \- список сетевых интерфейсов, подключенных к OSPF-соседям (например eth1 eth2)
* *Сеть маршрутизаторов* \- IP адрес сети, в которой находятся OSPF-соседи (например 10.0.1.0/24).
* *Зона* (area в терминологии OSPF) - должна совпадать между всеми OSPF-соседями (например 0.0.0.2)

*Необязательные* (тоже в разделе OSPF)*:*
* *Ключ аутентификации* \- пароль, по которому будут проверяться подключенные OSPF-соседи. Нужно для целей обеспечения безопасности, чтобы потенциальный злоумышленник не мог отправлять некорректные маршруты на ваше оборудование (например Aa1234).
* *Сети абонентов* \- будут приниматься только маршруты до адресов, находящихся в подсетях, перечисленных в этой опции (например 10.0.2.0/24 10.0.3.0/24).
* *Соседи* \- если требуется, чтобы редуктор настраивал соседство только с явно указанными маршрутизаторами, можно ограничить его этим списком их IP адресов. Может потребоваться для безопасности, подстраховки от собственных ошибок или уменьшения нагрузки (например 10.0.1.2 10.0.1.3).
* *Шаблон конфига ospfd* \- если есть настройки на сети, которые не соотносятся с нашими стандартными, то шаблон можно скопировать, отредактировать и указать путь до него в этой опции. Используется шаблонизатор jinja2. Лучше предварительно проконсультироваться с технической поддержкой, возможно будет правильнее добавить необходимые Вам опции в продукт. (например /cfg/ospfd.conf.j2)

После выполнения всех условий, требуется "Сохранить и применить настройки".


Проверить работу можно из CLI quagga:

{code}
chroot /app/bgp_blackhole
vtysh
show ip ospf neighbor
{code}

Этого достаточно для минимально рабочего сценария. Пример вывода в случае правильно настроенного OSPF:

{code}
reductor# sh ip ospf neighbor

Neighbor ID Pri State Dead Time Address Interface RXmtL RqstL DBsmL
10.0.0.2 1 2-Way/DROther 34.019s 10.0.0.2 eth3:10.0.0.3 0 0 0
{code}

h2. Кастомизация конфига

{code}

Исправьте его под свои нужды в удобном вам текстовом редакторе и укажите в меню в поле "Шаблон конфига ospfd":

{code}
{code}

Конфиг генерируется с помощью jinja2.

Как запустить генерацию всех конфигов: