|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (34)
просмотр истории страницыh2. Общее. |
{toc} |
|
h4. Соседи OSPF: |
|
h2. Теория h3. Соседи OSPF |
* *Соседи* (neighbours) --- два маршрутизатора, интерфейсы которых находятся в одном широковещательном сегменте (и на которых включен OSPF на этих интерфейсах) |
* *Отношения* *соседства* (adjacency) --- взаимосвязь между соседними маршрутизаторами, установленная с целью синхронизации информации * *Hello-протокол* (hello protocol) --- протокол, использующийся для установки и поддержания соседских отношений * *База данных соседей* (neighbours database) --- список всех соседей (также используется термин neighbour table) |
h4. Пакеты OSPF: |
h3. Пакеты OSPF |
|
* *Hello* --- пакеты, которые используются для обнаружения соседей, установки отношений соседства и мониторинга их доступности (keepalive) |
* *DBD* --- пакеты, которые описывают содержание LSDB * *LSR* --- пакеты, с помощью которых запрашивается полная информация об LSA, которых недостает в LSDB локального маршрутизатора |
... |
* *LSAck* --- пакеты, с помощью которых подтверждается получение других пакетов |
h3. Соседи. Установка отношений соседства. |
h3. Соседи и установка отношений соседства |
Обнаружение соседей начинается после того как: |
... |
У маршрутизаторов должны совпадать сеть и маска сети. |
Для того чтобы маршрутизаторы установили отношения соседства у них, кроме уже перечисленных критериев, должны совпадать значения *IP MTU* на интерфейсах. Информация о значении *IP MTU* передается в DBD-пакетах и сравнивается в начале обмена DBD-пакетами. |
|
h2. Поиск и устранение неисправностей. |
|
h5. Шаг 1. Проверить правильность настройки OSPF согласно [статье|REDUCTOR9:Настройка OSPF для получения маршрутов до абонентов]. |
Все приведённые ниже команды можно вполнить только внутри контейнера BGP Blackhole, то есть после выполнения команды |
|
h5. Шаг 2. Проверить наличие соседей. |
{code} |
chroot /app/bgp_blackhole {code} h3. 1. Настройте OSPF Как это сделать подробно описано в [статье|REDUCTOR9:Настройка OSPF для получения маршрутов до абонентов]. h3. 2. Проверьте наличие соседей {code} |
sh ip ospf neighbor {code} |
... |
Если соседи есть, то OSPF работает. |
h5. Шаг 3. Проверить введенные данные при настройке OSPF на Шаг 1 и сравнить с конфигом: |
h3. 3. Проверьте сгенерированный конфигурационный файл Конфигурационный файл сервера OSPF можно просмотреть командой: |
{code} cat /etc/frr/ospfd.conf {code} |
При несоответствии исправить необходимые параметры. Сам конфиг генерируется из шаблона /usr/local/share/frr5/ospfd.conf.j2 |
он генерируется на основе введённых в меню настройки параметров из шаблона: |
|
h5. Шаг 4. Проверить соответствующие заданные параметры Hello Interval,Router Dead Interval,Area ID,Authentication |
{code} /usr/local/share/frr5/ospfd.conf.j2 {code} |
|
h5. Шаг 5. Проверьте наличие OSPF пакетов на настроенном интерфейсе и в сети: |
При несоответствии нужно исправить необходимые параметры. Особое внимание обратите на параметры: * Hello Interval * Router Dead Interval * Area ID * Authentication h3. 4. Проверьте наличие OSPF трафика Пусть eth1 - интерфейс, на котором должны быть доступны соседи. |
{code} |
tcpdump -nvvv proto ospf |
tcpdump -nvvvi eth1 proto ospf |
{code} |
Если используется VLAN, например трафик должен быть на интерфейсе eth1.15, но его нет - попробуйте исключить путаницу с номером тега - проверьте наличие трафика на eth1. Если трафика нет, возможно, соседи доступны на другом интерфейсе. Проверьте все интерфейсы сразу: {code} tcpdump -nvvvi any proto ospf {code} |
Должны присутствовать данные LSDB |
h5. Шаг 6. Если все предыдущие условия не привели к пониманию ошибки, необходимо использовать debug |
Если сервера обмениваются только Hello-пакетами, возможно один из них сбрасывает OSPF-пакеты на уровне файрвола. В Carbon Reductor файрвол конфигурируется автоматически, на Linux-соседе можно добавить правило в iptables: |
|
{code} iptables -I INPUT -p ospf -j ACCEPT {code} h3. 5. Воспользуйтесь режимом отладки |
Варианты: {code} |
# vtysh -d ospfd |
debug ospf packet hello debug ospf lsa |
... |
{code} |
Результаты будут отображаться в /var/log/frr/ospfd.log |
|
После завершения debug не забудьте его отключить "no debug ..." |
{code} /var/log/frr/ospfd.log {code} Если пользовались режимом отладки, то после завершения работ его нужно отключить. Перезапустите контейнер командой: {code} /app/bgp_blackhole/service restart {code} |