Статическая маршрутизация (Static Routes)

Статическая маршрутизация (Static Routes)

Статические маршруты - это маршруты, настроенные вручную администратором, которые не изменяются автоматически при изменении топологии сети.

Обзор

Статическая маршрутизация используется когда:

  • Простая топология сети
  • Предсказуемые маршруты
  • Минимальные требования к ресурсам
  • Полный контроль над маршрутизацией
  • Нет необходимости в автоматической адаптации

Преимущества:

  • Простая конфигурация
  • Предсказуемое поведение
  • Нет overhead протоколов маршрутизации
  • Полный контроль
  • Безопасность (нет динамического обмена)

Недостатки:

  • Ручное управление
  • Нет автоматического failover
  • Не масштабируется для больших сетей
  • Требует ручного обновления при изменениях

IPv4 статические маршруты

Базовый маршрут

Маршрут с next-hop адресом:

set protocols static route 192.168.2.0/24 next-hop 10.0.0.2
commit

Синтаксис:

set protocols static route <сеть/префикс> next-hop <IP-адрес>

Маршрут через интерфейс

Когда next-hop находится в directly connected сети:

set protocols static route 192.168.3.0/24 interface eth1
commit

Полезно для point-to-point каналов.

Маршрут по умолчанию

Default gateway (0.0.0.0/0):

set protocols static route 0.0.0.0/0 next-hop 192.0.2.1
commit

Весь трафик, не соответствующий другим маршрутам, пойдет через этот next-hop.

Множественные next-hop

Балансировка нагрузки через несколько путей:

set protocols static route 192.168.10.0/24 next-hop 10.0.0.2
set protocols static route 192.168.10.0/24 next-hop 10.0.0.3
commit

Трафик будет распределяться между обоими next-hop (ECMP - Equal-Cost Multi-Path).

Administrative Distance

Приоритет маршрута при наличии нескольких источников одной сети.

Установка distance

set protocols static route 192.168.5.0/24 next-hop 10.0.0.2 distance 10
commit

Значения:

  • 1 - по умолчанию для статических маршрутов
  • 1-255 - допустимый диапазон
  • 255 - маршрут отключен

Floating Static Route

Резервный маршрут с большим distance:

# Основной маршрут (через OSPF, AD=110)
set protocols ospf ...

# Резервный статический маршрут
set protocols static route 192.168.20.0/24 next-hop 10.0.0.10 distance 120
commit

Статический маршрут активируется только если OSPF маршрут пропадет.

Blackhole Routes

Маршруты, которые молча отбрасывают пакеты (без ICMP).

set protocols static route 192.168.100.0/24 blackhole
commit

Используется для:

  • Предотвращения routing loops
  • Безопасности (блокировка нежелательного трафика)
  • Агрегации маршрутов

Blackhole с distance

set protocols static route 10.0.0.0/8 blackhole distance 200
commit

Reject Routes

Маршруты, которые отклоняют пакеты с отправкой ICMP unreachable.

set protocols static route 172.16.0.0/12 reject
commit

Отличие от blackhole:

  • blackhole - молча отбрасывает (no ICMP)
  • reject - отправляет ICMP destination unreachable

BFD Support

Bidirectional Forwarding Detection для быстрого обнаружения отказов next-hop.

Включение BFD

set protocols static route 192.168.30.0/24 next-hop 10.0.0.5 bfd
commit

BFD сессия мониторит доступность next-hop и автоматически удаляет маршрут при отказе.

Настройка BFD профиля

set protocols bfd profile static-routes interval transmit 300
set protocols bfd profile static-routes interval receive 300
set protocols bfd profile static-routes interval multiplier 3

set protocols static route 192.168.40.0/24 next-hop 10.0.0.6 bfd profile static-routes
commit

Параметры BFD:

  • transmit - интервал отправки (мс)
  • receive - интервал приема (мс)
  • multiplier - количество пропущенных пакетов до объявления down

Disable Route

Временное отключение маршрута без удаления конфигурации:

set protocols static route 192.168.50.0/24 next-hop 10.0.0.7 disable
commit

IPv6 статические маршруты

Базовый IPv6 маршрут

set protocols static route6 2001:db8:2::/64 next-hop 2001:db8:1::2
commit

IPv6 маршрут через интерфейс

set protocols static route6 2001:db8:3::/64 interface eth1
commit

IPv6 default route

set protocols static route6 ::/0 next-hop 2001:db8:1::1
commit

IPv6 blackhole

set protocols static route6 2001:db8:100::/48 blackhole
commit

Routing Tables и VRF

Статические маршруты в альтернативных таблицах маршрутизации (VRF).

Маршрут в VRF

set vrf name MGMT table 100
set protocols static route 192.168.99.0/24 interface eth2 vrf MGMT
commit

Проверка маршрутов в VRF

show ip route vrf MGMT

Примеры конфигурации

Простая сеть с двумя локациями

Топология:

[Site A] ---- 10.0.0.0/30 ---- [Site B]
192.168.1.0/24             192.168.2.0/24

Site A конфигурация:

set protocols static route 192.168.2.0/24 next-hop 10.0.0.2
commit

Site B конфигурация:

set protocols static route 192.168.1.0/24 next-hop 10.0.0.1
commit

Default route к ISP

set protocols static route 0.0.0.0/0 next-hop 203.0.113.1
set protocols static route 0.0.0.0/0 description 'Default route to ISP'
commit

Dual ISP с failover

Топология:

        ISP1 (primary)
         |
      VyOS Router
         |
        ISP2 (backup)

Конфигурация:

# Primary ISP (lower distance)
set protocols static route 0.0.0.0/0 next-hop 198.51.100.1 distance 10

# Backup ISP (higher distance)
set protocols static route 0.0.0.0/0 next-hop 203.0.113.1 distance 20

commit

Backup маршрут активируется только при недоступности primary.

Load balancing через два канала

set protocols static route 0.0.0.0/0 next-hop 198.51.100.1
set protocols static route 0.0.0.0/0 next-hop 203.0.113.1
commit

Трафик распределяется between both next-hops (ECMP).

Blackhole для безопасности

Блокировка доступа к внутренней management сети из DMZ:

set protocols static route 192.168.99.0/24 blackhole
commit

VPN site-to-site маршруты

После настройки VPN туннеля (например, WireGuard):

set protocols static route 192.168.10.0/24 interface wg0
set protocols static route 192.168.20.0/24 interface wg0
commit

Aggregate route с blackhole

Анонсировать агрегированный префикс, используя blackhole для несуществующих подсетей:

# Агрегат
set protocols static route 10.0.0.0/16 blackhole distance 200

# Конкретные подсети
set protocols static route 10.0.1.0/24 next-hop 10.1.1.1
set protocols static route 10.0.2.0/24 next-hop 10.1.1.2

commit

Blackhole с высоким distance не активируется, пока есть более специфичные маршруты.

Multi-site hub-and-spoke

Hub конфигурация:

# Routes to spokes
set protocols static route 192.168.10.0/24 next-hop 10.10.0.10
set protocols static route 192.168.20.0/24 next-hop 10.10.0.20
set protocols static route 192.168.30.0/24 next-hop 10.10.0.30
commit

Spoke конфигурация (например, Spoke1):

# Default to hub
set protocols static route 0.0.0.0/0 next-hop 10.10.0.1

# Specific routes to other spokes (optional)
set protocols static route 192.168.20.0/24 next-hop 10.10.0.1
set protocols static route 192.168.30.0/24 next-hop 10.10.0.1
commit

Операционные команды

Просмотр таблицы маршрутизации

Все маршруты:

show ip route

Только статические:

show ip route static

Конкретная сеть:

show ip route 192.168.1.0/24

IPv6:

show ipv6 route
show ipv6 route static

Детали маршрута

show ip route 192.168.1.0/24 detail

Статистика

show ip route summary

Проверка связности

ping 192.168.2.1
traceroute 192.168.2.1

Ping с source-address:

ping 192.168.2.1 source-address 192.168.1.1

Устранение неполадок

Маршрут не появляется в таблице

Проверьте конфигурацию:

show configuration commands | grep static

Проверьте next-hop доступность:

ping <next-hop-IP>

Проверьте interface status:

show interfaces

Трафик не проходит

Проверьте маршрут:

show ip route <destination>

Traceroute:

traceroute <destination>

Проверьте firewall:

show firewall

Проверьте NAT (если применимо):

show nat source rules

ECMP не балансирует

Убедитесь что оба next-hop имеют одинаковый distance:

show ip route static

Проверьте, что оба пути активны:

show ip route <network> detail

Floating route не активируется

Проверьте distance:

show ip route <network> detail

Убедитесь что distance floating route выше чем у основного.

Интеграция с динамическими протоколами

Redistribute static в OSPF

set protocols ospf redistribute static
commit

Redistribute static в BGP

set protocols bgp system-as 65001
set protocols bgp redistribute static
commit

Route-map для selective redistribution

set policy route-map STATIC-TO-OSPF rule 10 action permit
set policy route-map STATIC-TO-OSPF rule 10 match ip address prefix-list ALLOWED-PREFIXES

set protocols ospf redistribute static route-map STATIC-TO-OSPF
commit

Лучшие практики

  1. Документируйте маршруты - используйте description
  2. Используйте distance - для failover scenarios
  3. Планируйте IP-адресацию - суммаризация префиксов
  4. Тестируйте failover - проверяйте backup маршруты
  5. Мониторинг - отслеживайте состояние next-hop
  6. BFD - для быстрого обнаружения отказов
  7. Резервное копирование - сохраняйте конфигурацию
  8. Избегайте loops - проверяйте симметрию маршрутов
  9. Route aggregation - используйте blackhole routes
  10. Логирование - документируйте изменения

Когда использовать статические маршруты

Подходит для:

  • Малые сети (< 5 роутеров)
  • Stub сети (только один выход)
  • Default routes
  • Host routes
  • VPN site-to-site
  • Lab/test среды

Не подходит для:

  • Большие сети (> 10 роутеров)
  • Частые изменения топологии
  • Требование автоматического failover
  • Mesh топологии
  • Когда нужна быстрая конвергенция

Миграция на динамическую маршрутизацию

При росте сети может потребоваться переход на динамическую маршрутизацию.

Постепенная миграция

  1. Запустите динамический протокол параллельно
  2. Используйте distance для контроля предпочтений
  3. Постепенно убирайте статические маршруты
  4. Тестируйте на каждом этапе

Hybrid подход

Комбинация статических и динамических маршрутов:

  • Static для stub sites
  • Dynamic (OSPF/BGP) для core
  • Redistribute static в dynamic protocol

Следующие шаги

  • OSPF - для автоматической маршрутизации в enterprise
  • BGP - для подключения к ISP
  • VRF - изоляция маршрутных таблиц
  • BFD - быстрое обнаружение отказов