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:
+56
-32
@@ -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
|
||||
|
||||
@@ -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.
|
||||
Reference in New Issue
Block a user