Files
shx-network/ospf_ihor_swe_routing.md
T

12 KiB
Raw Blame History

Настройка OSPF для получения маршрута 0.0.0.0/0 через IHOR→SWE-HIPHOST

Текущая ситуация

У вас настроено:

  • OSPF area 0.0.0.4
  • Получение маршрута 0.0.0.0/0 от SWE-HIPHOST напрямую
  • Нужно получать маршрут 0.0.0.0/0 через IHOR→SWE-HIPHOST (10.200.2.2)

Архитектура решения

graph TB
    subgraph "HOME"
        HOME[HOME<br/>home.rt.shx.su]
    end
    
    subgraph "Москва"
        IHOR[MSK-IHOR<br/>msk.ihor.rt.shx.su]
    end
    
    subgraph "Швеция"
        SWE[SWE-HIPHOST<br/>swe.hiphost.rt.shx.su]
    end
    
    %% GRE туннели
    HOME -- "GRE RTK→IHOR<br/>10.100.4.0/30" --> IHOR
    HOME -- "GRE RTK→SWE<br/>10.100.6.0/30" --> SWE
    
    %% Межсерверный туннель
    IHOR -- "GRE IHOR→SWE<br/>10.200.2.0/30" --> SWE
    
    %% OSPF маршруты
    SWE -. "OSPF 0.0.0.0/0<br/>через IHOR" .- IHOR
    IHOR -. "OSPF 0.0.0.0/0<br/>area 0.0.0.4" .- HOME
    
    style HOME fill:#e1f5fe
    style IHOR fill:#ff9800
    style SWE fill:#4caf50

Пошаговая настройка

Шаг 1: Настройка GRE туннеля IHOR→SWE-HIPHOST

На MSK-IHOR (msk.ihor.rt.shx.su):

# Создать GRE туннель к SWE-HIPHOST (если не создан)
/interface gre add name=gre-SWE-HIPHOST remote-address=<SWE_WAN_IP> local-address=<IHOR_WAN_IP>
/ip address add address=10.200.2.1/30 interface=gre-SWE-HIPHOST

# Добавить в OSPF area 0.0.0.4
/routing ospf area
add name=ihor-swe-area instance=default area-id=0.0.0.4

/routing ospf interface-template
add interfaces=gre-SWE-HIPHOST cost=10 area=ihor-swe-area

На SWE-HIPHOST (swe.hiphost.rt.shx.su):

# Создать GRE туннель от IHOR (если не создан)
/interface gre add name=gre-IHOR-SWE remote-address=<IHOR_WAN_IP> local-address=<SWE_WAN_IP>
/ip address add address=10.200.2.2/30 interface=gre-IHOR-SWE

# Добавить в OSPF area 0.0.0.4
/routing ospf area
add name=ihor-swe-area instance=default area-id=0.0.0.4

/routing ospf interface-template
add interfaces=gre-IHOR-SWE cost=10 area=ihor-swe-area

Шаг 2: Настройка OSPF на IHOR для анонса маршрута 0.0.0.0/0

На MSK-IHOR (msk.ihor.rt.shx.su):

# Настроить OSPF instance для redistribute
/routing ospf instance
set [ find default=yes ] router-id=10.100.0.3 redistribute=connected,static

# Создать статический маршрут 0.0.0.0/0 через SWE-HIPHOST
/ip route
add dst-address=0.0.0.0/0 gateway=10.200.2.2 distance=1

# Или более точно - только для определенных подсетей
/ip route
add dst-address=173.194.0.0/16 gateway=10.200.2.2 distance=1
add dst-address=74.125.0.0/16 gateway=10.200.2.2 distance=1
add dst-address=142.250.0.0/16 gateway=10.200.2.2 distance=1
add dst-address=172.217.0.0/16 gateway=10.200.2.2 distance=1
add dst-address=216.58.0.0/16 gateway=10.200.2.2 distance=1
add dst-address=34.0.0.0/8 gateway=10.200.2.2 distance=1
add dst-address=35.0.0.0/8 gateway=10.200.2.2 distance=1
add dst-address=142.0.0.0/8 gateway=10.200.2.2 distance=1

Шаг 3: Настройка OSPF на HOME для получения маршрута через IHOR

На HOME (home.rt.shx.su):

# Создать area 0.0.0.4
/routing ospf area
add name=ihor-swe-area instance=default area-id=0.0.0.4

# Добавить GRE туннель к IHOR в area 0.0.0.4
/routing ospf interface-template
add interfaces=gre-MSK-IHOR-RTK cost=10 area=ihor-swe-area
add interfaces=gre-MSK-IHOR-MTS cost=100 area=ihor-swe-area

# Убедиться что GRE туннель к SWE НЕ участвует в OSPF (если не нужен прямой маршрут)
# /routing ospf interface-template remove [ find where interfaces=gre-SWE-HIPHOST-RTK ]
# /routing ospf interface-template remove [ find where interfaces=gre-SWE-HIPHOST-MTS ]

Шаг 4: Настройка Policy Based Routing для YouTube

На HOME (home.rt.shx.su):

# Создать routing table YouTube
/routing table
add name=YouTube fib

# Создать address-list для YouTube
/ip firewall address-list
add list=YouTube list=173.194.0.0/16 comment="YouTube"
add list=YouTube list=74.125.0.0/16 comment="YouTube"
add list=YouTube list=142.250.0.0/16 comment="YouTube"
add list=YouTube list=172.217.0.0/16 comment="YouTube"
add list=YouTube list=216.58.0.0/16 comment="YouTube"
add list=YouTube list=34.0.0.0/8 comment="YouTube"
add list=YouTube list=35.0.0.0/8 comment="YouTube"
add list=YouTube list=142.0.0.0/8 comment="YouTube"

# Routing rules для YouTube трафика
/routing rule
add dst-address=173.194.0.0/16 action=lookup table=YouTube
add dst-address=74.125.0.0/16 action=lookup table=YouTube
add dst-address=142.250.0.0/16 action=lookup table=YouTube
add dst-address=172.217.0.0/16 action=lookup table=YouTube
add dst-address=216.58.0.0/16 action=lookup table=YouTube
add dst-address=34.0.0.0/8 action=lookup table=YouTube
add dst-address=35.0.0.0/8 action=lookup table=YouTube
add dst-address=142.0.0.0/8 action=lookup table=YouTube

# Маршрут в таблице YouTube через IHOR
/ip route
add dst-address=0.0.0.0/0 gateway=10.100.4.2 routing-table=YouTube distance=1

Альтернативный подход: Использование OSPF cost

Если хотите получать маршрут от обоих серверов, но с приоритетом через IHOR:

На HOME (home.rt.shx.su):

# Добавить оба туннеля в OSPF с разным cost
/routing ospf interface-template
# IHOR (приоритетный) - низкий cost
add interfaces=gre-MSK-IHOR-RTK cost=10 area=ihor-swe-area
add interfaces=gre-MSK-IHOR-MTS cost=100 area=ihor-swe-area

# SWE (резервный) - высокий cost
add interfaces=gre-SWE-HIPHOST-RTK cost=200 area=ihor-swe-area
add interfaces=gre-SWE-HIPHOST-MTS cost=300 area=ihor-swe-area

Проверка настройки

На HOME:

# Проверить OSPF areas
/routing ospf area print

# Проверить OSPF интерфейсы
/routing ospf interface-template print

# Проверить OSPF маршруты
/routing ospf route print

# Проверить таблицу маршрутизации
/ip route print where protocol=ospf

# Проверить routing table YouTube
/ip route print where routing-table=YouTube

На MSK-IHOR:

# Проверить GRE туннель к SWE
/interface gre print where name~"SWE"

# Проверить OSPF соседей
/routing ospf neighbor print

# Проверить анонсируемые маршруты
/routing ospf route print

# Проверить статические маршруты
/ip route print where dst-address=0.0.0.0/0

На SWE-HIPHOST:

# Проверить GRE туннель от IHOR
/interface gre print where name~"IHOR"

# Проверить OSPF соседей
/routing ospf neighbor print

Тестирование

Тест 1: Проверка OSPF соседства

# На HOME проверить OSPF соседей
/routing ospf neighbor print

# Должен показать соседа IHOR в area 0.0.0.4

Тест 2: Проверка маршрутов

# На HOME проверить маршруты
/ip route print where protocol=ospf

# Должен показать маршрут 0.0.0.0/0 через IHOR

Тест 3: Проверка YouTube маршрутизации

# Проверить маршрут к YouTube
traceroute 173.194.0.1

# Должен показать путь: HOME → IHOR → SWE → YouTube

Тест 4: Проверка failover

# Отключить GRE туннель IHOR→SWE
/interface gre disable [ find where name=gre-SWE-HIPHOST ]

# Проверить что маршрут исчез
/ip route print where protocol=ospf

# Включить туннель обратно
/interface gre enable [ find where name=gre-SWE-HIPHOST ]

Возможные проблемы и решения

Проблема 1: OSPF соседство не устанавливается

Решение:

# Проверить GRE туннели
/interface gre print

# Проверить ping через туннели
ping 10.200.2.2 count=5

# Проверить OSPF настройки
/routing ospf area print
/routing ospf interface-template print

Проблема 2: Маршрут 0.0.0.0/0 не анонсируется

Решение:

# На IHOR проверить redistribute
/routing ospf instance print

# Проверить статические маршруты
/ip route print where dst-address=0.0.0.0/0

# Проверить OSPF маршруты
/routing ospf route print

Проблема 3: Маршрут идет не через тот туннель

Решение:

# Проверить cost на интерфейсах
/routing ospf interface-template print

# Проверить distance маршрутов
/ip route print where protocol=ospf

Полная конфигурация для копирования

MSK-IHOR (msk.ihor.rt.shx.su):

# GRE туннель к SWE
/interface gre add name=gre-SWE-HIPHOST remote-address=<SWE_WAN_IP> local-address=<IHOR_WAN_IP>
/ip address add address=10.200.2.1/30 interface=gre-SWE-HIPHOST

# OSPF area 0.0.0.4
/routing ospf area
add name=ihor-swe-area instance=default area-id=0.0.0.4

# OSPF интерфейс
/routing ospf interface-template
add interfaces=gre-SWE-HIPHOST cost=10 area=ihor-swe-area

# Статический маршрут через SWE
/ip route
add dst-address=0.0.0.0/0 gateway=10.200.2.2 distance=1

# OSPF redistribute
/routing ospf instance
set [ find default=yes ] redistribute=connected,static

SWE-HIPHOST (swe.hiphost.rt.shx.su):

# GRE туннель от IHOR
/interface gre add name=gre-IHOR-SWE remote-address=<IHOR_WAN_IP> local-address=<SWE_WAN_IP>
/ip address add address=10.200.2.2/30 interface=gre-IHOR-SWE

# OSPF area 0.0.0.4
/routing ospf area
add name=ihor-swe-area instance=default area-id=0.0.0.4

# OSPF интерфейс
/routing ospf interface-template
add interfaces=gre-IHOR-SWE cost=10 area=ihor-swe-area

HOME (home.rt.shx.su):

# OSPF area 0.0.0.4
/routing ospf area
add name=ihor-swe-area instance=default area-id=0.0.0.4

# OSPF интерфейсы к IHOR
/routing ospf interface-template
add interfaces=gre-MSK-IHOR-RTK cost=10 area=ihor-swe-area
add interfaces=gre-MSK-IHOR-MTS cost=100 area=ihor-swe-area

# Routing table YouTube
/routing table
add name=YouTube fib

# Address-list YouTube
/ip firewall address-list
add list=YouTube list=173.194.0.0/16 comment="YouTube"
add list=YouTube list=74.125.0.0/16 comment="YouTube"
add list=YouTube list=142.250.0.0/16 comment="YouTube"
add list=YouTube list=172.217.0.0/16 comment="YouTube"
add list=YouTube list=216.58.0.0/16 comment="YouTube"
add list=YouTube list=34.0.0.0/8 comment="YouTube"
add list=YouTube list=35.0.0.0/8 comment="YouTube"
add list=YouTube list=142.0.0.0/8 comment="YouTube"

# Routing rules
/routing rule
add dst-address=173.194.0.0/16 action=lookup table=YouTube
add dst-address=74.125.0.0/16 action=lookup table=YouTube
add dst-address=142.250.0.0/16 action=lookup table=YouTube
add dst-address=172.217.0.0/16 action=lookup table=YouTube
add dst-address=216.58.0.0/16 action=lookup table=YouTube
add dst-address=34.0.0.0/8 action=lookup table=YouTube
add dst-address=35.0.0.0/8 action=lookup table=YouTube
add dst-address=142.0.0.0/8 action=lookup table=YouTube

# Маршрут в таблице YouTube
/ip route
add dst-address=0.0.0.0/0 gateway=10.100.4.2 routing-table=YouTube distance=1

Заключение

Данная настройка обеспечивает:

  1. OSPF area 0.0.0.4 для изоляции маршрутов IHOR→SWE
  2. Получение маршрута 0.0.0.0/0 через IHOR (10.200.2.2)
  3. Routing table YouTube для направленного трафика
  4. Автоматический failover через OSPF

Теперь весь YouTube трафик будет идти по маршруту HOME → IHOR → SWE → YouTube через area 0.0.0.4.