Files
shx-network/youtube_routing_setup.md
T

418 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Настройка Routing Table YouTube для трафика RTK->IHOR->SWE
## Обзор задачи
У вас есть:
- GRE туннель RTK → IHOR (основной канал)
- GRE туннель RTK → SWE (прямой канал)
- Нужно создать routing table YouTube, где весь трафик идет по маршруту RTK → IHOR → SWE
## Архитектура решения
```mermaid
graph TB
subgraph "HOME"
HOME[HOME<br/>home.rt.shx.su]
end
subgraph "Москва"
IHOR[MSK-IHOR<br/>msk.ihor.rt.shx.su]
end
subgraph "Швеция"
SWE[SWE-HIPHOST<br/>swe.hiphost.rt.shx.su]
end
%% GRE туннели
HOME -- "GRE RTK→IHOR<br/>10.100.4.0/30" --> IHOR
HOME -- "GRE RTK→SWE<br/>10.100.6.0/30" --> SWE
%% Межсерверный туннель
IHOR -- "GRE IHOR→SWE<br/>10.100.9.0/30" --> SWE
%% YouTube трафик
HOME -. "YouTube трафик<br/>routing-table=YouTube" .- IHOR
IHOR -. "YouTube трафик<br/>через SWE" .- SWE
style HOME fill:#e1f5fe
style IHOR fill:#ff9800
style SWE fill:#4caf50
```
## Пошаговая настройка
### Шаг 1: Создание Routing Table YouTube на HOME
```shell
# Создать отдельную таблицу маршрутизации для YouTube
/routing table
add name=YouTube fib
```
### Шаг 2: Настройка GRE туннеля IHOR→SWE (если не настроен)
#### На MSK-IHOR (msk.ihor.rt.shx.su):
```shell
# Создать GRE туннель к SWE-HIPHOST
/interface gre add name=gre-SWE-HIPHOST remote-address=<SWE_WAN_IP> local-address=<IHOR_WAN_IP>
/ip address add address=10.100.9.1/30 interface=gre-SWE-HIPHOST
# Добавить в OSPF для автоматического распространения маршрутов
/routing ospf interface-template
add interfaces=gre-SWE-HIPHOST cost=10 area=backbone
```
#### На SWE-HIPHOST (swe.hiphost.rt.shx.su):
```shell
# Создать GRE туннель от IHOR
/interface gre add name=gre-IHOR-SWE remote-address=<IHOR_WAN_IP> local-address=<SWE_WAN_IP>
/ip address add address=10.100.9.2/30 interface=gre-IHOR-SWE
# Добавить в OSPF
/routing ospf interface-template
add interfaces=gre-IHOR-SWE cost=10 area=backbone
```
### Шаг 3: Настройка маршрутов в таблице YouTube на HOME
```shell
# Основной маршрут через IHOR→SWE
/ip route
add dst-address=0.0.0.0/0 gateway=10.100.4.2 routing-table=YouTube distance=1
# Резервный маршрут через прямой канал RTK→SWE (если нужен)
add dst-address=0.0.0.0/0 gateway=10.100.6.2 routing-table=YouTube distance=2
```
### Шаг 4: Настройка маршрута на IHOR для YouTube трафика
#### На MSK-IHOR (msk.ihor.rt.shx.su):
```shell
# Маршрут для YouTube трафика через SWE
/ip route
add dst-address=0.0.0.0/0 gateway=10.100.9.2 distance=1
# Или более точно - только для YouTube подсетей
# Создать address-list для YouTube IP
/ip firewall address-list
add list=YouTube list=173.194.0.0/16 comment="YouTube"
add list=YouTube list=74.125.0.0/16 comment="YouTube"
add list=YouTube list=142.250.0.0/16 comment="YouTube"
add list=YouTube list=172.217.0.0/16 comment="YouTube"
add list=YouTube list=216.58.0.0/16 comment="YouTube"
add list=YouTube list=34.0.0.0/8 comment="YouTube"
add list=YouTube list=35.0.0.0/8 comment="YouTube"
add list=YouTube list=142.0.0.0/8 comment="YouTube"
# Маршрут только для YouTube подсетей
/ip route
add dst-address=173.194.0.0/16 gateway=10.100.9.2 distance=1
add dst-address=74.125.0.0/16 gateway=10.100.9.2 distance=1
add dst-address=142.250.0.0/16 gateway=10.100.9.2 distance=1
add dst-address=172.217.0.0/16 gateway=10.100.9.2 distance=1
add dst-address=216.58.0.0/16 gateway=10.100.9.2 distance=1
add dst-address=34.0.0.0/8 gateway=10.100.9.2 distance=1
add dst-address=35.0.0.0/8 gateway=10.100.9.2 distance=1
add dst-address=142.0.0.0/8 gateway=10.100.9.2 distance=1
```
### Шаг 5: Настройка Policy Based Routing на HOME
#### Вариант 1: По IP адресам (рекомендуемый)
```shell
# Создать address-list для YouTube
/ip firewall address-list
add list=YouTube list=173.194.0.0/16 comment="YouTube"
add list=YouTube list=74.125.0.0/16 comment="YouTube"
add list=YouTube list=142.250.0.0/16 comment="YouTube"
add list=YouTube list=172.217.0.0/16 comment="YouTube"
add list=YouTube list=216.58.0.0/16 comment="YouTube"
add list=YouTube list=34.0.0.0/8 comment="YouTube"
add list=YouTube list=35.0.0.0/8 comment="YouTube"
add list=YouTube list=142.0.0.0/8 comment="YouTube"
# Routing rule для YouTube трафика
/routing rule
add dst-address=173.194.0.0/16 action=lookup table=YouTube
add dst-address=74.125.0.0/16 action=lookup table=YouTube
add dst-address=142.250.0.0/16 action=lookup table=YouTube
add dst-address=172.217.0.0/16 action=lookup table=YouTube
add dst-address=216.58.0.0/16 action=lookup table=YouTube
add dst-address=34.0.0.0/8 action=lookup table=YouTube
add dst-address=35.0.0.0/8 action=lookup table=YouTube
add dst-address=142.0.0.0/8 action=lookup table=YouTube
```
#### Вариант 2: По портам (для HTTPS трафика)
```shell
# Routing rule для HTTPS трафика (порт 443)
/routing rule
add dst-port=443 action=lookup table=YouTube
```
#### Вариант 3: По доменам (требует DNS interception)
```shell
# Создать address-list для YouTube доменов
/ip dns static
add name=youtube.com address=173.194.0.0/16
add name=youtu.be address=173.194.0.0/16
add name=googlevideo.com address=173.194.0.0/16
# Routing rule для этих адресов
/routing rule
add dst-address=173.194.0.0/16 action=lookup table=YouTube
```
### Шаг 6: Настройка OSPF для автоматического failover
#### На HOME (home.rt.shx.su):
```shell
# Убедиться что GRE туннели участвуют в OSPF
/routing ospf interface-template
add interfaces=gre-MSK-IHOR-RTK cost=10 area=backbone
add interfaces=gre-SWE-HIPHOST-RTK cost=10 area=backbone
# OSPF автоматически добавит маршруты в таблицу YouTube
```
#### На MSK-IHOR (msk.ihor.rt.shx.su):
```shell
# Анонсировать маршрут через SWE в OSPF
/routing ospf instance
set [ find default=yes ] redistribute=connected,static
# Убедиться что GRE туннель к SWE в OSPF
/routing ospf interface-template
add interfaces=gre-SWE-HIPHOST cost=10 area=backbone
```
## Альтернативная настройка через mangle (RouterOS 6.x)
Если используете RouterOS 6.x или предпочитаете mangle:
```shell
# Mangle rule для YouTube трафика
/ip firewall mangle
add chain=prerouting dst-address-list=YouTube action=mark-routing new-routing-mark=YouTube
# Routing rule для YouTube
/ip route
add dst-address=0.0.0.0/0 gateway=10.100.4.2 routing-mark=YouTube distance=1
```
## Проверка настройки
### На HOME:
```shell
# Проверить routing table YouTube
/routing table print where name=YouTube
# Проверить маршруты в таблице YouTube
/ip route print where routing-table=YouTube
# Проверить routing rules
/routing rule print
# Проверить address-list YouTube
/ip firewall address-list print where list=YouTube
# Проверить OSPF маршруты
/routing ospf route print
```
### На MSK-IHOR:
```shell
# Проверить GRE туннель к SWE
/interface gre print where name~"SWE"
# Проверить маршруты к YouTube
/ip route print where dst-address~"173.194"
# Проверить OSPF соседей
/routing ospf neighbor print
```
### На SWE-HIPHOST:
```shell
# Проверить GRE туннель от IHOR
/interface gre print where name~"IHOR"
# Проверить OSPF соседей
/routing ospf neighbor print
```
## Тестирование
### Тест 1: Проверка маршрутизации
```shell
# На HOME проверить маршрут к YouTube
traceroute 173.194.0.1
# Должен показать путь: HOME → IHOR → SWE → YouTube
```
### Тест 2: Проверка через YouTube
```shell
# Открыть YouTube в браузере
# Проверить что трафик идет через нужный маршрут
# Можно использовать инструменты разработчика браузера
```
### Тест 3: Проверка failover
```shell
# Отключить GRE туннель IHOR→SWE
/interface gre disable [ find where name=gre-SWE-HIPHOST ]
# Проверить что трафик переключился на резервный маршрут
traceroute 173.194.0.1
# Включить туннель обратно
/interface gre enable [ find where name=gre-SWE-HIPHOST ]
```
## Оптимизация
### Настройка QoS для YouTube трафика
```shell
# Создать queue tree для YouTube трафика
/queue tree
add name=YouTube parent=global-in max-limit=10M
add name=YouTube-out parent=global-out max-limit=10M
# Mangle rule для маркировки YouTube трафика
/ip firewall mangle
add chain=prerouting dst-address-list=YouTube action=mark-packet new-packet-mark=YouTube
add chain=postrouting src-address-list=YouTube action=mark-packet new-packet-mark=YouTube
# Применить queue tree
/queue tree
set [ find where name=YouTube ] packet-mark=YouTube
set [ find where name=YouTube-out ] packet-mark=YouTube
```
### Мониторинг YouTube трафика
```shell
# Создать простой скрипт для мониторинга
/system script
add name=check-youtube-routing source={
:log info "YouTube routing check"
/ip route print where routing-table=YouTube
/routing rule print where table=YouTube
}
```
## Возможные проблемы и решения
### Проблема 1: YouTube трафик не идет через нужный маршрут
**Решение:**
```shell
# Проверить routing rules
/routing rule print
# Проверить address-list
/ip firewall address-list print where list=YouTube
# Добавить логирование для отладки
/ip firewall mangle
add chain=prerouting dst-address-list=YouTube action=log log-prefix="YouTube"
```
### Проблема 2: GRE туннель IHOR→SWE не работает
**Решение:**
```shell
# Проверить GRE туннель
/interface gre print
# Проверить ping через туннель
ping 10.100.9.2 count=5
# Проверить OSPF соседей
/routing ospf neighbor print
```
### Проблема 3: Медленная скорость через IHOR→SWE
**Решение:**
```shell
# Проверить пропускную способность туннелей
/tool bandwidth-test 10.100.9.2
# Оптимизировать MTU
/interface gre set [ find where name=gre-SWE-HIPHOST ] mtu=1400
```
## Полная конфигурация для копирования
### HOME (home.rt.shx.su):
```shell
# Создать routing table
/routing table add name=YouTube fib
# Создать address-list для YouTube
/ip firewall address-list
add list=YouTube list=173.194.0.0/16 comment="YouTube"
add list=YouTube list=74.125.0.0/16 comment="YouTube"
add list=YouTube list=142.250.0.0/16 comment="YouTube"
add list=YouTube list=172.217.0.0/16 comment="YouTube"
add list=YouTube list=216.58.0.0/16 comment="YouTube"
add list=YouTube list=34.0.0.0/8 comment="YouTube"
add list=YouTube list=35.0.0.0/8 comment="YouTube"
add list=YouTube list=142.0.0.0/8 comment="YouTube"
# Routing rules для YouTube
/routing rule
add dst-address=173.194.0.0/16 action=lookup table=YouTube
add dst-address=74.125.0.0/16 action=lookup table=YouTube
add dst-address=142.250.0.0/16 action=lookup table=YouTube
add dst-address=172.217.0.0/16 action=lookup table=YouTube
add dst-address=216.58.0.0/16 action=lookup table=YouTube
add dst-address=34.0.0.0/8 action=lookup table=YouTube
add dst-address=35.0.0.0/8 action=lookup table=YouTube
add dst-address=142.0.0.0/8 action=lookup table=YouTube
# Маршрут в таблице YouTube
/ip route
add dst-address=0.0.0.0/0 gateway=10.100.4.2 routing-table=YouTube distance=1
```
### MSK-IHOR (msk.ihor.rt.shx.su):
```shell
# GRE туннель к SWE
/interface gre add name=gre-SWE-HIPHOST remote-address=<SWE_WAN_IP> local-address=<IHOR_WAN_IP>
/ip address add address=10.100.9.1/30 interface=gre-SWE-HIPHOST
# OSPF для туннеля
/routing ospf interface-template
add interfaces=gre-SWE-HIPHOST cost=10 area=backbone
# Маршрут для YouTube через SWE
/ip route
add dst-address=173.194.0.0/16 gateway=10.100.9.2 distance=1
add dst-address=74.125.0.0/16 gateway=10.100.9.2 distance=1
add dst-address=142.250.0.0/16 gateway=10.100.9.2 distance=1
add dst-address=172.217.0.0/16 gateway=10.100.9.2 distance=1
add dst-address=216.58.0.0/16 gateway=10.100.9.2 distance=1
add dst-address=34.0.0.0/8 gateway=10.100.9.2 distance=1
add dst-address=35.0.0.0/8 gateway=10.100.9.2 distance=1
add dst-address=142.0.0.0/8 gateway=10.100.9.2 distance=1
```
### SWE-HIPHOST (swe.hiphost.rt.shx.su):
```shell
# GRE туннель от IHOR
/interface gre add name=gre-IHOR-SWE remote-address=<IHOR_WAN_IP> local-address=<SWE_WAN_IP>
/ip address add address=10.100.9.2/30 interface=gre-IHOR-SWE
# OSPF для туннеля
/routing ospf interface-template
add interfaces=gre-IHOR-SWE cost=10 area=backbone
```
## Заключение
Данная настройка обеспечивает:
1. **Выделенную routing table YouTube** для YouTube трафика
2. **Маршрутизацию через RTK→IHOR→SWE** для оптимизации доступа к YouTube
3. **Автоматический failover** через OSPF
4. **Гибкость настройки** через address-list и routing rules
YouTube трафик будет идти по маршруту HOME → IHOR → SWE → YouTube, что может обеспечить лучшую скорость и стабильность доступа к YouTube сервисам.