sirmax Опубликовано 14 марта, 2011 · Жалоба Коллеги, повеля на простоту ipfw шейпинга, у кого-то работает на одном линукс-боксе порт ipfw + нат? нат - обычный, iptables. попробовал совсем в лоб.. 1 пайп и одно правило для заворота траффика. PS Очень tableargs хочется что бы упростить себе жизнь в простых инсталляциях. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
masaxaka Опубликовано 28 марта, 2011 · Жалоба а какая версия ipfw? я использую версию от 20110124(скачать можно здесь). установлена на убунте 10.10 для шейпинга(тестового) виртуальных машин и на роутере под управлениєм openwrt(тоже нат чере иптаблы) скорость режет примерно 95-99% от заданой в пайпе Баг: "me" в правилах не работает возможно ближе к лету он будет исправлен, а также возможно будет добавлен нат в сам ipfw(инфо от автора) насчет tableargs незнаю - ищо не нужно было использовать но так как таблици работают то можно предположить что и tableargs должны работать будет время - сделаю тесты - отпишусь Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
masaxaka Опубликовано 3 апреля, 2011 · Жалоба было время(ну и нужда) сделать правила ipfw попроще и разборчевей решил всетаки использовать таблици для всего етого все ето дело проводил в роутере d`link dir-300 под управлением ос OpenWrt собственной сборки(покачто с hz=100, на неделе буду заливать версию с hz=1000) и ipfw от матры карбоне(ссылка в прежнем посте) сами правила вынесены в отдельный скрипт который загружается при старте системы. также кроме таблиц использую пайпы и очереди. мой пример использования(примерноє содержимое скрипта): #!/bin/ash #Здесь задаю главные переменные(путь в исполняемому файлу, интерфейсы, сети провайдера, юзеров , которые будут ходить чере етот роутер и т.д. и т.п.) ipfw="/usr/sbin/ipfw -q" if_wan="входящий интерфейс" if_loc="локальный интерфейс" local="моя локальная сеть" loc_isp1="первая локальная сеть провайдера" loc_isp2="вторая локальная сеть провайдера" #Ну и пара-тройка особенных юзеров router="локальная ип адресса роутера" user1="ip1" user2="ip2" #Чистим все что нам нужно $ipfw -q flush $ipfw -q pipe flush $ipfw -q queue flush $ipfw -q table all flush #далее добавляем таблици пайпы и очереди $ipfw pipe 1 config bw 100Mbit\/s #главный канал на прова #ну и для юзеров исходящий и входящий #Общий канал $ipfw pipe 10 config bw 2Mbit\/s $ipfw pipe 20 config bw 2Mbit\/s #для особых $ipfw pipe 11 config bw 200Kbits\/s $ipfw pipe 21 config bw 200Kbits\/s $ipfw pipe 12 config bw 128Kbits\/s $ipfw pipe 22 config bw 128Kbits\/s #и очереди #для локалки прова $ipfw queue 1 config pipe 1 queue 40 weight 40 mask src-ip 0xffffffff $ipfw queue 2 config pipe 1 queue 40 weight 40 mask dst-ip 0xffffffff #и для инету $ipfw queue 10 config pipe 10 queue 25 weight 50 mask src-ip 0xffffffff $ipfw queue 20 config pipe 20 queue 25 weight 50 mask dst-ip 0xffffffff $ipfw queue 11 config pipe 11 queue 20 weight 75 $ipfw queue 21 config pipe 21 queue 20 weight 75 $ipfw queue 12 config pipe 12 queue 15 weight 75 $ipfw queue 22 config pipe 22 queue 15 weight 75 #и таблици #исходящая $ipfw table 1 add $router 10 $ipfw table 1 add $local 10 $ipfw table 1 add $user1 11 $ipfw table 1 add $user2 12 #входящая $ipfw table 2 add $router 20 $ipfw table 2 add $local 20 $ipfw table 2 add $user1 21 $ipfw table 2 add $user2 22 #пров $ipfw table 3 add $loc_isp1 $ipfw table 3 add $loc_isp2 #разрешаем локальный трафик $ipfw add allow all from $local to 10.168.1.1 via $if_loc $ipfw add allow all from 10.168.1.1 to $local via $if_loc #И 4 главных правила #доступ к сети прова $ipfw add queue 1 all from $local to table\(3\) via $if_loc $ipfw add queue 2 all from table\(3\) to $local via $if_wan #И доступ к инету $ipfw add queue tablearg all from table\(1\) to any via $if_loc $ipfw add queue tablearg all from any to table\(2\) via $if_wan прошу не пинать за возможную кривость в использовании ipfw пример рабочий и шейпит около 60Мбит/с(было бы больше, еслиб openwrt позволял) берите кому надо, допиливайте под себя если будете использовать на linux то можна много что в загнать в array и потом обрабатывать циклами, а также вычислять обем queue по етой статье. но ето лиш кому надо, мне итак хорошо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...