Linux ограничивает соединения на определенном порту

Linux ограничивает соединения на определенном порту

Я слежуограничения на соединения iptablesчтобы ограничить количество подключений, которые сервер может получить через порт 80. Например, я попробовал:

/sbin/iptables -I INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j REJECT --reject-with tcp-reset

Похоже, это ограничивает количество подключений на IP. Есть ли способ через IPTables или, может быть, sysctl ограничить количество подключений глобально. Это означает, что если, скажем, хост A заблокирует все 10 доступных сеансов, то никакой другой хост не сможет подключиться?

решение1

Вы можете изменить свое правило, добавив опцию --connlimit-mask 0. Это позволяет вам эффективно ограничивать соединения глобально, и все IP-адреса будут обрабатываться без каких-либо различий.

Напротив, значение по умолчанию 32для IPv4 означает сопоставление каждого отдельного IP-адреса.

Как предложил @JayMcTee, вы можете использовать решение на уровне веб-сервера для ограничения лимита подключений. Например, вы можете посмотреть на MaxClientsвариант дляапач.

Связанный контент