Не работают правила с pipe

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
kharkov_max
капитан
Сообщения: 1810
Зарегистрирован: 2008-10-03 14:56:40

Не работают правила с pipe

Непрочитанное сообщение kharkov_max » 2011-10-21 15:08:31

День добрый.

Если в кратце описать проблему - то не работает шейпер в ipfw.
Ядро скомпилено с DUMMYNET, net.inet.ip.fw.one_pass=0

Есть блок правил описывающих подключение к ftp серверу.

Код: Выделить всё

${fw} add allow tcp from ${ext_gateway_ip} 20,21,40000-40100 to any out via ${ext_if}
${fw} add allow tcp from any  to ${ext_gateway_ip} 20,21,40000-40100  in via ${ext_if}
Ftp трафик ходит только через эти правила фаервола.

Хочу ограничить скорость подключения к ftp, понимаю что можно резать на самом ftp сервере, но хочется реализовать через ipfw.
Меняю правила на:

Код: Выделить всё

${fw} pipe 1 config bw 500KByte/s queue 40
${fw} queue 1 config  pipe 1 weight 50  queue 40 mask dst-ip 0xffffffff
${fw} queue 2 config  pipe 1 weight 50  queue 40 mask src-ip 0xffffffff

${fw} add queue 1 tcp from ${ext_gateway_ip} 20,21,40000-40100 to any out via ${ext_if}
${fw} add queue 2 tcp from any  to ${ext_gateway_ip} 20,21,40000-40100  in via ${ext_if}
В результате доступа к FTP нет, счетчик in увеличивается.
Команды ipfw pipe show и ipfw queue show показывают что трубы и очереди есть, но по ним ни чего не ходит.
Не могу понять в чем может быть проблема.
Может кто натыкался на подобное и что то подскажет ?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

rmn
старшина
Сообщения: 427
Зарегистрирован: 2008-10-03 18:52:02

Re: Не работают правила с pipe

Непрочитанное сообщение rmn » 2011-10-21 20:02:46

kharkov_max писал(а):net.inet.ip.fw.one_pass=0
а allow-правило после add queue где?

Аватара пользователя
kharkov_max
капитан
Сообщения: 1810
Зарегистрирован: 2008-10-03 14:56:40

Re: Не работают правила с pipe

Непрочитанное сообщение kharkov_max » 2011-10-22 9:49:48

rmn писал(а):
kharkov_max писал(а):net.inet.ip.fw.one_pass=0
а allow-правило после add queue где?
А разве add queue не является разрешающим правилом ?
Может я что то не дочитал ...

Вы хотите сказать что должно быть так ?

Код: Выделить всё

${fw} pipe 1 config bw 500KByte/s queue 40
${fw} queue 1 config  pipe 1 weight 50  queue 40 mask dst-ip 0xffffffff
${fw} queue 2 config  pipe 1 weight 50  queue 40 mask src-ip 0xffffffff

${fw} add queue 1 tcp from ${ext_gateway_ip} 20,21,40000-40100 to any out via ${ext_if}
${fw} add queue 2 tcp from any  to ${ext_gateway_ip} 20,21,40000-40100  in via ${ext_if}

${fw} add allow tcp from ${ext_gateway_ip} 20,21,40000-40100 to any out via ${ext_if}
${fw} add allow 2 tcp from any  to ${ext_gateway_ip} 20,21,40000-40100  in via ${ext_if}
....
deny all

rmn
старшина
Сообщения: 427
Зарегистрирован: 2008-10-03 18:52:02

Re: Не работают правила с pipe

Непрочитанное сообщение rmn » 2011-10-22 10:26:08

kharkov_max писал(а): А разве add queue не является разрешающим правилом ?
Когда one_pass == 1. Если one_pass == 0, пакеты после pipe, queue, nat, etc. проверяются по дальнейшим правилам.

Аватара пользователя
kharkov_max
капитан
Сообщения: 1810
Зарегистрирован: 2008-10-03 14:56:40

Re: Не работают правила с pipe

Непрочитанное сообщение kharkov_max » 2011-10-22 10:33:37

Т.е. в моем случае так будет правильно ?

Код: Выделить всё

${fw} pipe 1 config bw 500KByte/s queue 40
${fw} queue 1 config  pipe 1 weight 50  queue 40 mask dst-ip 0xffffffff
${fw} queue 2 config  pipe 1 weight 50  queue 40 mask src-ip 0xffffffff

${fw} add queue 1 tcp from ${ext_gateway_ip} 20,21,40000-40100 to any out via ${ext_if}
${fw} add queue 2 tcp from any  to ${ext_gateway_ip} 20,21,40000-40100  in via ${ext_if}

${fw} add allow tcp from ${ext_gateway_ip} 20,21,40000-40100 to any out via ${ext_if}
${fw} add allow 2 tcp from any  to ${ext_gateway_ip} 20,21,40000-40100  in via ${ext_if}
....
deny all

Аватара пользователя
kharkov_max
капитан
Сообщения: 1810
Зарегистрирован: 2008-10-03 14:56:40

Re: Не работают правила с pipe

Непрочитанное сообщение kharkov_max » 2011-10-22 12:00:12

kharkov_max писал(а):Т.е. в моем случае так будет правильно ?

Код: Выделить всё

${fw} pipe 1 config bw 500KByte/s queue 40
${fw} queue 1 config  pipe 1 weight 50  queue 40 mask dst-ip 0xffffffff
${fw} queue 2 config  pipe 1 weight 50  queue 40 mask src-ip 0xffffffff

${fw} add queue 1 tcp from ${ext_gateway_ip} 20,21,40000-40100 to any out via ${ext_if}
${fw} add queue 2 tcp from any  to ${ext_gateway_ip} 20,21,40000-40100  in via ${ext_if}

${fw} add allow tcp from ${ext_gateway_ip} 20,21,40000-40100 to any out via ${ext_if}
${fw} add allow 2 tcp from any  to ${ext_gateway_ip} 20,21,40000-40100  in via ${ext_if}
....
deny all
Вообщем так - заработало, только не пойму следующего.
Сделал 2 разных трубы, для входа и выхода трафика с ftp.

Код: Выделить всё

${fw} pipe 1 config bw 500KByte/s queue 40
${fw} pipe 2 config bw 100KByte/s queue 40

${fw} queue 1 config  pipe 1 weight 50  queue 40 mask dst-ip 0xffffffff
${fw} queue 2 config  pipe 2 weight 50  queue 40 mask src-ip 0xffffffff

${fw} add queue 1 tcp from ${ext_gateway_ip} 20,21,40000-40100 to any out via ${ext_if}
${fw} add queue 2 tcp from any  to ${ext_gateway_ip} 20,21,40000-40100  in via ${ext_if}

${fw} add allow tcp from ${ext_gateway_ip} 20,21,40000-40100 to any out via ${ext_if}
${fw} add allow 2 tcp from any  to ${ext_gateway_ip} 20,21,40000-40100  in via ${ext_if}
....
deny all
В результате, трафик который идет от сервера к ftp клиенту - шейпится, а трафик который идет от клиента на сервер - нет.
Т.е. клиент может передавать на сервер без ограничений.

Как правильно поправить ?

Аватара пользователя
kharkov_max
капитан
Сообщения: 1810
Зарегистрирован: 2008-10-03 14:56:40

Re: Не работают правила с pipe

Непрочитанное сообщение kharkov_max » 2011-10-22 12:52:25

Все - разобрался.
Все вопросы снимаются.

Спасибо.