Изменение полосы пропускания по времени.
-
Здравствуйте,
Мой провайдер днём дает полосу 3 Mbit ночью 6Mbit внутрисетевые ресурсы 100Mbit. Настроил Шейпер, всё работает (3Mbit). Вопрос: Как переключать шейпер ночью на 6 Mbit (или отключать совсем как вариант) и как обеспечить доступ к внутренним ресурсам минуя шейпер? pfSense 2.0.1 -
Интересно !
Ждём ответа.
Спасибо. -
Здравствуйте,
Мой провайдер днём дает полосу 3 Mbit ночью 6Mbit внутрисетевые ресурсы 100Mbit. Настроил Шейпер, всё работает (3Mbit). Вопрос: Как переключать шейпер ночью на 6 Mbit (или отключать совсем как вариант) и как обеспечить доступ к внутренним ресурсам минуя шейпер? pfSense 2.0.1Попробую ответить.
0. Шейпер висит на интерфейсе , к-ый чаще всего явл-ся каким-то туннелем - pptp, pppoe, l2tp. Соответственно, будет шейпится только то , что бегает в нем. Поэтому никакого урезания трафика ко внутренним ресурасм быть не должно. Но , это для случая, когда доступ ко внутренним ресурсам пров-ра предоставляется напрямую. В противном случае - пункт 2.
1. Начну с "…и как обеспечить доступ к внутренним ресурсам минуя шейпер?".
После отработки визарда по шейперу во Floating будут созданы правила. Их следует отредактировать согласно вашим требованиям, т.е. что-то убрать и\или что-то добавить. В каждом из этих правил есть пункт Destination. Так вот указывать там нужно адреса внутренней сети вашего пров-ра и ,конечно же, поставить галочку на not, т.е. получится not destination .После этого сделать Diagnostics: Reset state. Т.о. трафик, идущий ко внутренним ресурсам не будет шейпиться. Если же диапазон внутренних ресурсов пров-ра включает несколько подсетей, то просто создайте alias из этих адресов. Т.е. получится not destination <алиас> там же в каждом правиле во floating rules. Да , и не забывайте делать Diagnostics: Reset state !2. Для отключения шейпера в период с 00ч 00мин до 06ч 59мин заходим в Firewall: Schedules , создаем расписание с 07ч 00мин до 23ч 59мин и выбираем все дни недели . Далее в каждом правиле во floating rules указывая описанные в пункте 1 настройки и выбирая в Advanced features: Schedule имя созданного нами расписания , мы не только получим отсуствие шейпинга к ресурсам во внутренней сети, но и добьемся его отключения в необходимый нам период "правилом от обратного", т.е. указав рабочий диапазон времени для шейпера.
3. Более сложный вариант, когда шейпер в определенный период времени не отключается, а применяется к более широкой полосе пропускания, мне видится так. Сперва проходим обычным визардом (для 6 мбит\с) и получаем привычные правила во floating rules, к-ые мы редактируем и применяем к ним , если необходимо, п. 1 и , создав предварительно новое расписание в Schedule , п. 2.
Далее идем в Firewall: Traffic Shaper и создаем новые очереди (полную иерархию с дочерними очередями) с аналогичными параметрами, только с меньшей скоростью (3 мбит\с) . Затем во floating rules дублируем правила для вновь созданных очередей, т.е. правила те же, но имена у очередей будут для канала в 3мбит\с и с раписанием для этого канала.
Еще бы хорошо в cron засунуть скрипт (или команду), к-ый будет делать Reset state два раза в сутки - перед переходом ночью на 6 мбит\с и перед возвращением 3мбит\с утром для корректной работы шейпера. Тут вам более опытные товарищи подскажут, я надеюсь.Пробуйте. Если выйдет - отпишитесь, пож-та.
-
0. По поводу провайдера: тунеля нет, всё идёт в общей "трубе". В остальном я примерно так и предполагал.
2. Про "Diagnostics: Reset state" поподробнее пожалуйста, особенно как это задание сделать в Cron, потому как в BSD я начинающий.
3. Буду пробовать, по итогам отпишусь. -
2. Про "Diagnostics: Reset state" поподробнее пожалуйста, особенно как это задание сделать в Cron, потому как в BSD я начинающий.
1. Читаем - http://doc.pfsense.org/index.php/Reset_States
2. В cron добавляем 2 задания со ссылкой на usr/local/www/diag_resetstate.php на разное время суток. Он уже является исполняемым судя по пермишеннам (0755). Но могут быть ньюансы, проверяйте. -
2. Про "Diagnostics: Reset state" поподробнее пожалуйста, особенно как это задание сделать в Cron, потому как в BSD я начинающий.
1. Читаем - http://doc.pfsense.org/index.php/Reset_States
2. В cron добавляем 2 задания со ссылкой на usr/local/www/diag_resetstate.php на разное время суток. Он уже является исполняемым судя по пермишеннам (0755). Но могут быть ньюансы, проверяйте.Был неправ :) Не стоит использовать пункт 2 , т.к. по умолчанию "… by default schedules clear the states of existing connections when expiry time has come" (пункт System: Advanced: Miscellaneous:Schedules
Schedule States отменяет это). Так что задача упрощается. -
Хм.. Что то не получается дать доступ к внутренним ресурсам помимо шейпера. Видно как то хитрее нужно подойти, но как пока непонятно. Я не вижу правил в фаерволе ограничивающих P2P трафик, поэтому ни как привязать их ко времени не могу.
По предыдущему посту я так понял не нужно ничего делать с "Reset state"? Господа профессионалы ждем ваших предложений. -
Хм.. Что то не получается дать доступ к внутренним ресурсам помимо шейпера.
Адреса внутренней сети ? Одна подсеть? Несколько - создаем алиас с ними.
Я не вижу правил в фаерволе ограничивающих P2P трафик, поэтому ни как привязать их ко времени не могу.
Сперва ПРАВИЛЬНО задаем параметры в визарде шейпера. И тогда весь неописанный трафик будет попадать в трубу с НАИМЕНЬШИМ приоритетом (в том числе и р2р) и не мешать остальному с более высоким приоритетом.
По предыдущему посту я так понял не нужно ничего делать с "Reset state"?
Учим язык ПОТЕНЦИАЛЬНОГО противника - и нужно и полезно. В *nix-ах без хотя бы начального знания языка делать нечего.
Ув. Mavric
Вам выше разложили все по полкам. Не понимаете - никто за вас лично разбираться не будет.Пример моего шейпера (очередей) и правил Floating rules :
-
Адреса внутренней сети забиты в алиас "netip"
Про шейпер я писал, что всё работает, т.е. правила созданы визардом и подправлены. В очередях есть qP2P в правилах нет.
Был неправ Не стоит использовать пункт 2 , т.к. по умолчанию "… by default schedules clear the states of existing connections when expiry time has come" (пункт System: Advanced: Miscellaneous:Schedules
Schedule States отменяет это). Так что задача упрощается.Я не понял что вы мне хотели сказать этой фразой по английски, поэтому уточнил. Объясняя, нужно делать скидку на уровень знаний собеседника. Поэтому и задаётся вопрос на русской части форума, что перевод может быть неправильным и далее можно уйти совсем не туда. Конечно мне бы хотелось "tutorial" чтоб сделать, заработало, потом начать менять под себя для понимания как это работает. Если нужно могу приложить свои картинки с правилами и очередями. Помогите разобраться, отправлять RTFM самое простое и быстрое.
-
Фраза - не моя, но она достаточно понятна для человека, занимающегося сетями. Вы ведь себя к таким причисляете? И да, путь к фразе я указал.
В очередях есть qP2P в правилах нет.
Возможно, во floating rules в вашем случае , весь не классифицированный трафик попадает в очередь по-дефолту (Default). При моей организации шейпинга (мне так удобнее) дефолтная очередь имеет больший приоритет , чем очередь р2р. На скринах выше это отлично видно , как видно и то , какие службы (по портам) попадают в эту и другие очереди.
Большую наглядность предоставить не могу. Разве только вместо вас сделать, что ,как понимаете, не приемлемо. -
По фразе: "По умолчанию расписание очищает состояние существующих соединений по истечении времени." Насколько я понял если сработало расписание то сброс состояний происходит автоматически. Или я не прав?
Я не прошу сделать за меня, я прошу пояснить некоторые вопросы, в которых у меня нет полного понимания. Я не студент, которому нужно сделать курсовую. Сети - это моё хобби. Информации по pfSense на русском и с нормальным описанием крайне мало, в той книге которую я нашел этот вопрос освещён поверхностно. Даже на форуме нет "нормального" рецепта по установке Samba, Transmission и т.п. "Нормального", на мой взгляд, это шаг за шагом с пояснением почему так и на что обратить внимание. Может некоторые вопросы для профи и очевидны, но люди приходят на форум за помощью, советом, когда не хватает знаний и нет времени ночи просиживать за компом в экспериментах и чтении мануалов. Правильный "рецепт" должен писаться так, чтоб даже дурак смог его повторить с предсказуемым результатом. Понимание приходит позже.Сорри за офтопик. Всё сказаное ИМХО.
-
Во-первых, здесь никто никому и ни чего не должен. Мануалы пишутся по личному желанию и содержание их тоже сугубо на личное усмотрение пишущего. Если вы этого до сих пор не поняли - это ваша проблема.
Вы здесь первый, кто почти требует (!) все расписать и сделать за вас да еще и с подробными объяснениями. Такими "требованиями" вы просто отпугнете даже тех кто и готов был помочь.
Вам в первых постах мною было достаточно подробно описано как и что делать (даже со скриншотами). Если не понимаете как применить выше описанное к вашей ситуации - RTFM , RTFM и еще раз RTFM (с) .
Вам явно не хватает теории.
Даю последнюю ссылку. Человек даже на русский перевел, за что ему огромаднейшее спасибо - http://iboxjo.h1.ru/books.html (там где pfSENSE 2 Cookbook).
За сим помогать-подсказывать таким "страждущим" желание пропало. Удачи и всех благ. -
По фразе: "По умолчанию расписание очищает состояние существующих соединений по истечении времени." Насколько я понял если сработало расписание то сброс состояний происходит автоматически. Или я не прав?
Правила, имеющие настроенный параметр shedule при истечении времени их действия удаляются из списка действующих. Соединения, соответствующие таким правилам, сбрасываются.
-
По фразе: "По умолчанию расписание очищает состояние существующих соединений по истечении времени." Насколько я понял если сработало расписание то сброс состояний происходит автоматически. Или я не прав?
Правила, имеющие настроенный параметр shedule при истечении времени их действия удаляются из списка действующих. Соединения, соответствующие таким правилам, сбрасываются.
БОЛЬШОЕ ЧЕЛОВЕЧЕСКОЕ СПАСИБО! Коротко и ёмко без лишнего воспитания ;)
-
2 Werter за ссылку конечно спасибо, но такая книжка есть у меня на русском и уже прочитана. Как я и говорил там довольно поверхностно описано про шейпер, тем более нет ни одного примера, как реализовать изменение правил по времени. По остальному: если хотите помочь - спасибо, но договаривайте до конца или хотя бы отвечайте на вопросы. Не хотите - помогать ваше право, вы же не один на форуме. Но как бы там ни было вы мне помогли решить половину проблемы, а конкретнее: шейпер работает, внутри сетевой трафик использует всю полосу не мешая остальным. :) Позже, когда я решу остальные проблемы я выложу "Рецепт" таким, каким на мой взгляд он и должен быть.
-
На данный момент актуален один вопрос: возможно ли менять скорость очереди по расписанию? Если да то как? Вариант 3 из поста Werter не срабатывает, потому как каждому правилу в "Advansed" нужно указать очередь например "qP2P", но скорость очереди будет 6Mbit. Пытался Визардом создать 2 wan интерфейса с разными скоростями. Не даёт, говорит "У вас только один WAN". Может возможно как то вручную создать дубликат очереди "qInternet" с дочерними очередями, что бы потом сделать дубликаты правил и в них указать разные очереди и соответственно включать и выключать их по расписанию?
-
У меня работает так, разрыв соединений по планировщику не проверял.
-
Создал в ручную копию очереди qInternet c шириной полосы 6Mbit, со всеми дочерними очередями. В фаерволе создал копии правил в них изменил очереди на "ночные" и включил расписание. Всё получилось! В следующий пост напишу рецепт полностью с картинками.
-
Итак как и обещал с самого начала.
Задача: Обеспечить QoS, максимально используя полосу предоставляемую провайдером.Исходные данные: Интерфейсы: WAN,LAN. Интернет: день - 3Mbit, ночь - 6Mbit , ресурсы сети - 100Mbit.
Решение:
1. Создаем очереди при помощи Wizard. Firewall->Traffic Shaper->Wizards->Single Wan multi Lan. На первой странице количество LAN ->1, далее Sheduler выбираем HFSC (более прогрессивный IMHO) для LAN и WAN. Прописываем скорости на Upload и Download исходя из 95-97% от той скорости, которую показывает www.speedtest.com (для меня 2900Kbit), не нужно выставлять 100% скорости заявленной провайдером, иначе будут проблемы при работе QoS. Далее VoIP Если мы пользуемся Skype, SIP и т. п. ставим галку Enabled, указываем скорость которую мы хотим гарантировать для VoIP трафика. Далее идёт страница на которой можно назначить приоритет определённым IP (или списку, внесённому в Alias), для меня не актуально. Далее страница P2P ставим галку Enabled, чтоб не засорять правилами firewall выбираем только нужные протоколы (для меня актуально Bittorent, DC++) и выставляем ширину канала Bandwidth в 2%. Далее страница с правилами для игр. Для меня то же не актуально. На следующей странице можно выбрать приложения которым мы хотим немного повысить или понизить приоритет. Я для упрощения правил ничего тут не трогал, оставив по умолчанию(без галки на Enabled). Конец Wizard. Правила применяются.
2. Заходим Firewall->Traffic Shaper->ByInterface Очередь qInternet переименовываем для наглядности в qInternet3 Заходим в дочерние очереди, переписываем значения в каждой, на этом этапе можно подправить настройки очередей, например выставить для qP2P параметр Upper m2 в 95-98% (при свободном канале P2P сможет занимать 95-98% пропускной способности). Выбираем LAN -> Add new queue (добавить новую очередь). Добавляем новую очередь "qInternet6" в ней всё выставляем аналогично "qInternet3" кроме Bandwidth(ширина канала) её выставляем исходя из ночного тарифа (5900 Kbit). Дочерние очереди делаем аналогично, причём если ширина полосы стоит в "%" то всё 1:1 с очередями для дневного тарифа. Если стоят абсолютные цифры скорости их нужно подкорректировать. Должно получиться что то похожее на это:
-
3. Заходим Firewall-> Schedules создаём расписание (время действия правил) выбираем все дни недели, 0-00 до 8-59 и 9-00 до 23-59 называем из 6Mbit и 3Mbit соответственно.
4. Заходим Firewall-> Aliases. Создаем алиас например "netip" в него вносим адреса, диапазоны внутренней сети.
5. Заходим Firewall-> Rules-> Floating видим правила, созданные Wizard. Заходим в каждое и изменяем следующие значения:
Destination ставим галку на not, Type -> Single host or alias в боксе Address пишем наш алиас netip, это позволит не ограничивать внутрисетевой трафик. Далее в Advanced features выбираем Schedule нажав кнопку Advanced выбираем расписание, в моём случае это 3Mbit. Сохраняем правило. Так проделываем со всеми правилами.6. Далее копируем правила нажав + рядом с правилом и изменяем в нём расписание на 6Mbit и в Ackqueue/Queue выбираем очередь соответствующую 6Mbit, например qP2P6. Сохраняем правило. Так проделываем со всеми правилами.
При данных настройках с 09-00 до 00-00 используется очередь 3Mbit, с 00-00 до 09-00 используется очередь 6Mbit, внутрисетевой трафик не ограничивается скоростью интернет, но использует QoS и не мешает всему остальному. Правила, имеющие настроенный параметр shedule при истечении времени их действия удаляются из списка действующих. Соединения, соответствующие таким правилам, сбрасываются.
При желании можно добавить очереди и развести по приоритетам другой трафик в зависимости от нужд.P.S. Спасибо dvserg и werter за помощь в решении данной проблемы. ;)