Update OSPF configuration in ospf_cost_priority.md to create a new area (0.0.0.4) and adjust interface costs for prioritization. Changed all relevant interfaces from 'backbone' to 'ihor-swe-area' for consistency across HOME, MSK-IHOR, and SWE-HIPHOST setups.

This commit is contained in:
2025-07-16 11:25:12 +07:00
parent 13b2a62932
commit f2e8ae9b0e
2 changed files with 289 additions and 32 deletions
+56 -32
View File
@@ -44,28 +44,36 @@ graph TB
### На 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
# Настроить cost для приоритизации маршрутов
/routing ospf interface-template
# IHOR (приоритетный) - низкий cost
add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone
add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone
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=1000 area=backbone
add interfaces=gre-SWE-HIPHOST-MTS cost=2000 area=backbone
add interfaces=gre-SWE-HIPHOST-RTK cost=1000 area=ihor-swe-area
add interfaces=gre-SWE-HIPHOST-MTS cost=2000 area=ihor-swe-area
```
### На MSK-IHOR (msk.ihor.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
# Настроить cost для туннелей к HOME
/routing ospf interface-template
add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone
add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone
add interfaces=gre-MSK-IHOR-RTK cost=10 area=ihor-swe-area
add interfaces=gre-MSK-IHOR-MTS cost=100 area=ihor-swe-area
# Настроить cost для туннеля к SWE
add interfaces=gre-SWE-HIPHOST cost=10 area=backbone
add interfaces=gre-SWE-HIPHOST cost=10 area=ihor-swe-area
# Статический маршрут через SWE
/ip route
@@ -79,13 +87,17 @@ set [ find default=yes ] redistribute=connected,static
### На SWE-HIPHOST (swe.hiphost.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
# Настроить cost для туннелей к HOME (высокий cost)
/routing ospf interface-template
add interfaces=gre-SWE-HIPHOST-RTK cost=1000 area=backbone
add interfaces=gre-SWE-HIPHOST-MTS cost=2000 area=backbone
add interfaces=gre-SWE-HIPHOST-RTK cost=1000 area=ihor-swe-area
add interfaces=gre-SWE-HIPHOST-MTS cost=2000 area=ihor-swe-area
# Настроить cost для туннеля к IHOR (низкий cost)
add interfaces=gre-IHOR-SWE cost=10 area=backbone
add interfaces=gre-IHOR-SWE cost=10 area=ihor-swe-area
# OSPF redistribute
/routing ospf instance
@@ -117,12 +129,12 @@ set [ find default=yes ] redistribute=connected,static
# На HOME
/routing ospf interface-template
# IHOR (приоритетный)
add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone
add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone
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=5000 area=backbone
add interfaces=gre-SWE-HIPHOST-MTS cost=10000 area=backbone
add interfaces=gre-SWE-HIPHOST-RTK cost=5000 area=ihor-swe-area
add interfaces=gre-SWE-HIPHOST-MTS cost=10000 area=ihor-swe-area
```
### Вариант 2: Минимальная разница
@@ -130,12 +142,12 @@ add interfaces=gre-SWE-HIPHOST-MTS cost=10000 area=backbone
# На HOME
/routing ospf interface-template
# IHOR (приоритетный)
add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone
add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone
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 (резервный) - небольшая разница
add interfaces=gre-SWE-HIPHOST-RTK cost=100 area=backbone
add interfaces=gre-SWE-HIPHOST-MTS cost=200 area=backbone
add interfaces=gre-SWE-HIPHOST-RTK cost=100 area=ihor-swe-area
add interfaces=gre-SWE-HIPHOST-MTS cost=200 area=ihor-swe-area
```
### Вариант 3: По провайдерам
@@ -143,12 +155,12 @@ add interfaces=gre-SWE-HIPHOST-MTS cost=200 area=backbone
# На HOME
/routing ospf interface-template
# Ростелеком (основной провайдер)
add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone
add interfaces=gre-SWE-HIPHOST-RTK cost=100 area=backbone
add interfaces=gre-MSK-IHOR-RTK cost=10 area=ihor-swe-area
add interfaces=gre-SWE-HIPHOST-RTK cost=100 area=ihor-swe-area
# МТС (резервный провайдер)
add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone
add interfaces=gre-SWE-HIPHOST-MTS cost=1000 area=backbone
add interfaces=gre-MSK-IHOR-MTS cost=100 area=ihor-swe-area
add interfaces=gre-SWE-HIPHOST-MTS cost=1000 area=ihor-swe-area
```
## Проверка настройки
@@ -271,15 +283,19 @@ set [ find where interfaces=gre-MSK-IHOR-MTS ] cost=100
### 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
# OSPF интерфейсы с приоритизацией по cost
/routing ospf interface-template
# IHOR (приоритетный) - низкий cost
add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone
add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone
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=1000 area=backbone
add interfaces=gre-SWE-HIPHOST-MTS cost=2000 area=backbone
add interfaces=gre-SWE-HIPHOST-RTK cost=1000 area=ihor-swe-area
add interfaces=gre-SWE-HIPHOST-MTS cost=2000 area=ihor-swe-area
# Routing table YouTube
/routing table
@@ -318,11 +334,15 @@ add dst-address=0.0.0.0/0 gateway=10.100.4.2 routing-table=YouTube distance=1
/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
# Создать 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-MSK-IHOR-RTK cost=10 area=backbone
add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone
add interfaces=gre-SWE-HIPHOST cost=10 area=backbone
add interfaces=gre-MSK-IHOR-RTK cost=10 area=ihor-swe-area
add interfaces=gre-MSK-IHOR-MTS cost=100 area=ihor-swe-area
add interfaces=gre-SWE-HIPHOST cost=10 area=ihor-swe-area
# Статический маршрут через SWE
/ip route
@@ -339,11 +359,15 @@ set [ find default=yes ] redistribute=connected,static
/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
# Создать 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-RTK cost=1000 area=backbone
add interfaces=gre-SWE-HIPHOST-MTS cost=2000 area=backbone
add interfaces=gre-IHOR-SWE cost=10 area=backbone
add interfaces=gre-SWE-HIPHOST-RTK cost=1000 area=ihor-swe-area
add interfaces=gre-SWE-HIPHOST-MTS cost=2000 area=ihor-swe-area
add interfaces=gre-IHOR-SWE cost=10 area=ihor-swe-area
# OSPF redistribute
/routing ospf instance
+233
View File
@@ -0,0 +1,233 @@
# Исправление OSPF: Получение маршрута 10.200.2.2 через OSPF
## Проблема
HOME не может получить маршрут `10.200.2.2%SWE-HIPHOST-MTS` потому что:
- На HOME нет OSPF интерфейса для туннеля `gre-SWE-HIPHOST-MTS`
- OSPF не знает о сети `10.200.2.0/30` (IHOR→SWE)
- Нет пути для получения информации о `10.200.2.2`
## Анализ текущей ситуации
### На HOME есть OSPF интерфейсы:
```shell
/routing ospf interface-template print
# Результат:
# gre-MSK-IHOR-RTK (cost=10)
# gre-MSK-IHOR-MTS (cost=100)
# gre-SWE-HIPHOST-RTK (cost=1000)
# gre-SWE-HIPHOST-MTS (cost=2000)
```
### На IHOR есть статический маршрут:
```shell
/ip route print where dst-address=0.0.0.0/0
# Результат:
# dst-address=0.0.0.0/0 gateway=10.200.2.2 distance=1
```
### Проблема:
- HOME не знает о сети `10.200.2.0/30`
- Нет OSPF маршрута к `10.200.2.2`
## Решение 1: Анонсировать сеть 10.200.2.0/30 через OSPF
### На MSK-IHOR (msk.ihor.rt.shx.su):
```shell
# Убедиться что GRE туннель к SWE в OSPF
/routing ospf interface-template
add interfaces=gre-SWE-HIPHOST cost=10 area=ihor-swe-area
# Проверить что сеть 10.200.2.0/30 анонсируется
/routing ospf route print
```
### На HOME (home.rt.shx.su):
```shell
# Проверить что получаем маршрут к 10.200.2.0/30
/routing ospf route print
# Должен показать что-то вроде:
# dst-address=10.200.2.0/30 gateway=10.100.4.2 cost=20
```
## Решение 2: Создать статический маршрут на HOME
### На HOME (home.rt.shx.su):
```shell
# Добавить статический маршрут к сети 10.200.2.0/30 через IHOR
/ip route
add dst-address=10.200.2.0/30 gateway=10.100.4.2 distance=1
# Проверить маршрут
/ip route print where dst-address=10.200.2.0/30
```
## Решение 3: Использовать OSPF redistribute на IHOR
### На MSK-IHOR (msk.ihor.rt.shx.su):
```shell
# Убедиться что redistribute включает connected маршруты
/routing ospf instance
set [ find default=yes ] redistribute=connected,static
# Проверить что сеть 10.200.2.0/30 анонсируется
/routing ospf route print
```
## Решение 4: Проверить OSPF соседство
### На HOME (home.rt.shx.su):
```shell
# Проверить OSPF соседей
/routing ospf neighbor print
# Должен показать IHOR как соседа
```
### На MSK-IHOR (msk.ihor.rt.shx.su):
```shell
# Проверить OSPF соседей
/routing ospf neighbor print
# Должен показать HOME и SWE как соседей
```
## Диагностика проблемы
### Шаг 1: Проверить GRE туннели
```shell
# На HOME
/interface gre print
# На IHOR
/interface gre print
# На SWE
/interface gre print
```
### Шаг 2: Проверить ping
```shell
# На HOME проверить ping до IHOR
ping 10.100.4.2 count=5
# На IHOR проверить ping до SWE
ping 10.200.2.2 count=5
```
### Шаг 3: Проверить OSPF маршруты
```shell
# На HOME
/routing ospf route print
# На IHOR
/routing ospf route print
# На SWE
/routing ospf route print
```
### Шаг 4: Проверить таблицу маршрутизации
```shell
# На HOME
/ip route print where dst-address=10.200.2.0/30
# На IHOR
/ip route print where dst-address=10.200.2.0/30
```
## Полное решение
### На MSK-IHOR (msk.ihor.rt.shx.su):
```shell
# 1. Убедиться что 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
# 2. Добавить в OSPF
/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
# 3. Настроить redistribute
/routing ospf instance
set [ find default=yes ] redistribute=connected,static
# 4. Проверить что сеть анонсируется
/routing ospf route print
```
### На HOME (home.rt.shx.su):
```shell
# 1. Проверить что получаем маршрут к 10.200.2.0/30
/routing ospf route print
# 2. Если маршрут не получается, добавить статический
/ip route
add dst-address=10.200.2.0/30 gateway=10.100.4.2 distance=1
# 3. Проверить маршрут
/ip route print where dst-address=10.200.2.0/30
```
## Проверка решения
### Тест 1: Проверка OSPF маршрутов
```shell
# На HOME
/routing ospf route print
# Должен показать:
# dst-address=10.200.2.0/30 gateway=10.100.4.2 cost=20
```
### Тест 2: Проверка ping
```shell
# На HOME проверить ping до 10.200.2.2
ping 10.200.2.2 count=5
# Должен работать через IHOR
```
### Тест 3: Проверка traceroute
```shell
# На HOME проверить путь к 10.200.2.2
traceroute 10.200.2.2
# Должен показать: HOME → IHOR → SWE
```
## Альтернативное решение: Использовать route tables
### На HOME (home.rt.shx.su):
```shell
# Создать отдельную routing table для YouTube
/routing table
add name=YouTube fib
# Добавить маршрут к 10.200.2.0/30 в таблицу YouTube
/ip route
add dst-address=10.200.2.0/30 gateway=10.100.4.2 routing-table=YouTube distance=1
# Добавить маршрут 0.0.0.0/0 через 10.200.2.2 в таблицу YouTube
add dst-address=0.0.0.0/0 gateway=10.200.2.2 routing-table=YouTube distance=1
# 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
# ... остальные YouTube подсети
```
## Заключение
Основная проблема в том, что HOME не знает о сети `10.200.2.0/30`. Решения:
1. **OSPF redistribute** - IHOR должен анонсировать сеть 10.200.2.0/30
2. **Статический маршрут** - добавить маршрут к 10.200.2.0/30 через IHOR
3. **Route tables** - использовать отдельную таблицу маршрутизации
Рекомендую начать с проверки OSPF redistribute на IHOR и убедиться что сеть 10.200.2.0/30 анонсируется через OSPF.