Enhance README.md with detailed instructions for configuring OSPF in "receive-only" mode on HOME. Added multiple approaches for achieving this configuration, including disabling route redistribution, using filters, and creating stub areas. Included a comparison table of methods and emphasized the importance of avoiding inter-server routing. Updated sections on OSPF instance isolation and provided comprehensive examples for each method.
This commit is contained in:
@@ -753,16 +753,147 @@ add src-address=192.168.222.0/24 action=lookup table=MSK # Основной т
|
||||
|
||||
1. **Прямая связь между серверами**: VPSVILLE ↔ IHOR через GRE туннель 10.200.0.0/30
|
||||
2. **OSPF анонсирует маршруты**: Каждый сервер анонсирует свои сети через OSPF
|
||||
3. **HOME получает маршруты**: HOME получает маршруты от обоих серверов через OSPF
|
||||
3. **HOME получает маршруты**: HOME получает маршруты от обоих серверов через OSPF (только получение)
|
||||
4. **Автоматический failover**: Если один сервер недоступен, OSPF убирает маршруты через него
|
||||
5. **Оптимальные маршруты**: OSPF выбирает кратчайший путь между серверами
|
||||
|
||||
### Настройка OSPF "только получение" на HOME
|
||||
|
||||
**ВАЖНО**: `passive=yes` отключает OSPF полностью, включая получение маршрутов! Это НЕ подходит для вашей задачи.
|
||||
|
||||
Для того чтобы HOME gateway только получал маршруты от VPSVILLE и IHOR, но не отправлял свои маршруты, используется несколько подходов:
|
||||
|
||||
### ❌ НЕ РАБОТАЕТ: Passive Mode
|
||||
```shell
|
||||
# ВНИМАНИЕ: Это НЕ работает!
|
||||
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone passive=yes # ❌ Маршруты пропадут
|
||||
```
|
||||
|
||||
**Почему не работает**: `passive=yes` отключает OSPF полностью - нет hello пакетов, нет соседства, нет маршрутов.
|
||||
|
||||
#### Способ 1: Отключение redistribute (Рекомендуемый)
|
||||
|
||||
```shell
|
||||
# На HOME - нормальные OSPF интерфейсы (получение + отправка hello)
|
||||
/routing ospf interface-template
|
||||
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone
|
||||
add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone
|
||||
add interfaces=gre-MSK-VPSVILLE-MTS cost=100 area=backbone
|
||||
add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone
|
||||
|
||||
# Отключить redistribute (не анонсировать маршруты)
|
||||
/routing ospf instance
|
||||
set [ find default=yes ] redistribute=none
|
||||
```
|
||||
|
||||
**Как это работает**:
|
||||
- ✅ OSPF соседство устанавливается (hello пакеты отправляются)
|
||||
- ✅ Маршруты от VPSVILLE/IHOR получаются
|
||||
- ❌ HOME не анонсирует свои маршруты (redistribute=none)
|
||||
|
||||
#### Способ 2: Использование фильтров
|
||||
|
||||
```shell
|
||||
# На HOME - нормальные OSPF интерфейсы
|
||||
/routing ospf interface-template
|
||||
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone
|
||||
add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone
|
||||
|
||||
# Создать фильтр который отклоняет все исходящие маршруты
|
||||
/routing filter
|
||||
add name=ospf-out-reject-all chain=output protocol=ospf rule="reject"
|
||||
|
||||
# Применить фильтр к OSPF instance
|
||||
/routing ospf instance
|
||||
set [ find default=yes ] out-filter=ospf-out-reject-all
|
||||
```
|
||||
|
||||
#### Способ 3: Stub Area (для сложных сетей)
|
||||
|
||||
```shell
|
||||
# Создать stub area для HOME
|
||||
/routing ospf area
|
||||
add name=home-stub instance=default area-id=0.0.0.1 stub=yes
|
||||
|
||||
# Добавить интерфейсы HOME в stub area
|
||||
/routing ospf interface-template
|
||||
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=home-stub
|
||||
add interfaces=gre-MSK-IHOR-RTK cost=10 area=home-stub
|
||||
```
|
||||
|
||||
#### Способ 4: Passive Mode (НЕ РЕКОМЕНДУЕТСЯ)
|
||||
|
||||
```shell
|
||||
# ВНИМАНИЕ: passive=yes отключает OSPF полностью, включая получение маршрутов!
|
||||
# Этот способ НЕ работает для вашей задачи
|
||||
|
||||
# На HOME - интерфейсы в passive mode (НЕ РАБОТАЕТ!)
|
||||
/routing ospf interface-template
|
||||
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone passive=yes # ❌ Маршруты пропадут
|
||||
add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone passive=yes # ❌ Маршруты пропадут
|
||||
```
|
||||
|
||||
### Сравнение способов настройки OSPF "только получение"
|
||||
|
||||
| Способ | Простота | Совместимость | Гибкость | Работает | Рекомендация |
|
||||
|--------|----------|---------------|----------|----------|--------------|
|
||||
| **Отключение redistribute** | Высокая | Все версии | Низкая | ✅ Да | **Рекомендуемый** |
|
||||
| **Фильтры** | Средняя | Все версии | Высокая | ✅ Да | Для точного контроля |
|
||||
| **Stub Area** | Низкая | Все версии | Низкая | ✅ Да | Для сложных сетей |
|
||||
| **Passive Mode** | Высокая | RouterOS 7.14+ | Низкая | ❌ Нет | НЕ РЕКОМЕНДУЕТСЯ |
|
||||
|
||||
### Рекомендуемая конфигурация для HOME
|
||||
|
||||
```shell
|
||||
# 1. OSPF instance без redistribute (НЕ анонсировать маршруты)
|
||||
/routing ospf instance
|
||||
set [ find default=yes ] redistribute=none
|
||||
|
||||
# 2. Нормальные OSPF интерфейсы (получение + отправка hello)
|
||||
/routing ospf interface-template
|
||||
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone
|
||||
add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone
|
||||
add interfaces=gre-MSK-VPSVILLE-MTS cost=100 area=backbone
|
||||
add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone
|
||||
|
||||
# 3. Проверка что маршруты получаются
|
||||
/routing ospf route print
|
||||
/ip route print where protocol=ospf
|
||||
```
|
||||
|
||||
### Проверка работы OSPF "только получение"
|
||||
|
||||
```shell
|
||||
# На HOME проверить что маршруты получаются
|
||||
/routing ospf route print
|
||||
|
||||
# На VPSVILLE/IHOR проверить что маршруты от HOME не анонсируются
|
||||
/routing ospf route print
|
||||
|
||||
# Проверить OSPF соседей
|
||||
/routing ospf neighbor print
|
||||
|
||||
# Проверить что HOME не анонсирует маршруты
|
||||
/routing ospf route print where originator=10.100.0.1
|
||||
```
|
||||
|
||||
### Роль HOME в архитектуре
|
||||
|
||||
- **HOME - конечная точка**: Подключается к серверам по GRE, но не участвует в межсерверной маршрутизации
|
||||
- **Получение маршрутов**: HOME получает маршруты от серверов через OSPF
|
||||
- **Policy routing**: HOME использует route tables для выбора нужного сервера/провайдера
|
||||
- **Отправка трафика**: HOME отправляет трафик по правилам маршрутизации
|
||||
| Роль | Описание | OSPF настройка |
|
||||
|------|----------|----------------|
|
||||
| **Конечная точка** | Подключается к серверам по GRE, но не участвует в межсерверной маршрутизации | passive=yes |
|
||||
| **Получение маршрутов** | HOME получает маршруты от серверов через OSPF | redistribute=none |
|
||||
| **Policy routing** | HOME использует route tables для выбора нужного сервера/провайдера | routing rules |
|
||||
| **Отправка трафика** | HOME отправляет трафик по правилам маршрутизации | route tables |
|
||||
|
||||
### Преимущества OSPF "только получение" на HOME
|
||||
|
||||
| Преимущество | Описание | Практическое применение |
|
||||
|--------------|----------|-------------------------|
|
||||
| **Безопасность** | HOME не раскрывает свои внутренние сети | Защита от несанкционированного доступа |
|
||||
| **Производительность** | Меньше OSPF трафика | Снижение нагрузки на сеть |
|
||||
| **Простота** | Меньше конфигурации | Легче поддерживать |
|
||||
| **Контроль** | Точный контроль над маршрутизацией | Предсказуемое поведение сети |
|
||||
|
||||
### Пример маршрутизации
|
||||
|
||||
@@ -1309,9 +1440,9 @@ Area 0.0.0.0 (Backbone) - HOME
|
||||
```shell
|
||||
# На всех устройствах (HOME, MSK-VPSVILLE, MSK-IHOR, SWE-HIPHOST):
|
||||
|
||||
# 1. Создать backbone area
|
||||
# 1. Создать backbone area (ВАЖНО: используйте area-id=0.0.0.1 вместо 0.0.0.0)
|
||||
/routing ospf area
|
||||
add name=backbone instance=default area-id=0.0.0.0
|
||||
add name=backbone instance=default area-id=0.0.0.1
|
||||
|
||||
# 2. Добавить все GRE интерфейсы в backbone area
|
||||
/routing ospf interface-template
|
||||
@@ -1326,6 +1457,328 @@ add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone
|
||||
add interfaces=gre-SWE-HIPHOST-MTS cost=100 area=backbone
|
||||
```
|
||||
|
||||
**ВАЖНО**: В некоторых случаях area-id=0.0.0.0 может вызывать проблемы. Если OSPF не работает с area-id=0.0.0.0, используйте area-id=0.0.0.1.
|
||||
|
||||
### Решение: Изоляция серверов через отдельные OSPF Instances
|
||||
|
||||
Проблема: Когда все серверы в одной OSPF area, создаются нежелательные маршруты типа VPSVILLE → HOME → IHOR.
|
||||
|
||||
**Решение: Использовать отдельные OSPF instances для каждого сервера**
|
||||
|
||||
#### Конфигурация с отдельными OSPF Instances:
|
||||
|
||||
```shell
|
||||
# На HOME (home.rt.shx.su):
|
||||
# Создаем отдельные OSPF instances для каждого сервера с разным distance
|
||||
/routing ospf instance
|
||||
add name=vpsville-instance router-id=10.100.0.1 distance=110 # Основной (Ростелеком)
|
||||
add name=ihor-instance router-id=10.100.0.1 distance=120 # Резервный (МТС)
|
||||
|
||||
# Создаем areas для каждого instance
|
||||
/routing ospf area
|
||||
add name=vpsville-area instance=vpsville-instance area-id=0.0.0.0
|
||||
add name=ihor-area instance=ihor-instance area-id=0.0.0.0
|
||||
|
||||
# VPSVILLE интерфейсы в свой instance
|
||||
/routing ospf interface-template
|
||||
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=vpsville-area instance=vpsville-instance
|
||||
add interfaces=gre-MSK-VPSVILLE-MTS cost=100 area=vpsville-area instance=vpsville-instance
|
||||
|
||||
# IHOR интерфейсы в свой instance
|
||||
add interfaces=gre-MSK-IHOR-RTK cost=10 area=ihor-area instance=ihor-instance
|
||||
add interfaces=gre-MSK-IHOR-MTS cost=100 area=ihor-area instance=ihor-instance
|
||||
|
||||
# На MSK-VPSVILLE (msk.vpsville.rt.shx.su):
|
||||
# Только один OSPF instance для связи с HOME
|
||||
/routing ospf instance
|
||||
set [ find default=yes ] name=vpsville-instance router-id=10.100.0.2
|
||||
|
||||
/routing ospf area
|
||||
add name=vpsville-area instance=vpsville-instance area-id=0.0.0.0
|
||||
|
||||
/routing ospf interface-template
|
||||
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=vpsville-area instance=vpsville-instance
|
||||
add interfaces=gre-MSK-VPSVILLE-MTS cost=100 area=vpsville-area instance=vpsville-instance
|
||||
|
||||
# На MSK-IHOR (msk.ihor.rt.shx.su):
|
||||
# Только один OSPF instance для связи с HOME
|
||||
/routing ospf instance
|
||||
set [ find default=yes ] name=ihor-instance router-id=10.100.0.3
|
||||
|
||||
/routing ospf area
|
||||
add name=ihor-area instance=ihor-instance area-id=0.0.0.0
|
||||
|
||||
/routing ospf interface-template
|
||||
add interfaces=gre-MSK-IHOR-RTK cost=10 area=ihor-area instance=ihor-instance
|
||||
add interfaces=gre-MSK-IHOR-MTS cost=100 area=ihor-area instance=ihor-instance
|
||||
```
|
||||
|
||||
#### Альтернатива: Route Tables для полного контроля
|
||||
|
||||
```shell
|
||||
# На HOME создать отдельные таблицы маршрутизации
|
||||
/routing table
|
||||
add name=vpsville-table fib
|
||||
add name=ihor-table fib
|
||||
|
||||
# Настроить routing rules для выбора таблицы
|
||||
/routing rule
|
||||
add src-address=192.168.111.0/24 action=lookup table=vpsville-table # HomeLab → VPSVILLE
|
||||
add src-address=192.168.222.0/24 action=lookup table=ihor-table # Основной трафик → IHOR
|
||||
|
||||
# OSPF автоматически добавит маршруты в соответствующие таблицы
|
||||
# В vpsville-table будет маршрут от VPSVILLE
|
||||
# В ihor-table будет маршрут от IHOR
|
||||
```
|
||||
|
||||
#### Почему отдельные OSPF Instances работают:
|
||||
|
||||
1. **Полная изоляция**: Каждый сервер работает в своем OSPF instance
|
||||
2. **Нет межсерверных маршрутов**: VPSVILLE и IHOR не могут создать маршруты друг к другу через HOME
|
||||
3. **Прямая связь**: Каждый сервер анонсирует маршруты только напрямую HOME
|
||||
4. **Простота**: Каждый instance работает независимо, без сложных area настроек
|
||||
|
||||
#### Важные особенности отдельных OSPF Instances:
|
||||
|
||||
**Дублирование маршрутов:**
|
||||
- ✅ **Нормально**: HOME получает маршрут 0.0.0.0/0 от каждого сервера
|
||||
- ✅ **Автоматический выбор**: RouterOS выбирает маршрут с лучшим distance
|
||||
- ✅ **Failover**: Если один сервер недоступен, используется маршрут от другого
|
||||
|
||||
**Cost работает только внутри instance:**
|
||||
- ❌ **Между instances**: Cost не сравнивается
|
||||
- ✅ **Внутри instance**: Cost работает нормально (Ростелеком vs МТС)
|
||||
- ✅ **Distance**: Используется для приоритизации между instances
|
||||
|
||||
**Пример маршрутов на HOME:**
|
||||
```shell
|
||||
/ip route print where dst-address=0.0.0.0/0
|
||||
# Результат:
|
||||
# dst-address=0.0.0.0/0 gateway=10.100.2.2 distance=110 # От VPSVILLE (основной)
|
||||
# dst-address=0.0.0.0/0 gateway=10.100.4.2 distance=120 # От IHOR (резервный)
|
||||
```
|
||||
|
||||
#### Детальное объяснение проблемы и решения:
|
||||
|
||||
**Проблема с одним OSPF instance:**
|
||||
- Все серверы в одном OSPF instance обмениваются всеми маршрутами
|
||||
- VPSVILLE может создать маршрут VPSVILLE → HOME → IHOR
|
||||
- IHOR может создать маршрут IHOR → HOME → VPSVILLE
|
||||
- Это создает нежелательные межсерверные маршруты через HOME
|
||||
- HOME становится транзитным узлом между серверами
|
||||
|
||||
**Решение с отдельными OSPF instances:**
|
||||
- **VPSVILLE-HOME**: Работает в отдельном instance (vpsville-instance)
|
||||
- **IHOR-HOME**: Работает в отдельном instance (ihor-instance)
|
||||
- **Полная изоляция**: Серверы не могут создать маршруты друг к другу
|
||||
- **Прямая связь**: Каждый сервер анонсирует маршруты только напрямую HOME
|
||||
|
||||
#### Схема работы отдельных OSPF Instances:
|
||||
|
||||
```mermaid
|
||||
graph TB
|
||||
subgraph "OSPF Instance: vpsville-instance"
|
||||
HOME_VPS[HOME<br/>home.rt.shx.su]
|
||||
VPSVILLE[MSK-VPSVILLE<br/>msk.vpsville.rt.shx.su]
|
||||
GRE_VPS[GRE туннели<br/>VPSVILLE-HOME]
|
||||
end
|
||||
|
||||
subgraph "OSPF Instance: ihor-instance"
|
||||
HOME_IHR[HOME<br/>home.rt.shx.su]
|
||||
IHOR[MSK-IHOR<br/>msk.ihor.rt.shx.su]
|
||||
GRE_IHR[GRE туннели<br/>IHOR-HOME]
|
||||
end
|
||||
|
||||
HOME_VPS -. "OSPF" .- GRE_VPS
|
||||
GRE_VPS --> VPSVILLE
|
||||
|
||||
HOME_IHR -. "OSPF" .- GRE_IHR
|
||||
GRE_IHR --> IHOR
|
||||
|
||||
%% НЕТ связи между instances!
|
||||
VPSVILLE -. "НЕТ OSPF" .- IHOR
|
||||
|
||||
style HOME_VPS fill:#e1f5fe
|
||||
style HOME_IHR fill:#e1f5fe
|
||||
style VPSVILLE fill:#ff9800
|
||||
style IHOR fill:#ff9800
|
||||
```
|
||||
|
||||
#### Преимущества отдельных OSPF Instances:
|
||||
|
||||
| Преимущество | Описание | Практическое применение |
|
||||
|--------------|----------|-------------------------|
|
||||
| **Полная изоляция** | Каждый сервер в своем instance | Нет межсерверных маршрутов |
|
||||
| **Простота** | Простая настройка без сложных areas | Легко понять и поддерживать |
|
||||
| **Контроль** | Точный контроль над маршрутизацией | HOME получает маршруты только напрямую |
|
||||
| **Масштабируемость** | Легко добавлять новые серверы | Каждый новый сервер получает свой instance |
|
||||
| **Отладка** | Простая диагностика проблем | Проблемы локализованы в конкретном instance |
|
||||
| **Производительность** | Меньше OSPF трафика | Каждый instance работает независимо |
|
||||
|
||||
#### Сравнение подходов для решения проблемы межсерверных маршрутов:
|
||||
|
||||
| Подход | Дублирование маршрутов | Cost между серверами | Сложность настройки | Рекомендация |
|
||||
|--------|------------------------|---------------------|-------------------|--------------|
|
||||
| **Один OSPF instance** | ❌ Нет дублирования | ✅ Cost работает | 🟢 Простая | ❌ Создает межсерверные маршруты |
|
||||
| **Один instance + фильтры** | ❌ Нет дублирования | ✅ Cost работает | 🟡 Средняя | ✅ **Рекомендуемый** |
|
||||
| **Отдельные instances** | ✅ Есть дублирование | ❌ Cost не работает | 🟢 Простая | ✅ Альтернатива |
|
||||
| **Route Tables** | ✅ Нет дублирования | ✅ Полный контроль | 🟡 Средняя | ✅ Для сложных случаев |
|
||||
| **NSSA Areas** | ✅ Нет дублирования | ✅ Cost работает | 🔴 Сложная | ❌ Избыточно для вашей задачи |
|
||||
|
||||
#### Решение 3: Один OSPF Instance с фильтрами (рекомендуемое)
|
||||
|
||||
**Лучшее решение**: Использовать один OSPF instance с фильтрами для запрета межсерверных маршрутов.
|
||||
|
||||
#### Конфигурация с одним OSPF Instance и фильтрами:
|
||||
|
||||
```shell
|
||||
# На HOME (home.rt.shx.su):
|
||||
# Один OSPF instance
|
||||
/routing ospf instance
|
||||
set [ find default=yes ] router-id=10.100.0.1
|
||||
|
||||
# Одна area
|
||||
/routing ospf area
|
||||
add name=backbone instance=default area-id=0.0.0.0
|
||||
|
||||
# Все интерфейсы в один instance с разным cost
|
||||
/routing ospf interface-template
|
||||
# Ростелеком (основной провайдер) - низкий cost
|
||||
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone
|
||||
add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone
|
||||
|
||||
# МТС (резервный провайдер) - высокий cost
|
||||
add interfaces=gre-MSK-VPSVILLE-MTS cost=100 area=backbone
|
||||
add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone
|
||||
|
||||
# Создать фильтр для запрета межсерверных маршрутов (простой вариант)
|
||||
/routing filter
|
||||
add name=ospf-no-inter-server chain=input protocol=ospf rule="if (dst-address=10.100.0.0/16) { reject } else { accept }"
|
||||
|
||||
# Применить фильтр к OSPF instance
|
||||
/routing ospf instance
|
||||
set [ find default=yes ] in-filter=ospf-no-inter-server
|
||||
```
|
||||
|
||||
#### Альтернативный фильтр (более точный):
|
||||
|
||||
```shell
|
||||
# Создать фильтр который отклоняет маршруты между серверами
|
||||
/routing filter
|
||||
add name=ospf-block-inter-server chain=input protocol=ospf rule="if (dst-address=10.100.2.0/30 && src-address=10.100.4.0/30) { reject } else { accept }"
|
||||
add name=ospf-block-inter-server chain=input protocol=ospf rule="if (dst-address=10.100.4.0/30 && src-address=10.100.2.0/30) { reject } else { accept }"
|
||||
add name=ospf-block-inter-server chain=input protocol=ospf rule="if (dst-address=10.100.1.0/30 && src-address=10.100.3.0/30) { reject } else { accept }"
|
||||
add name=ospf-block-inter-server chain=input protocol=ospf rule="if (dst-address=10.100.3.0/30 && src-address=10.100.1.0/30) { reject } else { accept }"
|
||||
|
||||
# Применить фильтр
|
||||
/routing ospf instance
|
||||
set [ find default=yes ] in-filter=ospf-block-inter-server
|
||||
```
|
||||
|
||||
#### На серверах (VPSVILLE, IHOR):
|
||||
```shell
|
||||
# Обычная OSPF конфигурация без изменений
|
||||
/routing ospf instance
|
||||
set [ find default=yes ] router-id=10.100.0.2 # или 10.100.0.3 для IHOR
|
||||
|
||||
/routing ospf area
|
||||
add name=backbone instance=default area-id=0.0.0.0
|
||||
|
||||
/routing ospf interface-template
|
||||
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone # или gre-MSK-IHOR-RTK
|
||||
add interfaces=gre-MSK-VPSVILLE-MTS cost=100 area=backbone # или gre-MSK-IHOR-MTS
|
||||
```
|
||||
|
||||
#### Почему это решение лучше:
|
||||
|
||||
1. ✅ **Cost работает**: Все в одном instance, cost сравнивается
|
||||
2. ✅ **Нет межсерверных маршрутов**: Фильтры блокируют нежелательные маршруты
|
||||
3. ✅ **Простота**: Один instance, простая настройка
|
||||
4. ✅ **Гибкость**: Можно точно настроить что блокировать
|
||||
5. ✅ **Производительность**: Меньше OSPF трафика чем с отдельными instances
|
||||
|
||||
#### Как работают фильтры:
|
||||
|
||||
**Простой фильтр** (рекомендуемый):
|
||||
```shell
|
||||
# Блокирует ВСЕ маршруты к 10.100.0.0/16
|
||||
if (dst-address=10.100.0.0/16) { reject } else { accept }
|
||||
```
|
||||
|
||||
**Что это означает:**
|
||||
- ✅ HOME получает маршруты 0.0.0.0/0 от серверов
|
||||
- ❌ HOME НЕ получает маршруты к GRE туннелям (10.100.x.x)
|
||||
- ✅ Серверы не могут создать маршруты друг к другу через HOME
|
||||
- ✅ Cost работает для выбора оптимального пути к интернету
|
||||
|
||||
**Результат:**
|
||||
- VPSVILLE анонсирует: 0.0.0.0/0 (cost=10 через Ростелеком, cost=100 через МТС)
|
||||
- IHOR анонсирует: 0.0.0.0/0 (cost=10 через Ростелеком, cost=100 через МТС)
|
||||
- HOME выбирает лучший маршрут на основе cost
|
||||
- НЕТ маршрутов типа VPSVILLE → HOME → IHOR
|
||||
|
||||
#### Проверка работы одного OSPF Instance с фильтрами:
|
||||
|
||||
```shell
|
||||
# Проверить OSPF instance
|
||||
/routing ospf instance print
|
||||
|
||||
# Проверить OSPF соседей
|
||||
/routing ospf neighbor print
|
||||
|
||||
# Проверить маршруты
|
||||
/routing ospf route print
|
||||
|
||||
# Проверить интерфейсы
|
||||
/routing ospf interface-template print
|
||||
|
||||
# Проверить фильтры
|
||||
/routing filter print
|
||||
|
||||
# Проверить что нет межсерверных маршрутов
|
||||
/routing ospf route print where dst-address~"10.100"
|
||||
```
|
||||
|
||||
#### Мониторинг отдельных OSPF Instances:
|
||||
|
||||
```shell
|
||||
# На HOME проверить маршруты от VPSVILLE (vpsville-instance)
|
||||
/routing ospf route print where instance=vpsville-instance
|
||||
|
||||
# На HOME проверить маршруты от IHOR (ihor-instance)
|
||||
/routing ospf route print where instance=ihor-instance
|
||||
|
||||
# Проверить OSPF соседей в каждом instance
|
||||
/routing ospf neighbor print where instance=vpsville-instance
|
||||
/routing ospf neighbor print where instance=ihor-instance
|
||||
|
||||
# Убедиться что нет межсерверных маршрутов
|
||||
/routing ospf route print where dst-address~"10.100"
|
||||
```
|
||||
|
||||
#### Диагностика проблем с отдельными Instances:
|
||||
|
||||
```shell
|
||||
# Если маршруты не получаются, проверить:
|
||||
# 1. OSPF instances
|
||||
/routing ospf instance print
|
||||
|
||||
# 2. OSPF соседей
|
||||
/routing ospf neighbor print
|
||||
|
||||
# 3. GRE туннели
|
||||
/interface gre print
|
||||
|
||||
# 4. Interface template
|
||||
/routing ospf interface-template print
|
||||
|
||||
# 5. Логи OSPF
|
||||
/log print where topics~"ospf"
|
||||
|
||||
# 6. Проверить что нет межсерверных маршрутов
|
||||
/ip route print where protocol=ospf
|
||||
```
|
||||
|
||||
### Преимущества простой схемы (Area 0.0.0.0):
|
||||
|
||||
1. **Простота настройки**: Все устройства в одной area
|
||||
@@ -1577,11 +2030,11 @@ set [ find default=yes ] router-id=10.100.0.5 redistribute=connected
|
||||
### Конфигурация на HOME (home.rt.shx.su):
|
||||
|
||||
```shell
|
||||
# 1. OSPF конфигурация
|
||||
# 1. OSPF конфигурация - только получение маршрутов
|
||||
/routing ospf area
|
||||
add name=backbone instance=default area-id=0.0.0.0
|
||||
|
||||
# 2. Добавить интерфейсы к московским серверам в OSPF
|
||||
# 2. Добавить интерфейсы к московским серверам в OSPF (нормальные)
|
||||
/routing ospf interface-template
|
||||
# Ростелеком (основной провайдер) - низкий cost
|
||||
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone
|
||||
@@ -1595,6 +2048,10 @@ add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone
|
||||
/routing rule
|
||||
add src-address=192.168.111.0/24 action=lookup table=MTS # HomeLab → МТС
|
||||
add src-address=192.168.222.0/24 action=lookup table=MSK # Основной трафик → Ростелеком
|
||||
|
||||
# 4. Отключить redistribute на HOME (не анонсировать маршруты)
|
||||
/routing ospf instance
|
||||
set [ find default=yes ] redistribute=none
|
||||
```
|
||||
|
||||
### Межсерверные туннели (OSPF кластер)
|
||||
|
||||
Reference in New Issue
Block a user