LINUX.ORG.RU

2
Всего сообщений: 31

Ограничение трафика по портам Iptables

Всем доброго времени суток есть shadowsocks сервер на ubuntu 16.04 пользователи подключаются каждый по своему порту, для каждого порта прописал такие правила для ограничения трафика

sudo iptables -I OUTPUT -p tcp –sport 17788 -m comment –comment «USER1» -j DROP

sudo iptables -I OUTPUT -p tcp –sport 17788 -m quota –quota 10000000000 -m comment –comment «USER1» -j ACCEPT

sudo iptables -I OUTPUT -p tcp –sport 17789 -m comment –comment «USER2» -j DROP

sudo iptables -I OUTPUT -p tcp –sport 17789 -m quota –quota 10000000000 -m comment –comment «USER2» -j ACCEPT

iptables -L OUTPUT -v –line-numbers

правила работают но если например отчистить счетчик байт на одном из пользователей по достижению квоты sudo iptables -Z OUTPUT 1 то после этого счетчики тикают дальше, то есть при любом внесении изменений в настройки iptables

все форумы перерыл не знаю как ограничивать пользователей именно по портам приходить мониторить счетчики в ручную

 , , ,

davidxmax ()

Игнор лимитов

Доброго дня. Такая ситуация, есть многопоточный софт, который пишет в файл. На арче работает нормально с такими лимитами

*         hard    nofile      50000000
*         soft    nofile      50000000
root      hard    nofile      50000000
root      soft    nofile      50000000

Ставлю такие же лимиты в дебиане, ребут, запускаю программу - падает с too many open files. Что не так я делаю?

 , , ,

dnb ()

iptables syn flood

Почему такое не работает?

-A INPUT -p tcp --dport 80 -m state --state NEW -m hashlimit --hashlimit-above 3/sec --hashlimit-burst 1 --hashlimit-mode srcip   --hashlimit-name syn -j DROP

Запускаю с другой
hping3  --syn 10.0.0.2  -p 80 -i u10000

Смотрю tpcdump
tcpdump -n -i any port 80 and src 10.0.0.3
130866 packets captured
131283 packets received by filter
417 packets dropped by kernel

пакеты идут со скоростью 100/sec, но счетчик на этом правиле не увеличивается
iptables -nvL INPUT
 pkts bytes target     prot opt in     out     source               destination
    0     0 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 state NEW limit: above 3/sec burst 1 mode srcip


cat /proc/net/ipt_hashlimit/syn
3600 10.0.0.3:0->0.0.0.0:0 0 0 0
3252 10.0.0.1:0->0.0.0.0:0 0 0 0

 , , ,

gobot ()

open err_log.txt: too many open files

В /etc/security/limits.conf прописано так

*         hard    nofile      50000000
*         soft    nofile      50000000
root      hard    nofile      50000000
root      soft    nofile      50000000

Но на 1000 потоков программа ругается что «too many open files». Система Арчлинукс со всеми стабильными обновлениями. Подскажите, пожалуйста, куда копать.

 , ,

swag ()

Как увеличить количество открытых файлов?

Всем привет. Появилась проблема, уже всё перепробовал, может вы подскажете. Есть сервер с 32 ядрами и 128гб рамы. Есть некий софт, который на 1 процесс плодит 10к открытий файлов. Запускаю несколько сотен этих процессов - и всё валится по лимиту на открытие файлов. По lsof получается открытых файлов всего в системе около 2.5 млн.

В sysctl:

fs.file-max = 30000000

ulimit -a :

core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 514786
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1000000
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 514786
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

Хочу выставить hard-лимит открытых файлов в 10 млн и получаю ошибку:

ulimit -Hn 10000000
-bash: ulimit: open files: cannot modify limit: Operation not permitted

security.limit:

*   soft    nproc   1000000
*   hard    nproc   1000000
*   -       nofile  10000000
root -      nofile 10000000
worker -    nofile 10000000
worker1 -   nofile 10000000
*   -       memlock unlimited

Так же по наступлению лимита баш при использовании пайпов говорит что не может форкнуться. Я что-то не так делаю, или чего-то не понимаю? Или ещё где-то выше захардкожен в ядре лимит?

Всем буду очень благодарен за помощь.

PS файлы открываются в /dev/shm/, так что сервер всё это дело сильно не должно нагружать. Уменьшать количество открытий файлов тоже не вариант, т.к. по сути эти открытия создаёт блоб, который сложно расковырять.

 ,

mahalaka ()

Ограничение скорости upload

Нужно ограничить входящий на сервер трафик, на определенный порт. Вроде делается это с помощью TC, но вроде можно ограничить только исходяший. Так ли это и есть ли другие способы?

 , , ,

gobot ()

Есть ли у Андроида верхний предел зарядки аккума?

(Ну ясно зачем, чтобы аккум не заряжался выше такого-то уровня, например 70%, им это для здоровья вредно. Опен-сорс аппа как я понял, нет. Закрытые такие аппы есть.)

В (какой-нибудь версии) API такое вообще реализовано? В полном (?) списке классов я нашёл только BatteryManager на эту тему. Но в нём такого функционала нет.

Как написать такой апп? Пусть будет неудобно, через эмулятор терминала, как угодно. И пусть есть рут.

Additional keywords: charging threshold

 , ,

the1 ()

soft limit Max stack size как изменить для определенного процесса?

Как изменить этот параметр для определенного процесса?

cat /proc/$PID/limits | grep stack
Знаю есть prlimit
prlimit --pid $PID --stack=$soft:$block
Знаю есть /etc/security/limits.conf, но там вроде не для отдельно взятых процессов. Есть способ, чтоб prlimit не дергать каждый раз?

 ,

dpood ()

Как же достал этот open files

Везде, на всех серверах, open files установлен в 1024. Постоянно он превышается. Постоянно приходится его увеличивать. На кой хер в linux установлен он в таком малом количестве по дефолту, что постоянно его приходится увеличивать? Linux создавался для серверов ведь, для админов.

ulimit -a | grep open
open files                      (-n) 1024

 

gobot ()

Too many open files

В Nginx и в других местах началось 24: Too many open files. Вроде прописал уже везде эти лимиты гребаные, сервер перезагрузил, что не хватает ещё?

/etc/security/limits.conf

* hard nofile 500000
* soft nofile 500000

root      hard    nofile      500000
root      soft    nofile      500000


ulimit -n
500000

lson -n | wc -l
80544 -- т.е. это общее кол-во открытых файлов? 


Открытых файлов 80544, лимит стоит 500000, что этому линуксу нужно ещё?

 ,

gobot ()

Apache лимит на запрос

Как ограничить время запроса? Т.е. если клиенту ничего не отдается в течении 3 сек(например в php скрипте sleep(99999)), то запрос отрубается.
В php max_execution_time не спасает. В апач TimeOut тоже не влияет.

 , ,

gobot ()

Too many open

NGINX в логах пишет

socket() failed (24: Too many open files) while connecting to upstream


Хотя
ulimit -n
65535


Тестирую так: открываю 400 http конектов на nginx
lsof -n | wc -l
20344


Хз что ему ещё надо, стоит ли ещё увеличивать или не в этом дело?

 , , ,

gobot ()

Как настроить лимиты на количество файлов для консольного php-скрипта?

Приветствую.

Работаю над консольным php-скриптом, запускаемым по cron. Он переиндексирует сайт на базе Битрикс. Есть папка images, которая не участвует в поиске, но, тем не менее, она сканируется, в которой примерно 16158 папок с 3-4 подпапками в каждой. При этом количестве папок скрипт просто виснет. Если оставить около 8т папок, то скрипт переиндексации корректно отрабатывает.

Такое впечатление, что где-то надо увеличить лимиты на количество файлов, только вот где - непонятно.

Подскажите, пожалуйста, куда копать.

Владимир.

 , , ,

Jalart ()

Максимально допустимо число открытых файлов в Linux?

Добрый день, Столкнулся с проблемой используя программы на Java. Которая во время используя открывает массу файлов.

Если увеличить лимит до 900000, то запускается. Может быть такое количество? почему такой лимит маленький по-умолчанию? 1024 или 2048. lsof|grep -i /opt/storage|wc -l 511231

Для пользователя, от которого запускается программа выставлен лимит на открытых файловых дескрипторов

cat /etc/security/limits.conf

#<domain>      <type>  <item>         <value>
#

#*               soft    core            0
#*               hard    rss             10000
#@student        hard    nproc           20
#@faculty        soft    nproc           20
#@faculty        hard    nproc           50
#ftp             hard    nproc           0
#@student        -       maxlogins       4
*       -       nofile  2048
user      hard    nofile          900000
# End of file

 

alarmukis ()

Fork()

Столкнулся с проблемой форка. Есть скрипт на php, который форкает некоторые запросы. Иногда не форкается, говорит не могу. Методом тыка заметил, что зависит это от памяти.
Сервер имеет 16 гигов памяти, скрипт N занимает 7 гигов. Запускаю скрипт Х, который по мере работы начинает занимать память 3 гига(да, где-то утечка, но не суть) и наступает данная проблема, в скрипте N пишет что не могу сделать форк, хотя скрипт Х нормально форкается. Всего памяти в данный момент используется 11.5 гигов. Почему не форкается, если свободно ещё около 5 гигов и почему скрипт Х продолжает форкаться? Скрипты запускаю не от рута, через судо. Где какие ограничения могут быть? В пыхе, в лимитах пользователя, в системе?

 , ,

gobot ()

iptables limit, drop, and prevent DoS ? :-O

Народ, я наверное совсем тупой, но мало того что днём удалённо обрезал весь трафик своему хосту вписав у начала rc.firewall сии строки:

### limit connections - DoS prevent

iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m limit --limit 50/minute --limit-burst 200 -j DROP

iptables -A INPUT -m state --state RELATED,ESTABLISHED -m limit --limit 50/second --limit-burst 50 -j DROP

но и немогу понять, как энту конструкцию грамотно применить - обращать через "!" - ни --limit, ни --limit-burst, ни -j DROP условия иптэйбл не позволяет - ругается.

вместо дропа указать аксепт - полнейшая херня получится, ибо пока атаки не будет, этим же рулесом весь условленный траффик будет аксептится, и других моих рулесов по ограничениям соурсадресов итдп уже не достигнет, что вообще никуда не годится.

а всего то надо - при превышении некоторых кондиций дропать трафик, при уменьшении - возобновлять....:\

 , ,

wisedraco ()

Зависает установка Oracle 11g


Устанавливаю Oracle 11g Enterprise на Slackware 14.2 (x64) full install (в виртуалке.пока)
Мастер виснет(долго думает, минут 40 ждал) на шаге проверки требований «Checking Hard Limit: maximum open file descriptors...» При этом основной процесс инсталятора жрет 10% цпу, остальные 90% - дочерний, который судя по аргументам запуска и проверяет вышеуказанное.

Что ему не хватает-то?

Лог

 , , , ,

FeyFre ()

nginx сброс соединения по превышению limit_req

Есть ли способ попросить nginx вместе с 503 ошибкой, закрывать все соединения с IP который превысил лимит?

 ,

Viper ()

Tx\Rx bandwidth limit на 2950-той Сиське "( . )( . )" ?

Прошу прощения) за нескромный вопрос)) но мне раньше не доводилось иметь длительные отношения с коммутаторами от Cisco =)) Как настроить ограничение пропускной способности (bandwidth limit) на конкретный порт ? К примеру порт Fa0/24 (Rx 128 kbps)(Tx 512 kbps)

 , , ,

Architector120 ()

Ограничение проходимости канала

Можно ли как нибудь ограничить максимальную скорость загрузки/отдачи на CentOS 6? Я могу ограничить yum команды в файле yum.conf Но как ограничить скорость выгрузки с сайта? Например ,чтобы люди не могли открывать сайт со скоростью выше 300 Кбит в сек?

 ,

Allesandro ()