From 63477c1ece21999b706af83d690749645d2ad38a Mon Sep 17 00:00:00 2001 From: Denis Shatskiy Date: Thu, 10 Jul 2025 14:05:47 +0700 Subject: [PATCH] =?UTF-8?q?Refactor=20README.md=20to=20clarify=20tunnel=20?= =?UTF-8?q?configurations=20by=20distinguishing=20between=20primary=20(?= =?UTF-8?q?=D0=A0=D0=BE=D1=81=D1=82=D0=B5=D0=BB=D0=B5=D0=BA=D0=BE=D0=BC)?= =?UTF-8?q?=20and=20backup=20(=D0=9C=D0=A2=D0=A1)=20providers.=20Added=20p?= =?UTF-8?q?riority=20column=20to=20tables,=20updated=20OSPF=20cost=20expla?= =?UTF-8?q?nations,=20and=20enhanced=20policy=20routing=20details=20for=20?= =?UTF-8?q?HomeLab=20traffic=20management.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 87 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 47 insertions(+), 40 deletions(-) diff --git a/README.md b/README.md index 90d1dca..27ba834 100644 --- a/README.md +++ b/README.md @@ -253,19 +253,19 @@ graph TB ## Конфигурация туннелей -### Ростелеком (RTK) -| Туннель | Назначение | Локация | Статус | -|---------|------------|---------|--------| -| MSK-VPSVILLE-RTK | Основной канал VPSVILLE | Москва | Активен | -| MSK-IHOR-RTK | Основной канал IHOR | Москва | Активен | -| SWE-HIPHOST-RTK | Основной канал HIPHOST | Швеция | Активен | +### Ростелеком (RTK) - ОСНОВНОЙ провайдер +| Туннель | Назначение | Локация | Статус | Приоритет | +|---------|------------|---------|--------|-----------| +| MSK-VPSVILLE-RTK | Основной канал VPSVILLE | Москва | Активен | 1 (основной) | +| MSK-IHOR-RTK | Основной канал IHOR | Москва | Активен | 1 (основной) | +| SWE-HIPHOST-RTK | Основной канал HIPHOST | Швеция | Активен | 1 (основной) | -### МТС (MTS) -| Туннель | Назначение | Локация | Статус | -|---------|------------|---------|--------| -| MSK-VPSVILLE-MTS | Резервный канал VPSVILLE | Москва | Активен | -| MSK-IHOR-MTS | Резервный канал IHOR | Москва | Активен | -| SWE-HIPHOST-MTS | Резервный канал HIPHOST | Швеция | Активен | +### МТС (MTS) - РЕЗЕРВНЫЙ провайдер +| Туннель | Назначение | Локация | Статус | Приоритет | +|---------|------------|---------|--------|-----------| +| MSK-VPSVILLE-MTS | Резервный канал VPSVILLE | Москва | Активен | 2 (резервный) | +| MSK-IHOR-MTS | Резервный канал IHOR | Москва | Активен | 2 (резервный) | +| SWE-HIPHOST-MTS | Резервный канал HIPHOST | Швеция | Активен | 2 (резервный) | ## Преимущества архитектуры @@ -371,14 +371,14 @@ graph TB ### Рекомендации по настройке 1. **OSPF cost** - - Для GRE туннелей через Ростелеком выставить меньший cost (например, 10) - - Для GRE туннелей через МТС — больший cost (например, 100) + - Для GRE туннелей через Ростелеком (основной) выставить меньший cost (например, 10) + - Для GRE туннелей через МТС (резервный) — больший cost (например, 100) - Это обеспечит приоритет Ростелекома для всего трафика, кроме HomeLab 2. **Policy Based Routing (PBR) для HomeLab** - Для HomeLab (например, 192.168.111.0/24) настроить policy routing: - Весь исходящий трафик с HomeLab отправлять в route-table=MTS - - В этой таблице основной маршрут — через МТС + - В этой таблице основной маршрут — через МТС (резервный провайдер) 3. **OSPF Instance и Area** - Использовать одну OSPF instance для всех туннелей (если нет особых требований) @@ -392,11 +392,13 @@ graph TB set [ find default=yes ] router-id=10.100.0.1 # 2. Добавление GRE-интерфейсов в OSPF с разным cost +# Ростелеком (основной провайдер) - низкий cost /routing ospf interface add interface=gre-MSK-VPSVILLE-RTK cost=10 network-type=point-to-point add interface=gre-MSK-IHOR-RTK cost=10 network-type=point-to-point add interface=gre-SWE-HIPHOST-RTK cost=10 network-type=point-to-point +# МТС (резервный провайдер) - высокий cost add interface=gre-MSK-VPSVILLE-MTS cost=100 network-type=point-to-point add interface=gre-MSK-IHOR-MTS cost=100 network-type=point-to-point add interface=gre-SWE-HIPHOST-MTS cost=100 network-type=point-to-point @@ -405,7 +407,7 @@ add interface=gre-SWE-HIPHOST-MTS cost=100 network-type=point-to-point /routing ospf network add network=10.100.0.0/16 area=backbone -# 4. Policy Based Routing для HomeLab +# 4. Policy Based Routing для HomeLab (использует резервный МТС) /ip route add dst-address=0.0.0.0/0 gateway= routing-table=MTS /ip firewall mangle @@ -415,9 +417,9 @@ add chain=prerouting src-address=192.168.111.0/24 action=mark-routing new-routin ``` #### Логика работы -- OSPF сам будет выбирать основной маршрут через Ростелеком (cost ниже). -- Если основной канал падает, трафик автоматически пойдёт через МТС. -- Для HomeLab весь трафик всегда идёт через МТС, независимо от состояния каналов, благодаря policy routing. +- OSPF сам будет выбирать основной маршрут через Ростелеком (основной провайдер, cost=10). +- Если основной канал падает, трафик автоматически пойдёт через МТС (резервный провайдер, cost=100). +- Для HomeLab весь трафик всегда идёт через МТС (резервный провайдер), независимо от состояния каналов, благодаря policy routing. --- @@ -476,11 +478,13 @@ add name=default router-id=10.100.0.1 add name=backbone instance=default area-id=0.0.0.0 # 2. Добавление GRE-интерфейсов с нужным cost +# Ростелеком (основной провайдер) - низкий cost /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-SWE-HIPHOST-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 add interfaces=gre-SWE-HIPHOST-MTS cost=100 area=backbone @@ -491,13 +495,13 @@ add interfaces=gre-SWE-HIPHOST-MTS cost=100 area=backbone ```shell # 1. Создание таблиц маршрутизации /routing table -add name=MSK fib -add name=MTS fib +add name=MSK fib # Основной трафик через Ростелеком +add name=MTS fib # HomeLab трафик через МТС (резервный) # 2. Routing rules для выбора таблицы по источнику /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 +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 # Основной трафик → Ростелеком # OSPF сам добавит маршруты в эти таблицы, если GRE-интерфейсы участвуют в OSPF ``` @@ -597,8 +601,8 @@ add dst-address=0.0.0.0/0 gateway=10.100.5.2 routing-table=EU distance=1 # 4. GRE SWE-HIPHOST добавлен в OSPF /routing ospf interface-template -add interfaces=gre-SWE-HIPHOST-RTK cost=10 area=backbone -add interfaces=gre-SWE-HIPHOST-MTS cost=100 area=backbone +add interfaces=gre-SWE-HIPHOST-RTK cost=10 area=backbone # Основной канал +add interfaces=gre-SWE-HIPHOST-MTS cost=100 area=backbone # Резервный канал ``` - `` — список европейских подсетей или диапазонов (можно использовать address-list и mangle для сложных случаев). @@ -705,7 +709,7 @@ add interfaces=gre-SWE-HIPHOST-MTS cost=100 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 -# Добавление в OSPF +# Добавление в OSPF (межсерверная связь через основной провайдер) /routing ospf interface-template add interfaces=gre-MSK-VPSVILLE-IHOR cost=10 area=backbone ``` @@ -716,7 +720,7 @@ add interfaces=gre-MSK-VPSVILLE-IHOR cost=10 area=backbone /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 +# Добавление в OSPF (межсерверная связь через основной провайдер) /routing ospf interface-template add interfaces=gre-MSK-IHOR-VPSVILLE cost=10 area=backbone ``` @@ -728,15 +732,18 @@ add interfaces=gre-MSK-IHOR-VPSVILLE cost=10 area=backbone # OSPF настроен для получения маршрутов от серверов /routing ospf interface-template +# Ростелеком (основной провайдер) - низкий cost 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 + +# МТС (резервный провайдер) - высокий cost +add interfaces=gre-MSK-VPSVILLE-MTS cost=100 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 +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 # Основной трафик → Ростелеком ``` ### Логика работы OSPF между московскими серверами @@ -793,10 +800,10 @@ add src-address=192.168.222.0/24 action=lookup table=MSK Flags: D - DYNAMIC; A - ACTIVE; c - CONNECT, s - STATIC, r - RIP, m - MODEM, b - BGP, o - OSPF, M - MME, B - BLACKHOLE, U - UNREACHABLE, F - FIB, v - VPLS, V - VRF, l - LISP, a - BFD, M - MME, t - TTLS, I - IDE, W - WINBOX, X - XAUTH, g - 7GRE, S - SNAT Columns: DST-ADDRESS, GATEWAY, DISTANCE # DST-ADDRESS GATEWAY DISTANCE -0 A s 0.0.0.0/0 10.100.2.2 1 # Через VPSVILLE-RTK -1 A s 0.0.0.0/0 10.100.4.2 1 # Через IHOR-RTK -2 A s 0.0.0.0/0 10.100.1.2 2 # Через VPSVILLE-MTS -3 A s 0.0.0.0/0 10.100.3.2 2 # Через IHOR-MTS +0 A s 0.0.0.0/0 10.100.2.2 1 # Через VPSVILLE-RTK (основной) +1 A s 0.0.0.0/0 10.100.4.2 1 # Через IHOR-RTK (основной) +2 A s 0.0.0.0/0 10.100.1.2 2 # Через VPSVILLE-MTS (резервный) +3 A s 0.0.0.0/0 10.100.3.2 2 # Через IHOR-MTS (резервный) ``` ### Контроль дублирования через OSPF cost @@ -804,11 +811,11 @@ Columns: DST-ADDRESS, GATEWAY, DISTANCE ```shell # Настройка разных cost для приоритизации маршрутов /routing ospf interface-template -# Основные каналы (Ростелеком) - низкий cost +# Ростелеком (основной провайдер) - низкий cost add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone -# Резервные каналы (МТС) - высокий cost +# МТС (резервный провайдер) - высокий cost add interfaces=gre-MSK-VPSVILLE-MTS cost=100 area=backbone add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone ``` @@ -818,13 +825,13 @@ add interfaces=gre-MSK-IHOR-MTS cost=100 area=backbone ```shell # Создание отдельных таблиц маршрутизации /routing table -add name=MSK fib -add name=MTS fib +add name=MSK fib # Основной трафик через Ростелеком +add name=MTS fib # HomeLab трафик через МТС (резервный) # Routing rules для выбора таблицы /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 +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 # Основной трафик → Ростелеком # В каждой таблице будет свой набор маршрутов # OSPF автоматически добавит маршруты в соответствующие таблицы