Refactor README.md to clarify tunnel configurations by distinguishing between primary (Ростелеком) and backup (МТС) providers. Added priority column to tables, updated OSPF cost explanations, and enhanced policy routing details for HomeLab traffic management.

This commit is contained in:
2025-07-10 14:05:47 +07:00
parent b3fb103fe4
commit 63477c1ece
+47 -40
View File
@@ -253,19 +253,19 @@ graph TB
## Конфигурация туннелей ## Конфигурация туннелей
### Ростелеком (RTK) ### Ростелеком (RTK) - ОСНОВНОЙ провайдер
| Туннель | Назначение | Локация | Статус | | Туннель | Назначение | Локация | Статус | Приоритет |
|---------|------------|---------|--------| |---------|------------|---------|--------|-----------|
| MSK-VPSVILLE-RTK | Основной канал VPSVILLE | Москва | Активен | | MSK-VPSVILLE-RTK | Основной канал VPSVILLE | Москва | Активен | 1 (основной) |
| MSK-IHOR-RTK | Основной канал IHOR | Москва | Активен | | MSK-IHOR-RTK | Основной канал IHOR | Москва | Активен | 1 (основной) |
| SWE-HIPHOST-RTK | Основной канал HIPHOST | Швеция | Активен | | SWE-HIPHOST-RTK | Основной канал HIPHOST | Швеция | Активен | 1 (основной) |
### МТС (MTS) ### МТС (MTS) - РЕЗЕРВНЫЙ провайдер
| Туннель | Назначение | Локация | Статус | | Туннель | Назначение | Локация | Статус | Приоритет |
|---------|------------|---------|--------| |---------|------------|---------|--------|-----------|
| MSK-VPSVILLE-MTS | Резервный канал VPSVILLE | Москва | Активен | | MSK-VPSVILLE-MTS | Резервный канал VPSVILLE | Москва | Активен | 2 (резервный) |
| MSK-IHOR-MTS | Резервный канал IHOR | Москва | Активен | | MSK-IHOR-MTS | Резервный канал IHOR | Москва | Активен | 2 (резервный) |
| SWE-HIPHOST-MTS | Резервный канал HIPHOST | Швеция | Активен | | SWE-HIPHOST-MTS | Резервный канал HIPHOST | Швеция | Активен | 2 (резервный) |
## Преимущества архитектуры ## Преимущества архитектуры
@@ -371,14 +371,14 @@ graph TB
### Рекомендации по настройке ### Рекомендации по настройке
1. **OSPF cost** 1. **OSPF cost**
- Для GRE туннелей через Ростелеком выставить меньший cost (например, 10) - Для GRE туннелей через Ростелеком (основной) выставить меньший cost (например, 10)
- Для GRE туннелей через МТС — больший cost (например, 100) - Для GRE туннелей через МТС (резервный) — больший cost (например, 100)
- Это обеспечит приоритет Ростелекома для всего трафика, кроме HomeLab - Это обеспечит приоритет Ростелекома для всего трафика, кроме HomeLab
2. **Policy Based Routing (PBR) для HomeLab** 2. **Policy Based Routing (PBR) для HomeLab**
- Для HomeLab (например, 192.168.111.0/24) настроить policy routing: - Для HomeLab (например, 192.168.111.0/24) настроить policy routing:
- Весь исходящий трафик с HomeLab отправлять в route-table=MTS - Весь исходящий трафик с HomeLab отправлять в route-table=MTS
- В этой таблице основной маршрут — через МТС - В этой таблице основной маршрут — через МТС (резервный провайдер)
3. **OSPF Instance и Area** 3. **OSPF Instance и Area**
- Использовать одну OSPF instance для всех туннелей (если нет особых требований) - Использовать одну OSPF instance для всех туннелей (если нет особых требований)
@@ -392,11 +392,13 @@ graph TB
set [ find default=yes ] router-id=10.100.0.1 set [ find default=yes ] router-id=10.100.0.1
# 2. Добавление GRE-интерфейсов в OSPF с разным cost # 2. Добавление GRE-интерфейсов в OSPF с разным cost
# Ростелеком (основной провайдер) - низкий cost
/routing ospf interface /routing ospf interface
add interface=gre-MSK-VPSVILLE-RTK cost=10 network-type=point-to-point 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-MSK-IHOR-RTK cost=10 network-type=point-to-point
add interface=gre-SWE-HIPHOST-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-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-MSK-IHOR-MTS cost=100 network-type=point-to-point
add interface=gre-SWE-HIPHOST-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 /routing ospf network
add network=10.100.0.0/16 area=backbone add network=10.100.0.0/16 area=backbone
# 4. Policy Based Routing для HomeLab # 4. Policy Based Routing для HomeLab (использует резервный МТС)
/ip route /ip route
add dst-address=0.0.0.0/0 gateway=<MTS-GW> routing-table=MTS add dst-address=0.0.0.0/0 gateway=<MTS-GW> routing-table=MTS
/ip firewall mangle /ip firewall mangle
@@ -415,9 +417,9 @@ add chain=prerouting src-address=192.168.111.0/24 action=mark-routing new-routin
``` ```
#### Логика работы #### Логика работы
- OSPF сам будет выбирать основной маршрут через Ростелеком (cost ниже). - OSPF сам будет выбирать основной маршрут через Ростелеком (основной провайдер, cost=10).
- Если основной канал падает, трафик автоматически пойдёт через МТС. - Если основной канал падает, трафик автоматически пойдёт через МТС (резервный провайдер, cost=100).
- Для HomeLab весь трафик всегда идёт через МТС, независимо от состояния каналов, благодаря policy routing. - Для 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 add name=backbone instance=default area-id=0.0.0.0
# 2. Добавление GRE-интерфейсов с нужным cost # 2. Добавление GRE-интерфейсов с нужным cost
# Ростелеком (основной провайдер) - низкий cost
/routing ospf interface-template /routing ospf interface-template
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone
add interfaces=gre-MSK-IHOR-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 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-VPSVILLE-MTS cost=100 area=backbone
add interfaces=gre-MSK-IHOR-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 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 ```shell
# 1. Создание таблиц маршрутизации # 1. Создание таблиц маршрутизации
/routing table /routing table
add name=MSK fib add name=MSK fib # Основной трафик через Ростелеком
add name=MTS fib add name=MTS fib # HomeLab трафик через МТС (резервный)
# 2. Routing rules для выбора таблицы по источнику # 2. Routing rules для выбора таблицы по источнику
/routing rule /routing rule
add src-address=192.168.111.0/24 action=lookup table=MTS 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 add src-address=192.168.222.0/24 action=lookup table=MSK # Основной трафик → Ростелеком
# OSPF сам добавит маршруты в эти таблицы, если GRE-интерфейсы участвуют в OSPF # 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 # 4. GRE SWE-HIPHOST добавлен в OSPF
/routing ospf interface-template /routing ospf interface-template
add interfaces=gre-SWE-HIPHOST-RTK cost=10 area=backbone 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-MTS cost=100 area=backbone # Резервный канал
``` ```
- `<EU_SUBNETS>` — список европейских подсетей или диапазонов (можно использовать address-list и mangle для сложных случаев). - `<EU_SUBNETS>` — список европейских подсетей или диапазонов (можно использовать 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=<IHOR_WAN_IP> local-address=<VPSVILLE_WAN_IP> /interface gre add name=gre-MSK-VPSVILLE-IHOR remote-address=<IHOR_WAN_IP> local-address=<VPSVILLE_WAN_IP>
/ip address add address=10.200.0.1/30 interface=gre-MSK-VPSVILLE-IHOR /ip address add address=10.200.0.1/30 interface=gre-MSK-VPSVILLE-IHOR
# Добавление в OSPF # Добавление в OSPF (межсерверная связь через основной провайдер)
/routing ospf interface-template /routing ospf interface-template
add interfaces=gre-MSK-VPSVILLE-IHOR cost=10 area=backbone 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=<VPSVILLE_WAN_IP> local-address=<IHOR_WAN_IP> /interface gre add name=gre-MSK-IHOR-VPSVILLE remote-address=<VPSVILLE_WAN_IP> local-address=<IHOR_WAN_IP>
/ip address add address=10.200.0.2/30 interface=gre-MSK-IHOR-VPSVILLE /ip address add address=10.200.0.2/30 interface=gre-MSK-IHOR-VPSVILLE
# Добавление в OSPF # Добавление в OSPF (межсерверная связь через основной провайдер)
/routing ospf interface-template /routing ospf interface-template
add interfaces=gre-MSK-IHOR-VPSVILLE cost=10 area=backbone 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 настроен для получения маршрутов от серверов # OSPF настроен для получения маршрутов от серверов
/routing ospf interface-template /routing ospf interface-template
# Ростелеком (основной провайдер) - низкий cost
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone 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-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-MSK-IHOR-MTS cost=100 area=backbone
# Policy routing для выбора нужного сервера/провайдера # Policy routing для выбора нужного сервера/провайдера
/routing rule /routing rule
add src-address=192.168.111.0/24 action=lookup table=MTS 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 add src-address=192.168.222.0/24 action=lookup table=MSK # Основной трафик → Ростелеком
``` ```
### Логика работы OSPF между московскими серверами ### Логика работы 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 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 Columns: DST-ADDRESS, GATEWAY, DISTANCE
# DST-ADDRESS GATEWAY DISTANCE # DST-ADDRESS GATEWAY DISTANCE
0 A s 0.0.0.0/0 10.100.2.2 1 # Через VPSVILLE-RTK 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 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 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 3 A s 0.0.0.0/0 10.100.3.2 2 # Через IHOR-MTS (резервный)
``` ```
### Контроль дублирования через OSPF cost ### Контроль дублирования через OSPF cost
@@ -804,11 +811,11 @@ Columns: DST-ADDRESS, GATEWAY, DISTANCE
```shell ```shell
# Настройка разных cost для приоритизации маршрутов # Настройка разных cost для приоритизации маршрутов
/routing ospf interface-template /routing ospf interface-template
# Основные каналы (Ростелеком) - низкий cost # Ростелеком (основной провайдер) - низкий cost
add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone add interfaces=gre-MSK-VPSVILLE-RTK cost=10 area=backbone
add interfaces=gre-MSK-IHOR-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-VPSVILLE-MTS cost=100 area=backbone
add interfaces=gre-MSK-IHOR-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 ```shell
# Создание отдельных таблиц маршрутизации # Создание отдельных таблиц маршрутизации
/routing table /routing table
add name=MSK fib add name=MSK fib # Основной трафик через Ростелеком
add name=MTS fib add name=MTS fib # HomeLab трафик через МТС (резервный)
# Routing rules для выбора таблицы # Routing rules для выбора таблицы
/routing rule /routing rule
add src-address=192.168.111.0/24 action=lookup table=MTS 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 add src-address=192.168.222.0/24 action=lookup table=MSK # Основной трафик → Ростелеком
# В каждой таблице будет свой набор маршрутов # В каждой таблице будет свой набор маршрутов
# OSPF автоматически добавит маршруты в соответствующие таблицы # OSPF автоматически добавит маршруты в соответствующие таблицы