Jump to content

Recommended Posts

Posted

Добрый день. Втрорые сутки мучаюсь с 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 исходящая. При попытке что-либо скачать используется весь доступный канал. В чем может быть проблема?

Posted

попробуй поменять

ipfw add pipe 102 all from "table(1)" to any via re0

ipfw add pipe 103 all from any to "table(1)" via re0

 

на

ipfw add pipe 102 all from "table(1)" to any in

ipfw add pipe 103 all from any to "table(1)" out

Posted (edited)

Проблема в том, что нужно правильно указывать направление. Должно быть так:

ipfw add pipe 102 ip from table(1) to any out via re0

ipfw add pipe 103 ip from any to table(1) in via re0

 

где re0 -- интерфейс, смотрящий во внешнюю сеть. Кстати говоря, какая задача решается? Поделить канал поровну? Тогда проще сделать один pipe на все 300 Кбит с динамическими queue. Для этих целей также можно использовать ALTQ.

Edited by photon
Posted (edited)

Я дома пытаюсь откатать схему для использования ее в рабочей сети (Поэтому всего 2 пользователя и такой маленький канал). Смысл в следующем. Есть сервер у которого шлюз в интернет маршрутизатор Cisco (на циске работает NAT). На сервере одна сетевая карта re0. Я хочу с помощью ipfw поделить канал. Это вообще реально или я вообще зря трачу время?ОС: FreeBSD 7.1

Edited by Linozh
Posted
# ipfw pipe show
00102:  64.000 Kbit/s    0 ms   50 sl. 2 queues (64 buckets) droptail
    mask: 0x00 0x000000ff/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
  4 ip           0.0.0.2/0             0.0.0.0/0     1930   685384  0    0   0
60 ip         0.0.0.254/0             0.0.0.0/0       62     8764  1  100   0
00103:  64.000 Kbit/s    0 ms   50 sl. 1 queues (64 buckets) droptail
    mask: 0x00 0x00000000/0x0000 -> 0x000000ff/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
62 ip           0.0.0.0/0           0.0.0.254/0        2      244  0    0   0

Posted

Мда....

 

src-ip 0x000000ff - это полный писец.

 

man ipfw до полного просветления.

 

Раздел TRAFFIC SHAPER (DUMMYNET) CONFIGURATION

 

NATа нету у тебя на этой машине ? re0 это внешний интерфейс ?

 

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 pipe 102 src-ip mask 0xffffffff

ipfw pipe 103 config bw 64Kbit/s 
ipfw queue 103 config pipe 103 dst-ip mask 0xffffffff

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

 

впрочем dummynet - это прошлый век....

Posted (edited)

На этой машине один интерфейс re0. На ней указан шлюз по умолчанию 192.168.0.254 (адрес маршрутизатора Cisco, на котором работает NAT)

...

впрочем dummynet - это прошлый век....

Может тогда подскажете замену? Edited by Linozh
Posted
Может тогда подскажете замену?<br />

Все зависит от задачи и требуемой мощности.

У тебя странная задача с равномерным распределением канала ;)

Проблемы начинаються с ростом загрузки....

Вот рядом хорошая тема про тюнинг dummynet http://forum.nag.ru/forum/index.php?showtopic=49336

Хотя судя по твоим ошибкам тебе надо сначала плотно в теме разобраться, а потом тюнинговать )))

 

У меня задача - ограничить каждого юзера, так что я использую ng_car, устанавливаемый через mpd4.

 

Posted

Опишу задачу несколько иначе. Есть сеть, шлюз в интернет - маршрутизатор Cisco (на маршрутизаторе работает NAT). Канал 4Мбит/с. Задача: раздавать интернет разным группам пользователей с разной скоростью.Есть незадействованый сервер с одной сетевой картой (можно поставить еще если будет необходимо). Подскажите пожалуйста пример для решения поставленой задачи.

Posted
Опишу задачу несколько иначе. Есть сеть, шлюз в интернет - маршрутизатор Cisco (на маршрутизаторе работает NAT). Канал 4Мбит/с. Задача: раздавать интернет разным группам пользователей с разной скоростью.Есть незадействованый сервер с одной сетевой картой (можно поставить еще если будет необходимо). Подскажите пожалуйста пример для решения поставленой задачи.

По две трубы на группу, и никаких проблем. На кой там динамика ?

Posted (edited)

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 нужно менять на ноль? Заранее спасибо.

Edited by Linozh
Posted
По две трубы на группу, и никаких проблем. На кой там динамика ?

У меня в одной небольшой трубе tcp-потоки не распределялись поровну. Ситуация был а - кто раньше встал - тот и качает.

А с динамическими очередями все красиво и мгновенно делиться .

 

Решил таки эту задачу. Но пришлось разориться еще на одну сетевую карту.

Т.е. эта машина у тебя сбоку стояла ? мдааа. Учи матчасть про роутинг

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.