Доброго всем времени суток.
Есть задачи:
1) Ограничить канал гейтовой машины с ip-адресом 195.189.x.x до 2Mbit/s.
2) Нарезать каналы по 54kbit/s для юзеров внутренней сети только на входящий интернет-трафик.В ядре имеется:
options IPFIREWALL
options DUMMYNETДалее идём нарезать каналы:
/etc/ipfw
${fwcmdq} pipe 1 config bw 2Mbit/s #Труба для гейторой машины
${fwcmdq} pipe 2 config mask src-ip 0xffffffff bw 54kbit/s #пайп на исходящий траф
${fwcmdq} pipe 3 config mask dst-ip 0xffffffff bw 54kbit/s #пайп на входящий траф
${fwcmdq} add 0170 pipe 1 tcp from any to 195.189.x.x via ${ifout}
${fwcmdq} add 0171 pipe 1 tcp from 195.189.x.x to any via ${ifout}
${fwcmdq} add 0172 pipe 2 ip from 192.168.2.1/24{1-254} to any out via ${ifout}
${fwcmdq} add 0173 pipe 3 ip from any to 192.168.2.1/24{1-254} in via ${ifout}${ifout} - интерфейс, который смотрит в мир.
Правилами 0170-0171 я надеялся нарезать трубку в 2Mbit/s для трафика, который гуляет в обе стороны.
Далее правилами 0172-0173 скорость для каждой машиы из подсети 192.168.2.1/24 должна была быть 54kbit/s как на исходящий трафик так и на входящий.Но проверяя со своей машины с ип-адресом 192.168.2.14 я убедился что правила 0172-0173 не работают ( Скорость скачки по прежнему осталась анлимитной.
И как проверить канал в 2Mbit\s даже если он работает?
В чём может быть ошибка?
>[оверквотинг удален]
>
>Правилами 0170-0171 я надеялся нарезать трубку в 2Mbit/s для трафика, который гуляет
>в обе стороны.
>Далее правилами 0172-0173 скорость для каждой машиы из подсети 192.168.2.1/24 должна была
>быть 54kbit/s как на исходящий трафик так и на входящий.
>
>Но проверяя со своей машины с ип-адресом 192.168.2.14 я убедился что правила
>0172-0173 не работают ( Скорость скачки по прежнему осталась анлимитной.
>И как проверить канал в 2Mbit\s даже если он работает?
>В чём может быть ошибка?1)ну для начала расслабится и включить мозг
2)научится пользоваться командой ipfw -a list и приводить сдесь ее ПОЛНЫЙ вывод а не кусок скрипта вашего глюкавого фаревола
3)правила 170 172 ограничивают СУММАРНО вход исход трафик внешнего интерфейса
4)трафик локалки лучше шейтить на интерфейсе локалки (как минимум исходящий)
5)предполагаю что у вас перед правилами 172 173 стоит правило дайверт - вывод сделайте сами
>1)ну для начала расслабится и включить мозг
>2)научится пользоваться командой ipfw -a list и приводить сдесь ее ПОЛНЫЙ вывод
>а не кусок скрипта вашего глюкавого фаревола
>3)правила 170 172 ограничивают СУММАРНО вход исход трафик внешнего интерфейса
>4)трафик локалки лучше шейтить на интерфейсе локалки (как минимум исходящий)
>5)предполагаю что у вас перед правилами 172 173 стоит правило дайверт -
>вывод сделайте сами1) Попытаемся
2)
internet# ipfw -a list
00010 878 161554 allow ip from any to any via lo0
00015 0 0 deny ip from any to 127.0.0.0/8
00020 0 0 deny ip from 127.0.0.0/8 to any
00025 0 0 check-state
00100 0 0 allow tcp from any to any dst-port 53 out via rl1 setup keep-state
00110 5 543 allow udp from any to any dst-port 53 out via rl1 keep-state
00120 0 0 allow tcp from any to any dst-port 53 in via rl1 setup keep-state
00130 2 357 allow udp from any to any dst-port 53 in via rl1 keep-state
00160 0 0 deny ip from 192.168.2.0/24{66-99} to any in via rl0
00161 0 0 deny ip from 192.168.2.0/24{142-199} to any in via rl0
00162 0 0 deny ip from 192.168.2.0/24{204-251} to any in via rl0
00163 620 47715 allow ip from 192.168.2.0/24 to any in via rl0
00164 522 143710 allow ip from any to 192.168.2.0/24 out via rl0
00170 38 2133 pipe 1 tcp from any to 195.189.x.x via rl1
00171 20 3818 pipe 1 tcp from 195.189.x.x to any via rl1
00172 78 8644 pipe 2 ip from 192.168.2.0/24{15-254} to any out via rl1
00173 16 6610 pipe 3 ip from any to 192.168.2.0/24{15-254} in via rl1
00200 0 0 allow tcp from any to any dst-port 20,21 out via rl1 setup keep-state
00201 0 0 allow udp from any to any dst-port 20,21 out via rl1 setup keep-state
00202 0 0 allow udp from any to any dst-port 8021 out via rl1 setup keep-state
00203 168 65010 allow tcp from any to any dst-port 80 out via rl1 setup keep-state
00204 0 0 allow tcp from any to any dst-port 25 out via rl1 setup keep-state
00205 0 0 allow tcp from any to any dst-port 465 out via rl1 setup keep-state
00206 0 0 allow tcp from any to any dst-port 110 out via rl1 setup keep-state
00207 0 0 allow tcp from any to any dst-port 993 out via rl1 setup keep-state
00208 0 0 allow tcp from any to any dst-port 995 out via rl1 setup keep-state
00209 0 0 allow tcp from any to any dst-port 443 out via rl1 setup keep-state
00210 0 0 allow icmp from any to any
00240 0 0 allow tcp from any to any dst-port 5190 out via rl1 setup keep-state
00244 0 0 allow tcp from any to any dst-port 5222 out via rl1 setup keep-state
00245 0 0 allow tcp from any to any dst-port 2041 out via rl1 setup keep-state
00245 0 0 allow tcp from any to any dst-port 2042 out via rl1 setup keep-state
00250 0 0 allow tcp from me to any out via rl1 setup uid root keep-state
00260 0 0 allow icmp from any to any out via rl1 keep-state
00270 0 0 allow tcp from 192.168.2.26 to any dst-port 60129 out via rl1 keep-state
00280 0 0 allow tcp from any to any dst-port 37 out via rl1 setup keep-state
00290 0 0 allow tcp from any to any dst-port 22 out via rl1 setup keep-state
00299 6 392 deny log ip from any to any out via rl1
00401 241 115361 allow tcp from any to me dst-port 80 in via rl1 setup keep-state
00403 0 0 allow tcp from any to any dst-port 3389 in via rl1 setup keep-state
00404 0 0 allow tcp from any to 192.168.2.14 dst-port 3387 in via rl1 setup keep-state
00405 0 0 allow tcp from any to 192.168.2.1 dst-port 8530 setup keep-state
00500 0 0 allow ip from 192.168.2.1 to me dst-port 22 in via rl0 setup keep-state
65535 467125 48083888 deny ip from any to anyПожалуйста. Вот ipfw show =)
Как-будто бы всё работает и пакеты бегают по правилам.3) Что мне и нужно. Мне нужно сделать трубку в 2Mbit/s в обе стороны.
4) Говорите правильно, нужно будет переписать правило. Но и с данным правилом должно работать.
5) Диверта нет в фаере.
>5) Диверта нет в фаере.ааааа какже тогда оно натится? вижу на одном интерфейсе паблик на втором приват
>>5) Диверта нет в фаере.
>
>ааааа какже тогда оно натится? вижу на одном интерфейсе паблик на втором
>приватНе суть как натятся. Проблема заключается не в том как всё это натится, а в том как правильно пайпы нашить.
Вобщем с проблемой ограничения скорости подсети 192.168.2.1/24 я разобрался.
А вот как создать канал в 2Mbit/s для шлюза в интернет так и не разобрался..
>Не суть как натятся. Проблема заключается не в том как всё это
>натится, а в том как правильно пайпы нашить.
>Вобщем с проблемой ограничения скорости подсети 192.168.2.1/24 я разобрался.
>А вот как создать канал в 2Mbit/s для шлюза в интернет так
>и не разобрался..ну почему не суть как ... если уж решаете проблему дак покажите че и как делаете или задумываете - а вы кинули кусок - нати ребятки, догадайтесь что я намудрил ...
как я понимаю 2мб будет сумарная труба для всех уже преджварительно нарезанных юзеров
к томуже труба сама по себе будет ограничивать сумму вход исход трафика
1) для начала убедитесь что у вас
net.inet.ip.fw.one_pass = 0 ! это очень необходимо для вложенных труб, да и в случае фильтрации отгейпованногго трафика
2) маски соурс и дст надо для сумарной трубы обе выставить в ноль
2) в фаерволе сначала идут правила нарезки по узким трубам и только следом правило нарезки в суммарную трубу