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)
| Туннель | Назначение | Локация | Статус |
|---------|------------|---------|--------|
| 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=<MTS-GW> 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 # Резервный канал
```
- `<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>
/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=<VPSVILLE_WAN_IP> local-address=<IHOR_WAN_IP>
/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 автоматически добавит маршруты в соответствующие таблицы