Маршрутизация double WAN и YouTube...

Обсуждение ПО и его настройки
Ответить
Ramsoft
Сообщения: 6
Зарегистрирован: 26 май 2015, 10:53

Ранее только читал, и прочитанного хватало, чтоб справиться с RouterOS, но вот пришла пора и написать...
Исторически у меня было два провайдера со слабыми (2Мбит) каналами на фиксированных IP для сбора информации с оборудования, но вот настал момент, когда завезли еще один канал потолще (75Мбит) для того, что бы все успевали собрать свой урожай в одноклассниках, танки не тормозили, была возможность глянуть Ютуб и прочие прелести. Сейчас я оставил один тонкий канал, а толстый сделал более отказоустойчивым.
Естественно, это делалось для того, чтоб разгрузить слабый технологический канал и исключить его забивание под потолок.
Нарисовал я на манглах простую схему, в которой я исходил из того, что входящие соединения от моих внешних приборов и так придут в нужные мне порты толстого или тонкого канала и мне стоит их просто промаркировать, чтоб ответный пакет ушел в ту же дырку из которой вышел.
Исходящий же трафик маркируется и рутится по принципу:
"Если определенный_адрес + определенные порты + dstaddr !localnet -> суем это в "тонкую трубу"
"Все остальное, что dstaddr !localnet -> суем это в "толстую трубу"

И все работает как надо... кроме официального клиента YouTube, под разными операционками, не имеет значения. Я не знаю каким образом, но это приложение начинает работать на толстом канале и потом переползает в тонкий.
Опускаешь тонкий канал - эта мерзость перепрыгивает на толстый канал и работает на нем, пока не появится в работе тонкий и снова через несколько минут лезет в тонкий технологический канал.
Я пробовал под андроидом и под виндой взять стороннее решение для ТыТрубы (openpipe, например, или Hyper for Youtube ) - все работает штатно и никаких попыток занять тонкий канал нет. Однако сторонние программы плохо работают с онлайн стримами в отличии от официального клиента...

В общем, нужен совет, как понять причины и ограничить непристойное поведение официального клиента...


Аватара пользователя
podarok66
Модератор
Сообщения: 4355
Зарегистрирован: 11 фев 2012, 18:49
Откуда: МО

Так вам нужно, чтобы только на толстом Труба работала?
А если так?
Описываем в layer7 (знаю, что ресурсоёмко, но для одной метки пойдёт):

Код: Выделить всё

/ip firewall layer7-protocol
add name=youtube regexp="^.+(youtube).*\$"
Метим соединения и пакеты:

Код: Выделить всё

/ip firewall mangle
add action=mark-connection chain=prerouting comment=youtube_conn connection-mark=no-mark dst-port=53 layer7-protocol=youtube \
    new-connection-mark=youtube_conn passthrough=yes protocol=udp
add action=mark-packet chain=prerouting comment=youtube_packet connection-mark=youtube_conn new-packet-mark=youtube_packet passthrough=yes
Дропаем всю эту муть в сторону тонкого канала:

Код: Выделить всё

/ip firewall filter
add action=drop chain=forward in-interface="Thin channel" comment="Drop Youtube" packet-mark=youtube_packet
add action=drop chain=input  in-interface="Thin channel" comment="Drop Youtube" packet-mark=youtube_packet
Пишу на коленке, могу ошибаться очень грубо. Ну проверьте, вам проще. У меня под рукой нет двух каналов.


Мануалы изучил и нигде не ошибся? Фаервол отключил? Очереди погасил? Витая пара проверена? ... Тогда Netinstal'ом железку прошей и настрой ее заново. Что, все равно не фурычит? Тогда к нам. Если не подскажем, хоть посочувствуем...
Ramsoft
Сообщения: 6
Зарегистрирован: 26 май 2015, 10:53

Разобрался. Это клятый GGC (Google Global Caсhe) так работает. Если смотрю какое-то редкое видео с маленьким рейтингом и просмотром - тянет так, как написано в правилах firewall. Если смотрю что-то популярное - перекидывает на моего провайдера с тонким каналом. И соединение идет уже с его кэширующим сервером, youtube там в адресе совсем не присутствует, потому эти правила не сработали. Печалька... Надо порыться, как его прикрыть. Именно потому сторонние прикладухи и работают нормально - они этим GGC не пользуются.


Ramsoft
Сообщения: 6
Зарегистрирован: 26 май 2015, 10:53

Блин, почитал - придется ползти к прову и просить не анонсить мой даунлинк в его CDN...
Там такие слоны с такими каналами с этим гуглом бодаются, я как комар на их фоне со своими проблемами :)


Ответить