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

Вот мой /etc/sysctl.conf:

net.ipv4.netfilter.ip_conntrack_max=100
fs.inotify.max_user_watches=100000
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_tw_reuse = 0
net.ipv4.tcp_orphan_retries = 1
net.ipv4.tcp_fin_timeout = 25
net.ipv4.tcp_max_orphans = 150

Я понимаю, что этот параметр означает, что число подключений не должно превышать 150 подключений, но когда, например, я открываю много страниц в Firefox одновременно, я вижу, что этот параметр не соблюдается - netstat | grep tcp | wc -l показывает еще много соединений.

Вот некоторая информация о моей системе:

[firzen:~] lsb_release -sd
Debian GNU/Linux 7.7 (n/a)
[firzen:~] uname -r
3.2.0-2-686-pae
[firzen:~] arch
i686

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

Заранее спасибо!

1 ответ1

0

Согласно документации ядра:

tcp_max_orphans - INTEGER
Максимальное количество сокетов TCP, не привязанных ни к какому дескриптору пользовательского файла, которое хранится в системе Если это число превышено, потерянные соединения немедленно сбрасываются и выводится предупреждение. Это ограничение существует только для предотвращения простых атак DoS, вы не должны полагаться на это или искусственно понижать ограничение, а скорее увеличивать его (возможно, после увеличения установленной памяти), если условия сети требуют больше значения по умолчанию, и настраивать сетевые службы для задержки и убивать такие государства более агрессивно. Позвольте мне напомнить еще раз: каждый сирота съедает до ~ 64 Кбайт памяти без возможности восстановления.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .