Files
shx-network/youtube_routing_setup.md

14 KiB
Raw Permalink Blame History

Настройка Routing Table YouTube для трафика RTK->IHOR->SWE

Обзор задачи

У вас есть:

  • GRE туннель RTK → IHOR (основной канал)
  • GRE туннель RTK → SWE (прямой канал)
  • Нужно создать routing table YouTube, где весь трафик идет по маршруту RTK → IHOR → SWE

Архитектура решения

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

# Создать отдельную таблицу маршрутизации для YouTube
/routing table
add name=YouTube fib

Шаг 2: Настройка GRE туннеля IHOR→SWE (если не настроен)

На MSK-IHOR (msk.ihor.rt.shx.su):

# Создать 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):

# Создать 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

# Основной маршрут через 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):

# Маршрут для 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 адресам (рекомендуемый)

# Создать 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 трафика)

# Routing rule для HTTPS трафика (порт 443)
/routing rule
add dst-port=443 action=lookup table=YouTube

Вариант 3: По доменам (требует DNS interception)

# Создать 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):

# Убедиться что 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):

# Анонсировать маршрут через 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:

# 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:

# Проверить 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:

# Проверить GRE туннель к SWE
/interface gre print where name~"SWE"

# Проверить маршруты к YouTube
/ip route print where dst-address~"173.194"

# Проверить OSPF соседей
/routing ospf neighbor print

На SWE-HIPHOST:

# Проверить GRE туннель от IHOR
/interface gre print where name~"IHOR"

# Проверить OSPF соседей
/routing ospf neighbor print

Тестирование

Тест 1: Проверка маршрутизации

# На HOME проверить маршрут к YouTube
traceroute 173.194.0.1

# Должен показать путь: HOME → IHOR → SWE → YouTube

Тест 2: Проверка через YouTube

# Открыть YouTube в браузере
# Проверить что трафик идет через нужный маршрут
# Можно использовать инструменты разработчика браузера

Тест 3: Проверка failover

# Отключить 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 трафика

# Создать 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 трафика

# Создать простой скрипт для мониторинга
/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 трафик не идет через нужный маршрут

Решение:

# Проверить 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 не работает

Решение:

# Проверить GRE туннель
/interface gre print

# Проверить ping через туннель
ping 10.100.9.2 count=5

# Проверить OSPF соседей
/routing ospf neighbor print

Проблема 3: Медленная скорость через IHOR→SWE

Решение:

# Проверить пропускную способность туннелей
/tool bandwidth-test 10.100.9.2

# Оптимизировать MTU
/interface gre set [ find where name=gre-SWE-HIPHOST ] mtu=1400

Полная конфигурация для копирования

HOME (home.rt.shx.su):

# Создать 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):

# 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):

# 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 сервисам.