From 4d7f9a96e172364a564a6755b708dacee13d6700 Mon Sep 17 00:00:00 2001 From: Denis Shatskiy Date: Fri, 11 Jul 2025 00:24:10 +0700 Subject: [PATCH] Refactor README.md to standardize GRE tunnel naming conventions and improve clarity on inter-server tunnel configurations. Updated tunnel names for MSK-VPSVILLE and IHOR, added detailed examples for mass configuration distribution, and enhanced explanations of failover testing procedures. --- README.md | 128 ++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 110 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index e9bfc84..e8a5c66 100644 --- a/README.md +++ b/README.md @@ -1528,8 +1528,8 @@ set [ find default=yes ] router-id=10.100.0.2 redistribute=connected,static /ip address add address=10.200.2.1/30 interface=gre-SWE-HIPHOST # 2. GRE туннель к MSK-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 +/interface gre add name=gre-MSK-VPSVILLE-IHOR remote-address= local-address= +/ip address add address=10.200.0.2/30 interface=gre-MSK-VPSVILLE-IHOR # 3. OSPF конфигурация /routing ospf area @@ -1545,7 +1545,7 @@ add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone add interfaces=gre-SWE-HIPHOST cost=10 area=backbone # Интерфейс к MSK-VPSVILLE -add interfaces=gre-MSK-IHOR-VPSVILLE cost=5 area=backbone +add interfaces=gre-MSK-VPSVILLE-IHOR cost=5 area=backbone # 5. Анонсировать маршрут 0.0.0.0/0 через SWE-HIPHOST /ip route add dst-address=0.0.0.0/0 gateway=10.200.2.2 distance=1 @@ -1559,11 +1559,11 @@ set [ find default=yes ] router-id=10.100.0.3 redistribute=connected,static ```shell # 1. GRE туннели от московских серверов (межсерверные туннели) -/interface gre add name=gre-SWE-HIPHOST-VPSVILLE remote-address= local-address= -/ip address add address=10.200.1.2/30 interface=gre-SWE-HIPHOST-VPSVILLE +/interface gre add name=gre-SWE-HIPHOST remote-address= local-address= +/ip address add address=10.200.1.2/30 interface=gre-SWE-HIPHOST -/interface gre add name=gre-SWE-HIPHOST-IHOR remote-address= local-address= -/ip address add address=10.200.2.2/30 interface=gre-SWE-HIPHOST-IHOR +/interface gre add name=gre-MSK-VPSVILLE-IHOR remote-address= local-address= +/ip address add address=10.200.2.2/30 interface=gre-MSK-VPSVILLE-IHOR # 2. OSPF конфигурация /routing ospf area @@ -1571,8 +1571,8 @@ add name=backbone instance=default area-id=0.0.0.0 # 3. Добавить интерфейсы в OSPF /routing ospf interface-template -add interfaces=gre-SWE-HIPHOST-VPSVILLE cost=10 area=backbone -add interfaces=gre-SWE-HIPHOST-IHOR cost=10 area=backbone +add interfaces=gre-SWE-HIPHOST cost=10 area=backbone +add interfaces=gre-MSK-VPSVILLE-IHOR cost=10 area=backbone # 4. OSPF redistribute (маршрут 0.0.0.0/0 получен через DHCP) /routing ospf instance @@ -1606,12 +1606,40 @@ add src-address=192.168.222.0/24 action=lookup table=MSK # Основной т | Туннель | Подсеть | IP (левый сервер) | IP (правый сервер) | Описание | |--------------------------------|-----------------|-------------------|--------------------|----------| -| MSK-VPSVILLE ↔ SWE-HIPHOST | 10.200.1.0/30 | 10.200.1.1 | 10.200.1.2 | VPSVILLE → SWE | -| MSK-IHOR ↔ SWE-HIPHOST | 10.200.2.0/30 | 10.200.2.1 | 10.200.2.2 | IHOR → SWE | -| MSK-VPSVILLE ↔ MSK-IHOR | 10.200.0.0/30 | 10.200.0.1 | 10.200.0.2 | Межсерверная связь | +| gre-SWE-HIPHOST | 10.200.1.0/30 | 10.200.1.1 | 10.200.1.2 | VPSVILLE ↔ SWE | +| gre-MSK-VPSVILLE-IHOR | 10.200.2.0/30 | 10.200.2.1 | 10.200.2.2 | IHOR ↔ SWE | +| gre-MSK-VPSVILLE-IHOR | 10.200.0.0/30 | 10.200.0.1 | 10.200.0.2 | VPSVILLE ↔ IHOR | **Примечание**: Все межсерверные туннели используют диапазон 10.200.0.0/16, что обеспечивает четкое разделение от туннелей HOME (10.100.0.0/16). +### Единая система именования межсерверных туннелей + +Для удобства массовой рассылки статических списков маршрутизации все межсерверные туннели используют единые названия: + +#### Принцип именования: +- **gre-SWE-HIPHOST** - все туннели к SWE-HIPHOST (от VPSVILLE и IHOR) +- **gre-MSK-VPSVILLE-IHOR** - все туннели между московскими серверами и к IHOR + +#### Преимущества единого именования: +1. **Массовая настройка**: Одинаковые команды для всех серверов +2. **Упрощение скриптов**: Можно использовать шаблоны конфигурации +3. **Единообразие**: Легче поддерживать и документировать +4. **Масштабируемость**: При добавлении новых серверов схема остается понятной + +#### Пример массовой рассылки конфигурации: + +```shell +# Шаблон для всех серверов с туннелем gre-SWE-HIPHOST +/interface gre add name=gre-SWE-HIPHOST remote-address= local-address= +/ip address add address=/30 interface=gre-SWE-HIPHOST +/routing ospf interface-template add interfaces=gre-SWE-HIPHOST cost=10 area=backbone + +# Шаблон для всех серверов с туннелем gre-MSK-VPSVILLE-IHOR +/interface gre add name=gre-MSK-VPSVILLE-IHOR remote-address= local-address= +/ip address add address=/30 interface=gre-MSK-VPSVILLE-IHOR +/routing ospf interface-template add interfaces=gre-MSK-VPSVILLE-IHOR cost=5 area=backbone +``` + ### Логика разделения адресов на диапазоны #### Диапазон 10.100.0.0/16 - Туннели от HOME @@ -1664,16 +1692,16 @@ MSK-VPSVILLE ↔ MSK-IHOR | 10.100.9.0/30 1. **Нормальная работа**: - HOME получает маршрут 0.0.0.0/0 от MSK-VPSVILLE через OSPF - - MSK-VPSVILLE имеет GRE туннель к SWE-HIPHOST (10.200.1.0/30) + - MSK-VPSVILLE имеет GRE туннель gre-SWE-HIPHOST к SWE-HIPHOST (10.200.1.0/30) -2. **Отказ GRE туннеля MSK-VPSVILLE → SWE-HIPHOST**: - - MSK-VPSVILLE больше не может достичь SWE-HIPHOST +2. **Отказ GRE туннеля gre-SWE-HIPHOST на MSK-VPSVILLE**: + - MSK-VPSVILLE больше не может достичь SWE-HIPHOST через gre-SWE-HIPHOST - MSK-VPSVILLE убирает маршрут 0.0.0.0/0 из OSPF - HOME получает маршрут 0.0.0.0/0 от MSK-IHOR через OSPF - - Весь трафик идет через MSK-IHOR → SWE-HIPHOST (10.200.2.0/30) + - Весь трафик идет через MSK-IHOR → gre-SWE-HIPHOST → SWE-HIPHOST (10.200.2.0/30) 3. **Автоматическое восстановление**: - - Когда GRE туннель MSK-VPSVILLE → SWE-HIPHOST восстанавливается + - Когда GRE туннель gre-SWE-HIPHOST на MSK-VPSVILLE восстанавливается - MSK-VPSVILLE снова анонсирует маршрут 0.0.0.0/0 - OSPF выбирает оптимальный путь (обычно через MSK-VPSVILLE) @@ -1700,10 +1728,65 @@ MSK-VPSVILLE ↔ MSK-IHOR | 10.100.9.0/30 /routing ospf neighbor print ``` +### Массовая рассылка конфигурации + +#### Шаблон для всех серверов с туннелем gre-SWE-HIPHOST: + +```shell +# Заменить , , на соответствующие значения +/interface gre add name=gre-SWE-HIPHOST remote-address= local-address= +/ip address add address=/30 interface=gre-SWE-HIPHOST +/routing ospf interface-template add interfaces=gre-SWE-HIPHOST cost=10 area=backbone +``` + +#### Шаблон для всех серверов с туннелем gre-MSK-VPSVILLE-IHOR: + +```shell +# Заменить , , на соответствующие значения +/interface gre add name=gre-MSK-VPSVILLE-IHOR remote-address= local-address= +/ip address add address=/30 interface=gre-MSK-VPSVILLE-IHOR +/routing ospf interface-template add interfaces=gre-MSK-VPSVILLE-IHOR cost=5 area=backbone +``` + +#### Пример конкретных команд для каждого сервера: + +**MSK-VPSVILLE:** +```shell +/interface gre add name=gre-SWE-HIPHOST remote-address= local-address= +/ip address add address=10.200.1.1/30 interface=gre-SWE-HIPHOST +/routing ospf interface-template add interfaces=gre-SWE-HIPHOST cost=10 area=backbone + +/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 +/routing ospf interface-template add interfaces=gre-MSK-VPSVILLE-IHOR cost=5 area=backbone +``` + +**MSK-IHOR:** +```shell +/interface gre add name=gre-SWE-HIPHOST remote-address= local-address= +/ip address add address=10.200.2.1/30 interface=gre-SWE-HIPHOST +/routing ospf interface-template add interfaces=gre-SWE-HIPHOST cost=10 area=backbone + +/interface gre add name=gre-MSK-VPSVILLE-IHOR remote-address= local-address= +/ip address add address=10.200.0.2/30 interface=gre-MSK-VPSVILLE-IHOR +/routing ospf interface-template add interfaces=gre-MSK-VPSVILLE-IHOR cost=5 area=backbone +``` + +**SWE-HIPHOST:** +```shell +/interface gre add name=gre-SWE-HIPHOST remote-address= local-address= +/ip address add address=10.200.1.2/30 interface=gre-SWE-HIPHOST +/routing ospf interface-template add interfaces=gre-SWE-HIPHOST cost=10 area=backbone + +/interface gre add name=gre-MSK-VPSVILLE-IHOR remote-address= local-address= +/ip address add address=10.200.2.2/30 interface=gre-MSK-VPSVILLE-IHOR +/routing ospf interface-template add interfaces=gre-MSK-VPSVILLE-IHOR cost=10 area=backbone +``` + ### Тестирование failover ```shell -# На MSK-VPSVILLE отключить GRE туннель к SWE-HIPHOST +# На MSK-VPSVILLE отключить GRE туннель gre-SWE-HIPHOST /interface gre disable [ find where name=gre-SWE-HIPHOST ] # Проверить что маршрут исчез из OSPF @@ -1712,6 +1795,15 @@ MSK-VPSVILLE ↔ MSK-IHOR | 10.100.9.0/30 # На HOME проверить что маршрут изменился /ip route print where dst-address=0.0.0.0/0 +# Включить туннель обратно +/interface gre enable [ find where name=gre-SWE-HIPHOST ] + +# На MSK-IHOR отключить GRE туннель gre-SWE-HIPHOST +/interface gre disable [ find where name=gre-SWE-HIPHOST ] + +# Проверить что маршрут исчез из OSPF +/routing ospf route print + # Включить туннель обратно /interface gre enable [ find where name=gre-SWE-HIPHOST ] ```