LuckySB Ваш пример не заработал и его пришлось немного переделать. Сделал так:
ipfw -f flush
ipfw -f pipe flush
ipfw -f queue flush
ipfw table 1 add 192.168.1.2 #User1
ipfw table 1 add 192.168.1.7 #User2
ipfw pipe 102 config bw 64Kbit/s
ipfw queue 102 config mask src-ip 0xffffffff pipe 102
ipfw pipe 103 config bw 64Kbit/s
ipfw queue 103 config mask dst-ip 0xffffffff pipe 103
ipfw add queue 102 ip from "table(1)" to any out xmit re0
ipfw add queue 103 all from any to "table(1)" in recv re0
Теперь исходящую режет отлично получается 59Kbit/s по тестам http://www.speedtest.net/ Как теперь добиться чтобы и входящую тоже ограничивал? Значение net.inet.ip.fw.one_pass нужно менять на ноль? Заранее спасибо.
Опишу задачу несколько иначе. Есть сеть, шлюз в интернет - маршрутизатор Cisco (на маршрутизаторе работает NAT). Канал 4Мбит/с. Задача: раздавать интернет разным группам пользователей с разной скоростью.Есть незадействованый сервер с одной сетевой картой (можно поставить еще если будет необходимо). Подскажите пожалуйста пример для решения поставленой задачи.
На этой машине один интерфейс re0. На ней указан шлюз по умолчанию 192.168.0.254 (адрес маршрутизатора Cisco, на котором работает NAT)
Может тогда подскажете замену?
Я дома пытаюсь откатать схему для использования ее в рабочей сети (Поэтому всего 2 пользователя и такой маленький канал). Смысл в следующем. Есть сервер у которого шлюз в интернет маршрутизатор Cisco (на циске работает NAT). На сервере одна сетевая карта re0. Я хочу с помощью ipfw поделить канал. Это вообще реально или я вообще зря трачу время?ОС: FreeBSD 7.1
Добрый день. Втрорые сутки мучаюсь с ipfw и все безрезультатно. Задача поделить канал.
Добавил в /etc/rc.conf следующее:
firewall_enable="YES"
firewall_script="/etc/ipfw.rules"
firewall_logging="yes"
dummynet_enable="yes"
В /etc/ipfw.rules прописал:
ipfw -f flush
ipfw -f pipe flush
ipfw -f queue flush
ipfw table 1 add 192.168.1.2 #User1
ipfw table 1 add 192.168.1.7 #User2
ipfw pipe 102 config mask src-ip 0x000000ff bw 64Kbit/s queue 50
ipfw add pipe 102 all from "table(1)" to any via re0
ipfw pipe 103 config mask dst-ip 0x000000ff bw 64Kbit/s queue 50
ipfw add pipe 103 all from any to "table(1)" via re0
Канал 300Kbit/s (правда реально не бывает больше 220). По тестам http://www.speedtest.net/ показывает 215Kbit/s входящая и 15Kbit исходящая. При попытке что-либо скачать используется весь доступный канал. В чем может быть проблема?