233 lines
6.7 KiB
Markdown
233 lines
6.7 KiB
Markdown
# Исправление 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. |