IPFW обрезка кол-ва соединений

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

IPFW обрезка кол-ва соединений

Непрочитанное сообщение mmvds » 2011-02-27 10:07:24

Извиняюсь за даблпостинг с темой http://forum.lissyara.su/viewtopic.php? ... 7&p=285121
но там сообщение затерялось без ответа в общем обсуждении.

Подскажите пожалуйста, как обрезать кол-во исходящих соединений?
фаервол выглядит так:

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

   ipfw show
    00099      1208       57984 deny tcp from table(77) to any dst-port 25
    04998   1333646   200103483 skipto 5990 ip from table(101) to any in via em0
    05090  31865077 13137215634 pipe tablearg ip from table(121) to any in via em0
    05990  33114850 13284266094 allow ip from table(121) to any in via em0
    08090  33088011 13291228363 ngtee 21 ip from table(121) to any out via em1
    09999   1535430   314200780 skipto 20000 ip from table(100) to any out via em1
    10090  31565576 12984870479 nat 100 ip from table(121) to any out via em1
    20000  39230088 37947801039 nat 100 ip from any to me in via em1
    29999    982918    75236575 skipto 30590 ip from any to table(101) in via em1
    30090  37667969 37956574650 pipe tablearg ip from any to table(122) in via em1
    30590  36808048 36029432254 ngtee 21 ip from any to table(121) in via em1
    31090  36808326 36029402760 allow ip from any to table(121) in via em1
    51090  36949740 36204271464 allow ip from any to table(121) out via em0
    60000  33099189 13297599997 allow ip from any to any out via em1
    65535 527048987 34225950262 deny ip from any to any
em1 - внешний интерфейс
em0 - внутренний интерфейс
таблица 77 - пользователи, замечанные в спаме
таблицы 121/122 - серые Ip юзеров
таблица 100 - все белые IP
таблица 101 - ip без ограничения скорости

Пробую добавить в самое начало правило для тестового Ip ограничение на 20 соединений

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

add 1 allow ip from Ip_тестового_компа_с_белым_ip to any keep-state limit src-addr 20 
И ВСЯ сеть сразу падает

пробовал уточнить что на исхдящее через em1

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

add 1 allow ip from Ip_тестового_компа_с_белым_ip/32 to any out via em1 keep-state limit src-addr 20
но опять же ложится вся сеть

Подскажите, пожалуйста, что я делаю не так и как исправить?
Последний раз редактировалось f_andrey 2011-02-27 11:00:41, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания 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/

Garison
рядовой
Сообщения: 28
Зарегистрирован: 2007-06-14 22:15:26

Re: IPFW обрезка кол-ва соединений

Непрочитанное сообщение Garison » 2011-02-27 11:41:14

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

add 1 allow ip from Ip_тестового_компа_с_белым_ip/32 to any out via em1 keep-state limit dst-addr 20

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: IPFW обрезка кол-ва соединений

Непрочитанное сообщение mmvds » 2011-02-28 9:27:58

Аналогично, пишет

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

ipfw: only one of keep-state and limit is allowed
и отваливается, но ни keep-state ни limit у меня в правилах больше нет

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: IPFW обрезка кол-ва соединений

Непрочитанное сообщение mmvds » 2011-02-28 10:01:36

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

add 1 allow ip from Ip_тестового_компа_с_белым_ip/32 to any out via em1 limit dst-addr 20
так работает

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

add 1 allow ip from Ip_тестового_компа_с_белым_ip/32 to any out via em1 limit src-addr 20
и так тоже

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: IPFW обрезка кол-ва соединений

Непрочитанное сообщение mmvds » 2011-02-28 15:38:05

С белым ip все ок, но если пробую сделать тоже самое для серого

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

add 1 allow ip from Ip_тестового_компа_с_серым_ip/32 to any out via em1 limit src-addr 20
то инет на данном Ip отваливается
при этом пакеты через правило проходят

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

ipfw show
00001        96        4608 allow ip from 10.197.0.241 to any out via em1 limit       

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: IPFW обрезка кол-ва соединений

Непрочитанное сообщение hizel » 2011-02-28 15:44:36

для локального вместо allow поставить nat 100 если у вас one_pass enable
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: IPFW обрезка кол-ва соединений

Непрочитанное сообщение mmvds » 2011-02-28 17:05:20

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

add 1 nat 100 tcp from Ip_тестового_компа_с_серым_ip/32 to any limit src-addr 30

Так сработало, но когда сделал тоже самое для серой сети, сервер отвалился в kernel panic, к сожалению записать ошибку не успел, отправил в ребут.
net.inet.ip.fw.one_pass: 0 отключен, но при включении поменяется логика фаервола.

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: IPFW обрезка кол-ва соединений

Непрочитанное сообщение hizel » 2011-02-28 17:56:28

net.inet.ip.fw.one_pass: 0 отключен
что это значит? net.inet.ip.fw.one_pass=0 ?
тогда делайте через tag

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

add 1 tag 13 count tcp from Ip_тестового_компа_с_серым_ip/32 to any limit src-addr 30
и дальше изменить логику nat-а, для этого ip проверяя tag
как-то так
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: IPFW обрезка кол-ва соединений

Непрочитанное сообщение mmvds » 2011-03-03 11:27:32

Если кому интересно, с проблемой разобрался:

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

net.inet.ip.fw.dyn_buckets=65536
net.inet.ip.fw.dyn_max=65536
net.inet.ip.fw.dyn_ack_lifetime=120
net.inet.ip.fw.dyn_syn_lifetime=10
net.inet.ip.fw.dyn_fin_lifetime=2
net.inet.ip.fw.dyn_short_lifetime=10
Теперь все работает

Аватара пользователя
vadim64
майор
Сообщения: 2098
Зарегистрирован: 2009-09-17 15:15:26
Откуда: Засратовец

Re: IPFW обрезка кол-ва соединений

Непрочитанное сообщение vadim64 » 2011-03-03 11:45:14

а правила какие?
Люди не делятся на национальности, партии, фракции и религии. Люди делятся на умных и дураков, а вот дураки делятся на национальности, партии, фракции и религии.

mmvds
мл. сержант
Сообщения: 92
Зарегистрирован: 2011-01-26 17:24:07

Re: IPFW обрезка кол-ва соединений

Непрочитанное сообщение mmvds » 2011-03-03 14:12:10

правило такое

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

add 1 nat 100 tcp from сеть_с_серыми_ip/32 to any limit src-addr 30
кстати, если поставить 50 соединений, то сеть опять отваливается :(

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

add 1 nat 100 tcp from сеть_с_серыми_ip/32 to any limit src-addr 50
хотя оперативки увеличивается не на много, нагрузка на проц тоже и net.inet.ip.fw.dyn_count возрастает с 3 тыс до 5 тыс, возможно опять же упустил из виду какой-то параметр