Назад | Перейти на главную страницу

Ограничить максимальное количество входящих подключений к порту с помощью iptables

У меня есть сервер, на котором apache прослушивает несколько портов. Некоторые порты используются для настройки сервера, а другие используются для загрузки больших файлов.

Моя проблема в том, что при большом количестве клиентов, загружающих файлы, с веб-интерфейсом невозможно связаться. Я хотел бы ограничить количество клиентов, подключающихся к порту «большой файл», чтобы у apache всегда были доступные подключения для настройки сервера. ОТКЛОНЕНИЕ - это нормально, клиент, пытающийся загрузить файл, отступит и попытается повторить попытку позже. У каждого клиента одновременно открыто только одно соединение с сервером, поэтому ограничение по IP не работает.

Я знаю, что могу поставить что-нибудь перед apache, чтобы справиться с этим, но мне бы очень хотелось сделать это в iptables, без добавления дополнительного программного обеспечения.

Вы могли бы попробовать --connlimit с --connlimit-mask возможность установить маску 0.

iptables -A INPUT -p tcp --dport XXY -m connlimit --connlimit-above 5 --connlimit-mask 0 -j REJECT

куда XXY - это порт, к которому вы хотите установить ограничение скорости соединений.