Pipe: где я ошибся и почему не работает разделение по pipe, Evonder, 10-Май-18, 15:07 [смотреть все]Всем добрый день. Задам снова простой вопрос, и если кого не затруднит ответить буду благодарен. Необходимо ограничить входящий канал по трем группам. Ширина канала 30 мбит Создаю три pipe pipe 1 5мбит (основные пользователи) ipfw queue 1 config pipe 1 weight 50 queue 60 mask dst-ip 0xffffffff pipe 2 10мбит (руководство) ipfw queue 2 config pipe 2 weight 50 queue 60 mask dst-ip 0xffffffff pipe 3 10мбит (сервисы почта и остальное) Дальше правила входящего трафика: $fwcmd 45 nat 1 all from any to any in recv $Inet И после нат идет правило с очередью и pipe. Как сделать так, чтобы в каждую очередь с нужным pipe попадали нужные пакеты? Т.е. например, нужно применить очередь с pipe 2 для компа руководителя (192.168.31.19/24) $fwcmd 45 nat 1 all from any to any in recv $Inet $fwcmd 46 queue 2 ip from any to 192.168.31.19 in recv re1 $fwcmd 47 queue 1 ip from any to any in recv re1 В этом примере трафик проходит по обеим трубам и по сути правило 47 имея настройку на pipe меньшего объема срезает "трубу" по которое проходит правило для 192.168.31.19. Как логически правильно выстраивать pipe для ограничения канала? Можно было бы конечно сделать 3 таблицы, в одной ip адреса серверов, в другой пользователи, в третьей начальство. Т.е. 3 не пересекающихся диапазона. По другому никаким образом это не реализуется? Предположим есть 2 пайпа, 1ый цепляет адреса из таблицы в которую вручную вносят адреса , предположим теже боссы, а второй включает в себя всю подсеть. Есть ли механизм переопределения? Т.е. например первая труба сверяет по адресу назначения, и все, следующая труба уже не обрабатывается, а вторая гребет всех остальных под единое ограничение?
|
- Pipe: где я ошибся и почему не работает разделение по pipe, Дум Дум, 16:16 , 10-Май-18 (1)
- Pipe: где я ошибся и почему не работает разделение по pipe, Goombert, 17:32 , 10-Май-18 (2)
- Pipe: где я ошибся и почему не работает разделение по pipe, Дум Дум, 10:19 , 11-Май-18 (3)
- Pipe: где я ошибся и почему не работает разделение по pipe, Дум Дум, 10:21 , 11-Май-18 (4)
- Pipe: где я ошибся и почему не работает разделение по pipe, artemrts2, 11:48 , 11-Май-18 (5)
- Pipe: где я ошибся и почему не работает разделение по pipe, Аноним, 12:15 , 11-Май-18 (6)
- Pipe: где я ошибся и почему не работает разделение по pipe, artemrts2, 13:20 , 11-Май-18 (7)
- Pipe: где я ошибся и почему не работает разделение по pipe, Evonder, 11:31 , 13-Май-18 (8)
>[оверквотинг удален] >> Это какой такой завод? Вместо работы торренты?? >> Н-да.. поэтому так и живём. >> Или работа у них такая - "торрентом качать"?! >> Однако! >>> Если нужен более подробный конфиг - могу поделиться. >> Нужен! И Господь наш призывал делиться! >> Так что, назвался груздём - открывай ворота и не говори, что не >> дюж. > Если ТС захочет, и обратится с просьбой, то я скину, а ты > анон проходи мимо, т.к. не потеме. Всем добрый день! Прошу прощения что не отвечал долго, мне сейчас все варианты интересны, поскольку только изучаю возможности freebsd, свой изначальный вопрос я разрешил с помощью skipto, правила вот такого вида: $fwcmd 30 nat 1 all from any to any in recv $Inet $fwcmd 31 skipto 40 all from any to 192.168.31.19 in recv re1 #вместо адреса таблица с ip руководства $fwcmd 32 queue 1 ip from any to any in recv re1 #полоса для всех в 2 мбит $fwcmd 33 skipto 0100 all from any to any in recv re1 #чтобы избежать повторного шейпа в 40 и увеличения задержки $fwcmd 40 queue 3 ip from any to 192.168.31.19 in recv re1 $fwcmd 0100 pass all from any to any Не знаю насколько это граблями выглядит, но данный вариант позволяет не париться с разбитием на таблицы всех адресов из области, а лишь выдергивать нужные и засовывать в таблицу в правило 31. Дополнительные skipto позволят избежать лишнего прохождения через нижележащие шейпы не увеличивая тем самым задержку в получении пакетов. artemrts2 Если не затруднит скинте Ваш вариант конфигурации, почитаю про эту возможность, от Вас про нее в первый раз услышал. - Pipe: где я ошибся и почему не работает разделение по pipe, Аноним, 08:55 , 16-Май-18 (12)
- Pipe: где я ошибся и почему не работает разделение по pipe, Evonder, 11:36 , 13-Май-18 (9)
>[оверквотинг удален] >> Если не ошибаюсь при one_pass 1 не будет работать нат вместе >> с пайп, поскольку сразу после любого из них пакет полетит минуя >> правила. > $Inet это re1? >> Но если первой трубой будет идти канал в 1мбит >> а второй 5, разве во вторую трубу не будет заходить уже >> зашейпленный до 1мбита поток, смена ничего не даст > Если верить ману: "Packets are appended to the queue as they come > out from ipfw", а вообще стоит посмотреть в сторону "LOOKUP TABLES" > с "tablearg" оттуда же. Изначально ответ прочитал с мобильного и смысл полностью не осознал)) Получается пакеты "прикладываются" к той же очереди, что шейпила их наружу. В моем конфиге это не сработало видимо по той причине, что труба на ружу одна для всех, ведь по сути 99% трафика пользовательского идет in а не out, наружу ширина канала не так критична как закачка. Поэтому поставил единую очередь для всех кроме сервисов.
- Pipe: где я ошибся и почему не работает разделение по pipe, Evonder, 12:50 , 13-Май-18 (10)
>[оверквотинг удален] >>> зашейпленный до 1мбита поток, смена ничего не даст >> Если верить ману: "Packets are appended to the queue as they come >> out from ipfw", а вообще стоит посмотреть в сторону "LOOKUP TABLES" >> с "tablearg" оттуда же. > Изначально ответ прочитал с мобильного и смысл полностью не осознал)) > Получается пакеты "прикладываются" к той же очереди, что шейпила их наружу. > В моем конфиге это не сработало видимо по той причине, что > труба на ружу одна для всех, ведь по сути 99% трафика > пользовательского идет in а не out, наружу ширина канала не так > критична как закачка. Поэтому поставил единую очередь для всех кроме сервисов. Packets are appended to the queue as they come Не совсем понятен механизм работы. Попробовал сэмулировать этот принцип работы. Два пайпа на выход, на 1 мбит и 2 мбита. Если первым идет 1мбит, то второй по сути не работает, поскольку канал уже заужен, смена мест суммы не меняет, все тоже самое и на вход. В итоге если нет четкого разделения по ip, то ничем другим как skipto потоки не разделить. Будут перемешиваться в pipe и шейпиться самым узким.
|