Статические маршруты работают, пока сеть маленькая. Но когда у вас три филиала, два провайдера и десять подсетей — вы понимаете, что вручную прописывать маршруты на каждом роутере это боль, а при падении канала всё ломается, пока вы не приедете и не поменяете конфиг.
Динамическая маршрутизация решает эту проблему. Роутеры сами обмениваются информацией о сетях, автоматически выбирают лучший путь и пересчитывают маршруты при авариях. Вы настраиваете один раз — дальше сеть живёт сама.
В этой статье мы разберём настройку динамической маршрутизации OSPF с нуля: от теории до рабочей конфигурации. Плюс бонусом — введение в BGP для тех, кто подключается к провайдерам.
Когда пора переходить со статики на динамику
Статическая и динамическая маршрутизация — это два подхода к управлению таблицами маршрутизации. Вопрос «что выбрать?» возникает у каждого, кто столкнулся с ростом сети.
Признаки того, что статика больше не справляется:
- Больше 3-5 роутеров в сети — прописывать статику на каждом становится утомительно
- Несколько каналов связи между площадками — при падении одного канала нужно вручную переключаться на резервный
- Частые изменения топологии — добавление новых филиалов, изменение IP-адресации
- Нужна отказоустойчивость — сеть должна автоматически перестраиваться при авариях
- Подключение к нескольким провайдерам — балансировка и резервирование каналов
- Географически распределённая сеть — головной офис + филиалы в разных городах
Примеры реальных кейсов:
Кейс 1: Сеть магазинов
Головной офис + 15 филиалов, связь через VPN. При статической маршрутизации каждое изменение (новый магазин, смена IP) требует правки на всех 16 роутерах. С OSPF — настроили один раз, дальше сеть сама распространяет маршруты.
Кейс 2: Офис с резервированием
Два провайдера (основной + резервный). Статика требует скриптов для переключения. OSPF или BGP переключают автоматически за секунды.
Кейс 3: Датацентр
Сотни серверов, множество VLAN, несколько точек выхода в интернет. Без динамической маршрутизации — невозможно управлять.
Теория: что такое динамическая таблица маршрутизации
Прежде чем лезть в настройку, давайте разберёмся с базовыми понятиями.
Таблица маршрутизации: статическая vs динамическая
Статическая таблица маршрутизации — это когда вы вручную прописываете каждый маршрут:
# Статические маршруты (Cisco) ip route 192.168.10.0 255.255.255.0 10.0.1.2 ip route 192.168.20.0 255.255.255.0 10.0.1.2 ip route 192.168.30.0 255.255.255.0 10.0.2.2 # Если канал 10.0.1.2 упадёт — все эти сети станут недоступны
Динамическая таблица маршрутизации — это когда роутеры сами обмениваются информацией о доступных сетях и автоматически заполняют таблицу:
# Вы настраиваете только OSPF-процесс router ospf 1 network 10.0.1.0 0.0.0.255 area 0 network 192.168.1.0 0.0.0.255 area 0 # Роутер сам узнаёт о сетях от соседей и добавляет их в таблицу: # O 192.168.10.0/24 [110/20] via 10.0.1.2 # O 192.168.20.0/24 [110/20] via 10.0.1.2 # O 192.168.30.0/24 [110/30] via 10.0.2.2 # Если 10.0.1.2 упадёт — OSPF пересчитает маршруты через 10.0.2.2
Протоколы динамической маршрутизации: какой выбрать
Существует несколько протоколов динамической маршрутизации. Вот основные:
| Протокол | Тип | Применение | Когда использовать |
|---|---|---|---|
| RIP | Distance Vector | Малые сети (устарел) | Почти никогда. Только для учебных целей |
| OSPF | Link State | Внутри одной организации | Корпоративные сети, филиалы, датацентры |
| EIGRP | Hybrid | Только Cisco (proprietary) | Если вся сеть на Cisco и не планируется миграция |
| BGP | Path Vector | Между провайдерами | Подключение к интернету, несколько провайдеров |
| IS-IS | Link State | Крупные провайдеры | Альтернатива OSPF в больших сетях |
Золотое правило выбора:
- Внутри вашей компании (IGP) → OSPF
- Для подключения к провайдерам (EGP) → BGP
- Для учёбы и понимания принципов → RIP
Как работает динамическая маршрутизация OSPF (упрощённо)
- Обнаружение соседей: Роутеры отправляют Hello-пакеты, находят друг друга
- Обмен информацией о топологии: Каждый роутер рассказывает соседям о своих подключенных сетях
- Построение карты сети: Каждый роутер собирает полную картину топологии (LSDB — Link State Database)
- Расчёт маршрутов: Алгоритм Дейкстры вычисляет кратчайший путь до каждой сети
- Заполнение таблицы маршрутизации: Лучшие маршруты добавляются в таблицу
- Мониторинг изменений: Если топология меняется — пересчёт происходит автоматически
Время сходимости (convergence time) — это как быстро сеть пересчитает маршруты после изменения топологии. У OSPF это обычно 1-5 секунд.
Подготовка к настройке динамической маршрутизации
Прежде чем настраивать OSPF, нужно иметь чёткое понимание топологии и адресации. Без этого вы будете тыкать вслепую.
Шаг 1: Нарисуйте топологию сети
Используйте любой инструмент (draw.io, Visio, даже бумагу), но обязательно нарисуйте схему:
- Все роутеры и их названия
- Все каналы связи между ними
- IP-адреса на каждом интерфейсе
- Подсети, которые нужно анонсировать
Пример топологии для нашей настройки:
[HQ-Router]
10.0.0.1/30
|
+--------------+--------------+
| |
10.0.0.2/30 10.0.0.5/30
[Branch1-Router] [Branch2-Router]
192.168.10.1/24 192.168.20.1/24
| |
[LAN филиал 1] [LAN филиал 2]
192.168.10.0/24 192.168.20.0/24
Шаг 2: Проверьте IP-адресацию
Убедитесь, что:
- IP-адреса не пересекаются
- Маски подсетей правильные
- На каждом интерфейсе настроен IP
- Между роутерами есть физическая связность (можно пропинговать напрямую подключенные интерфейсы)
Шаг 3: Определите OSPF Area
OSPF делит сеть на области (Area). Для простых сетей используйте Area 0 (backbone).
Сложная топология с несколькими Area — это уже продвинутый уровень, пока не усложняйте.
Шаг 4: Соберите информацию
Перед настройкой запишите:
| Параметр | Значение |
|---|---|
| OSPF Process ID | 1 (локальное значение, может быть любым) |
| Area ID | 0 (backbone area) |
| Router ID | Самый высокий IP на loopback (или вручную) |
| Сети для анонсирования | Список подсетей, которые должны быть видны в OSPF |
Пошаговая настройка динамической маршрутизации OSPF
Теперь переходим к практике. Будем настраивать на примере Cisco (синтаксис похож на большинство вендоров).
Этап 1: Базовая настройка интерфейсов
Прежде чем включать OSPF, убедитесь, что интерфейсы настроены и работают.
HQ-Router (главный роутер):
configure terminal ! Интерфейс к филиалу 1 interface GigabitEthernet0/0 ip address 10.0.0.1 255.255.255.252 no shutdown ! Интерфейс к филиалу 2 interface GigabitEthernet0/1 ip address 10.0.0.5 255.255.255.252 no shutdown ! Loopback для Router ID (рекомендуется) interface Loopback0 ip address 1.1.1.1 255.255.255.255 end
Branch1-Router (филиал 1):
configure terminal ! Интерфейс к HQ interface GigabitEthernet0/0 ip address 10.0.0.2 255.255.255.252 no shutdown ! Интерфейс к локальной сети филиала interface GigabitEthernet0/1 ip address 192.168.10.1 255.255.255.0 no shutdown ! Loopback для Router ID interface Loopback0 ip address 2.2.2.2 255.255.255.255 end
Branch2-Router (филиал 2):
configure terminal ! Интерфейс к HQ interface GigabitEthernet0/0 ip address 10.0.0.6 255.255.255.252 no shutdown ! Интерфейс к локальной сети филиала interface GigabitEthernet0/1 ip address 192.168.20.1 255.255.255.0 no shutdown ! Loopback для Router ID interface Loopback0 ip address 3.3.3.3 255.255.255.255 end
Проверка связности:
! На HQ-Router проверяем доступность соседей ping 10.0.0.2 ping 10.0.0.6 ! Должны получить ответы. Если нет — проверяйте кабели, интерфейсы, firewall
Этап 2: Включение процесса OSPF
Теперь включаем OSPF на каждом роутере. Process ID (в нашем случае «1») — это локальное значение, может быть разным на разных роутерах.
HQ-Router:
configure terminal ! Включаем OSPF процесс router ospf 1 ! Явно задаём Router ID (рекомендуется) router-id 1.1.1.1 ! Логирование изменений соседства (для отладки) log-adjacency-changes end
Branch1-Router:
configure terminal router ospf 1 router-id 2.2.2.2 log-adjacency-changes end
Branch2-Router:
configure terminal router ospf 1 router-id 3.3.3.3 log-adjacency-changes end
Этап 3: Анонсирование сетей в OSPF
Теперь самое важное — указываем, какие сети участвуют в OSPF. Для этого используем команду network.
Синтаксис: network [адрес сети] [wildcard маска] area [номер area]
Wildcard маска — это инверсия обычной маски. Примеры:
- /24 (255.255.255.0) → wildcard 0.0.0.255
- /30 (255.255.255.252) → wildcard 0.0.0.3
- /32 (255.255.255.255) → wildcard 0.0.0.0
HQ-Router (анонсируем интерфейсы):
configure terminal router ospf 1 ! Анонсируем сеть к филиалу 1 (10.0.0.0/30) network 10.0.0.0 0.0.0.3 area 0 ! Анонсируем сеть к филиалу 2 (10.0.0.4/30) network 10.0.0.4 0.0.0.3 area 0 ! Loopback (опционально, но рекомендуется) network 1.1.1.1 0.0.0.0 area 0 end
Branch1-Router:
configure terminal router ospf 1 ! Анонсируем сеть к HQ (10.0.0.0/30) network 10.0.0.0 0.0.0.3 area 0 ! Анонсируем локальную сеть филиала (192.168.10.0/24) network 192.168.10.0 0.0.0.255 area 0 ! Loopback network 2.2.2.2 0.0.0.0 area 0 end
Branch2-Router:
configure terminal router ospf 1 ! Анонсируем сеть к HQ (10.0.0.4/30) network 10.0.0.4 0.0.0.3 area 0 ! Анонсируем локальную сеть филиала (192.168.20.0/24) network 192.168.20.0 0.0.0.255 area 0 ! Loopback network 3.3.3.3 0.0.0.0 area 0 end
network можно использовать ip ospf [process-id] area [area-id] прямо на интерфейсе:interface GigabitEthernet0/0
ip ospf 1 area 0Это более точный метод, особенно удобен на MikroTik и Juniper.
Этап 4: Проверка соседства и таблицы маршрутизации
После настройки роутеры должны установить соседство (adjacency). Это главный показатель, что OSPF работает.
Команда 1: Проверка соседей OSPF
! На HQ-Router show ip ospf neighbor ! Вывод должен быть таким: Neighbor ID Pri State Dead Time Address Interface 2.2.2.2 1 FULL/ - 00:00:35 10.0.0.2 GigabitEthernet0/0 3.3.3.3 1 FULL/ - 00:00:38 10.0.0.6 GigabitEthernet0/1 ! State = FULL — это хорошо, соседство установлено ! State = 2WAY, EXSTART, LOADING — промежуточные состояния, должны смениться на FULL
⚠️ Если соседи не появляются:
- Проверьте физическую связность (ping)
- Убедитесь, что интерфейсы в одной подсети
- Проверьте, что Area ID совпадает
- Проверьте таймеры Hello/Dead (должны совпадать)
- Проверьте, нет ли ACL или firewall, блокирующих multicast 224.0.0.5
Команда 2: Проверка таблицы маршрутизации
! На HQ-Router show ip route ospf ! Вывод: O 192.168.10.0/24 [110/2] via 10.0.0.2, 00:05:23, GigabitEthernet0/0 O 192.168.20.0/24 [110/2] via 10.0.0.6, 00:05:18, GigabitEthernet0/1 ! "O" — маршрут изучен через OSPF ! [110/2] — административная дистанция 110, метрика 2 ! via 10.0.0.2 — следующий хоп (next-hop)
Теперь проверим на филиалах:
! На Branch1-Router show ip route ospf ! Вывод: O 192.168.20.0/24 [110/3] via 10.0.0.1, 00:04:52, GigabitEthernet0/0 ! Филиал 1 видит сеть филиала 2 через HQ — работает!
Команда 3: Полная проверка OSPF
! Общая информация о OSPF процессе show ip ospf ! Информация о базе данных LSDB show ip ospf database ! Какие интерфейсы участвуют в OSPF show ip ospf interface brief
Тест связности end-to-end:
! С филиала 1 пингуем сеть филиала 2 ping 192.168.20.1 ! Должен быть успешный ответ ! Если нет — проверяем таблицу маршрутизации: show ip route 192.168.20.0
🎉 Поздравляю! Динамическая маршрутизация OSPF работает!
Теперь ваши роутеры автоматически обмениваются маршрутами и пересчитывают пути при авариях.
Типичные проблемы при настройке протоколов динамической маршрутизации
Даже опытные инженеры сталкиваются с проблемами. Вот самые частые и их решения.
Проблема 1: Соседи не устанавливаются (No neighbors)
Симптомы: show ip ospf neighbor пустой, соседство не формируется.
Возможные причины и решения:
| Причина | Как проверить | Решение |
|---|---|---|
| Нет физической связности | ping [IP соседа] |
Проверьте кабель, интерфейсы (no shutdown) |
| Интерфейс не в OSPF | show ip ospf interface |
Добавьте network или ip ospf area |
| Разные Area ID | show ip ospf interface |
Убедитесь, что оба роутера в одной Area |
| Несовпадение таймеров Hello/Dead | show ip ospf interface |
Приведите таймеры к стандартным (Hello 10s, Dead 40s) |
| Интерфейс в passive mode | show ip ospf interface |
Уберите passive-interface |
| MTU mismatch | show interface |
Приведите MTU к единому значению (обычно 1500) |
| Firewall блокирует OSPF | Проверьте ACL, iptables | Разрешите multicast 224.0.0.5, протокол 89 |
Проблема 2: Соседи в состоянии 2WAY (застряли)
Симптомы: Соседи видны, но State = 2WAY, не переходят в FULL.
Причина: На сегментах типа Ethernet один роутер должен стать DR (Designated Router), другой — BDR (Backup DR). Если выборы не происходят — застревают в 2WAY.
Решение:
! Если это point-to-point канал, переведите в режим p2p interface GigabitEthernet0/0 ip ospf network point-to-point ! Или вручную задайте priority interface GigabitEthernet0/0 ip ospf priority 100
ip ospf network point-to-pointЭто избавит от выборов DR/BDR и ускорит сходимость.
Проблема 3: Маршруты не появляются в таблице
Симптомы: Соседство FULL, но маршрутов в show ip route ospf нет.
Причины:
- Сеть не анонсирована: Проверьте
show ip ospf database— если там нет нужной сети, значит она не попала в OSPF - Административная дистанция выше: Есть статический маршрут с меньшей AD (например, AD=1 против AD=110 у OSPF)
- Интерфейс passive: Passive-интерфейс анонсирует сеть, но не формирует соседство
Решение:
! Проверка, анонсирована ли сеть show ip ospf database ! Если сети нет, добавьте network router ospf 1 network 192.168.30.0 0.0.0.255 area 0 ! Проверка конкурирующих маршрутов show ip route 192.168.30.0 ! Если есть статика — либо удалите, либо увеличьте AD ip route 192.168.30.0 255.255.255.0 10.0.0.1 200
Проблема 4: Медленная сходимость (долго пересчитываются маршруты)
Симптомы: При падении канала сеть недоступна 30+ секунд.
Решение: Настройте BFD (Bidirectional Forwarding Detection) — протокол быстрого обнаружения отказов:
! Включение BFD на интерфейсе interface GigabitEthernet0/0 bfd interval 300 min_rx 300 multiplier 3 ip ospf bfd ! Теперь отказ обнаружится за ~1 секунду вместо 40
Проблема 5: Петли маршрутизации
Симптомы: Пакеты ходят по кругу, TTL истекает.
Причина: Обычно это проблема редистрибуции маршрутов (когда OSPF взаимодействует с другими протоколами).
Решение: Используйте route-maps с deny для предотвращения обратного импорта.
Бонус: Введение в динамическую маршрутизацию BGP
Если OSPF — это для внутренней сети компании, то BGP (Border Gateway Protocol) — это протокол для подключения к интернету и взаимодействия с провайдерами.
Когда нужен BGP
- Два и более интернет-провайдера — нужна балансировка и резервирование
- Собственный AS (Autonomous System) — у вас есть независимый номер AS
- Собственный IP-блок — провайдер выделил вам публичную подсеть /24 или больше
- Нужен контроль входящего трафика — выбор путей через разных провайдеров
Пример базовой конфигурации BGP
Сценарий: Вы получили AS65001, подсеть 203.0.113.0/24, подключаетесь к провайдеру (AS65000).
configure terminal ! Включаем BGP с вашим номером AS router bgp 65001 ! BGP Router ID (обычно loopback) bgp router-id 1.1.1.1 ! Анонсируем вашу подсеть в интернет network 203.0.113.0 mask 255.255.255.0 ! Настраиваем соседство с провайдером (eBGP) neighbor 198.51.100.1 remote-as 65000 neighbor 198.51.100.1 description ISP-Provider-1 ! Опционально: фильтры, чтобы не получать весь интернет-таблицу neighbor 198.51.100.1 prefix-list DEFAULT-ONLY in end ! Создаём prefix-list для получения только default route ip prefix-list DEFAULT-ONLY permit 0.0.0.0/0
Проверка BGP
! Проверка соседства BGP show ip bgp summary ! Вывод: Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 198.51.100.1 4 65000 152 148 23 0 0 02:15:32 1 ! State/PfxRcd = 1 — получен один префикс (default route), соседство UP ! Проверка BGP-таблицы show ip bgp ! Проверка анонсов к провайдеру show ip bgp neighbors 198.51.100.1 advertised-routes
Основные отличия BGP от OSPF
| Параметр | OSPF | BGP |
|---|---|---|
| Тип протокола | IGP (Interior Gateway Protocol) | EGP (Exterior Gateway Protocol) |
| Область применения | Внутри одной организации | Между провайдерами, AS |
| Метрика | Cost (пропускная способность) | AS Path, атрибуты (политики) |
| Сходимость | Быстрая (секунды) | Медленная (минуты) |
| Масштаб | До ~500 роутеров в одной Area | Миллионы маршрутов (весь интернет) |
| Сложность настройки | Средняя | Высокая |
Связка OSPF + BGP (типичная схема)
В реальных сетях часто используют оба протокола:
- BGP на границе: Подключение к провайдерам, получение маршрутов из интернета
- OSPF внутри: Распространение маршрутов между внутренними роутерами
- Редистрибуция: BGP передаёт default route в OSPF, OSPF анонсирует внутренние сети в BGP
! На пограничном роутере (Border Router) ! BGP получает default route от провайдера router bgp 65001 neighbor 198.51.100.1 remote-as 65000 network 203.0.113.0 mask 255.255.255.0 ! OSPF распространяет default route внутрь сети router ospf 1 default-information originate always redistribute bgp 65001 subnets ! Теперь внутренние роутеры знают default route через OSPF
🔥 Хотите углубиться в BGP?
Изучите курс BGP от Cisco (CCNP ENARSI) или книгу «Internet Routing Architectures» от Cisco Press.
Подпишитесь на наш Telegram-канал — там разборы сложных кейсов BGP и OSPF!
Заключение: статическая vs динамическая маршрутизация
Теперь вы знаете, как настроить динамическую маршрутизацию OSPF и понимаете основы BGP. Давайте подведём итоги.
Когда использовать что:
| Сценарий | Рекомендация |
|---|---|
| Офис + 1 провайдер | Статика (простота и надёжность) |
| Офис + 2-3 филиала | OSPF (автоматизация, отказоустойчивость) |
| Много филиалов, сложная топология | OSPF (обязательно) |
| Два интернет-провайдера | BGP или статика с PBR |
| Собственный AS, публичная подсеть | BGP (обязательно) |
| Датацентр, облако | OSPF + BGP (комбинация) |
Ключевые моменты, которые нужно запомнить:
- ✅ Динамическая таблица маршрутизации — это таблица, которая обновляется автоматически по протоколам OSPF, BGP и т.д.
- ✅ OSPF — стандарт для корпоративных сетей, работает на любом оборудовании
- ✅ BGP — для подключения к провайдерам и управления интернет-трафиком
- ✅ Проверка соседства — первое, что нужно сделать после настройки:
show ip ospf neighbor - ✅ Типичные ошибки — несовпадение Area, MTU, passive-интерфейсы
- ✅ Статика проще для малых сетей, динамика — необходима для больших и отказоустойчивых
Что дальше?
Вы настроили базовый OSPF. Следующие шаги для роста:
- Multi-area OSPF: Разделение сети на несколько Area для масштабируемости
- OSPF authentication: Защита от несанкционированных соседей
- Route summarization: Агрегация маршрутов для уменьшения таблицы
- Stub areas: Уменьшение размера LSDB в удалённых филиалах
- BGP advanced: Атрибуты, политики маршрутизации, MED, AS-PATH prepend
- MPLS: Для сервис-провайдеров и крупных корпораций
💬 Остались вопросы по настройке динамической маршрутизации?
Пишите в комментариях — разберём вашу топологию и поможем настроить!
Подпишитесь на наш Telegram-канал IT-Аптека — там примеры конфигураций, разборы ошибок и ответы на ваши вопросы от практикующих сетевых инженеров.


