14 KiB
14 KiB
Настройка 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
Заключение
Данная настройка обеспечивает:
- Выделенную routing table YouTube для YouTube трафика
- Маршрутизацию через RTK→IHOR→SWE для оптимизации доступа к YouTube
- Автоматический failover через OSPF
- Гибкость настройки через address-list и routing rules
YouTube трафик будет идти по маршруту HOME → IHOR → SWE → YouTube, что может обеспечить лучшую скорость и стабильность доступа к YouTube сервисам.