# Настройка 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) ## Архитектура решения ```mermaid graph TB subgraph "HOME" HOME[HOME
home.rt.shx.su] end subgraph "Москва" IHOR[MSK-IHOR
msk.ihor.rt.shx.su] end subgraph "Швеция" SWE[SWE-HIPHOST
swe.hiphost.rt.shx.su] end %% GRE туннели HOME -- "GRE RTK→IHOR
10.100.4.0/30" --> IHOR HOME -- "GRE RTK→SWE
10.100.6.0/30" --> SWE %% Межсерверный туннель IHOR -- "GRE IHOR→SWE
10.200.2.0/30" --> SWE %% OSPF маршруты SWE -. "OSPF 0.0.0.0/0
через IHOR" .- IHOR IHOR -. "OSPF 0.0.0.0/0
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): ```shell # Создать GRE туннель к SWE-HIPHOST (если не создан) /interface gre add name=gre-SWE-HIPHOST remote-address= local-address= /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): ```shell # Создать GRE туннель от IHOR (если не создан) /interface gre add name=gre-IHOR-SWE remote-address= local-address= /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): ```shell # Настроить 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): ```shell # Создать 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): ```shell # Создать 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): ```shell # Добавить оба туннеля в 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: ```shell # Проверить 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: ```shell # Проверить 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: ```shell # Проверить GRE туннель от IHOR /interface gre print where name~"IHOR" # Проверить OSPF соседей /routing ospf neighbor print ``` ## Тестирование ### Тест 1: Проверка OSPF соседства ```shell # На HOME проверить OSPF соседей /routing ospf neighbor print # Должен показать соседа IHOR в area 0.0.0.4 ``` ### Тест 2: Проверка маршрутов ```shell # На HOME проверить маршруты /ip route print where protocol=ospf # Должен показать маршрут 0.0.0.0/0 через IHOR ``` ### Тест 3: Проверка YouTube маршрутизации ```shell # Проверить маршрут к YouTube traceroute 173.194.0.1 # Должен показать путь: HOME → IHOR → SWE → YouTube ``` ### Тест 4: Проверка failover ```shell # Отключить 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 соседство не устанавливается **Решение:** ```shell # Проверить 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 не анонсируется **Решение:** ```shell # На IHOR проверить redistribute /routing ospf instance print # Проверить статические маршруты /ip route print where dst-address=0.0.0.0/0 # Проверить OSPF маршруты /routing ospf route print ``` ### Проблема 3: Маршрут идет не через тот туннель **Решение:** ```shell # Проверить cost на интерфейсах /routing ospf interface-template print # Проверить distance маршрутов /ip route print where protocol=ospf ``` ## Полная конфигурация для копирования ### MSK-IHOR (msk.ihor.rt.shx.su): ```shell # GRE туннель к SWE /interface gre add name=gre-SWE-HIPHOST remote-address= local-address= /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): ```shell # GRE туннель от IHOR /interface gre add name=gre-IHOR-SWE remote-address= local-address= /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): ```shell # 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.