diff --git a/README.md b/README.md index 65a9851..b6222e9 100644 --- a/README.md +++ b/README.md @@ -161,6 +161,43 @@ graph TD class EU eu; ``` +### Схема связывания московских серверов через OSPF (новая) + +```mermaid +graph TB + subgraph "Москва - VPSVILLE" + VPSVILLE[VPSVILLE
msk.vpsville.rt.shx.su] + end + + subgraph "Москва - IHOR" + IHOR[IHOR
msk.ihor.rt.shx.su] + end + + subgraph "Домашний шлюз" + HOME[HOME
home.rt.shx.su] + end + + %% GRE туннели от домашнего шлюза (только клиентские подключения) + HOME -- "GRE MSK-VPSVILLE-RTK
10.100.2.0/30" --> VPSVILLE + HOME -- "GRE MSK-VPSVILLE-MTS
10.100.1.0/30" --> VPSVILLE + HOME -- "GRE MSK-IHOR-RTK
10.100.4.0/30" --> IHOR + HOME -- "GRE MSK-IHOR-MTS
10.100.3.0/30" --> IHOR + + %% GRE туннель между московскими серверами (независимо от HOME) + VPSVILLE -- "GRE MSK-VPSVILLE-IHOR
10.200.0.0/30" --> IHOR + + %% OSPF связи только между серверами + VPSVILLE -. "OSPF" .- IHOR + + %% HOME только получает маршруты от серверов + VPSVILLE -. "OSPF маршруты" .- HOME + IHOR -. "OSPF маршруты" .- HOME + + style VPSVILLE fill:#ff9800,stroke:#f57c00,stroke-width:2px,color:#fff + style IHOR fill:#ff9800,stroke:#f57c00,stroke-width:2px,color:#fff + style HOME fill:#e0e0e0,stroke:#9e9e9e,stroke-width:2px,color:#000 +``` + ### Схема отказоустойчивости (обновлено) ```mermaid @@ -614,4 +651,100 @@ add interfaces=gre-SWE-HIPHOST-MTS cost=100 area=backbone - Для новых туннелей просто берите следующую свободную /30 из диапазона. - Такой подход облегчает масштабирование и поддержку сети. +--- + +## Связывание московских серверов через OSPF + +Для обеспечения отказоустойчивости и оптимизации маршрутов все московские серверы связаны через OSPF. Это обеспечивает автоматический failover между площадками и оптимальный выбор маршрутов. + +### Преимущества связывания московских серверов + +1. **Автоматический failover между московскими площадками** + - Если VPSVILLE недоступен, трафик автоматически пойдет через IHOR + - Если IHOR недоступен, трафик пойдет через VPSVILLE + +2. **Оптимизация маршрутов** + - OSPF автоматически выберет кратчайший путь + - Можно настроить разные cost для разных провайдеров + +3. **Масштабируемость** + - Легко добавлять новые московские площадки + - Автоматическое распространение маршрутов + +### Конфигурация GRE туннеля между московскими серверами + +#### На VPSVILLE (msk.vpsville.rt.shx.su): +```shell +# Создание GRE туннеля к IHOR +/interface gre add name=gre-MSK-VPSVILLE-IHOR remote-address= local-address= +/ip address add address=10.200.0.1/30 interface=gre-MSK-VPSVILLE-IHOR + +# Добавление в OSPF +/routing ospf interface-template +add interfaces=gre-MSK-VPSVILLE-IHOR cost=10 area=backbone +``` + +#### На IHOR (msk.ihor.rt.shx.su): +```shell +# Создание GRE туннеля к VPSVILLE +/interface gre add name=gre-MSK-IHOR-VPSVILLE remote-address= local-address= +/ip address add address=10.200.0.2/30 interface=gre-MSK-IHOR-VPSVILLE + +# Добавление в OSPF +/routing ospf interface-template +add interfaces=gre-MSK-IHOR-VPSVILLE cost=10 area=backbone +``` + +#### На HOME (home.rt.shx.su): +```shell +# HOME не создает GRE туннели между серверами +# HOME только подключается к серверам по GRE и получает маршруты через OSPF + +# OSPF настроен для получения маршрутов от серверов +/routing ospf interface-template +add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone +add interfaces=gre-MSK-VPSVILLE-MTS cost=100 area=backbone +add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone +add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone + +# Policy routing для выбора нужного сервера/провайдера +/routing rule +add src-address=192.168.111.0/24 action=lookup table=MTS +add src-address=192.168.222.0/24 action=lookup table=MSK +``` + +### Логика работы OSPF между московскими серверами + +1. **Прямая связь между серверами**: VPSVILLE ↔ IHOR через GRE туннель 10.200.0.0/30 +2. **OSPF анонсирует маршруты**: Каждый сервер анонсирует свои сети через OSPF +3. **HOME получает маршруты**: HOME получает маршруты от обоих серверов через OSPF +4. **Автоматический failover**: Если один сервер недоступен, OSPF убирает маршруты через него +5. **Оптимальные маршруты**: OSPF выбирает кратчайший путь между серверами + +### Роль HOME в архитектуре + +- **HOME - конечная точка**: Подключается к серверам по GRE, но не участвует в межсерверной маршрутизации +- **Получение маршрутов**: HOME получает маршруты от серверов через OSPF +- **Policy routing**: HOME использует route tables для выбора нужного сервера/провайдера +- **Отправка трафика**: HOME отправляет трафик по правилам маршрутизации + +### Пример маршрутизации + +- **Трафик VPSVILLE → IHOR**: Прямо через GRE туннель 10.200.0.0/30 (без участия HOME) +- **Трафик HOME → Интернет**: Через VPSVILLE или IHOR согласно route tables +- **Трафик HOME → Европа**: Через SWE-HIPHOST согласно policy routing + +### Мониторинг связей + +```shell +# Проверка состояния GRE туннелей +/interface gre print + +# Проверка OSPF соседей +/routing ospf neighbor print + +# Проверка маршрутов +/ip route print +``` + --- \ No newline at end of file