Ограничение по количеству одновременных сессий и соединений.

Skip to end of metadata
Go to start of metadata

Внимание! Указанные действия необходимо производить когда сервер находится в режиме удаленного помощника.

Сначала нужно разрешить редактирование файла /usr/local/ics/bin/ics_tune.sh

mount -o rw,remount /mnt/ro_disc
chattr -i /usr/local/ics/bin/ics_tune.sh

Дальше нужно отредактировать файл /usr/local/ics/bin/ics_tune.sh

и привести его к подобному виду

#!/bin/bash

if [ "$1" = "firewall.sh" ]; then

iptables -t mangle -I state_new -s 192.0.2.0/24 -m connlimit ! --connlimit-above $((300*100)) --connlimit-mask 32  -j RETURN
iptables -t mangle -A state_new -s 192.0.2.0/24 -j DROP

fi

100 - примерное количество пользователей, которые используют ip адреса из подсети 192.0.2.0/24
300 - примерное количество tcp и udp conntrack сессий на одного из этих абонентов
При необходимости можно создавать правила для конкретных ip (абонентов), указывая после параметра "-s" ip без маски
Важно соблюдать последовательность правил в цепочке - условия с connlimit вверху, DROP внизу.
Если у абонентов белые адреса, то еще нужно добавить также команду:

iptables -t mangle -I state_new -d 192.0.2.0/24 -m connlimit ! --connlimit-above $((300*100)) --connlimit-mask 32  -j RETURN
iptables -t mangle -A state_new -d 192.0.2.0/24 -j DROP

Для применения изменений выполните команду (Перезагрузка не потребуется):

/usr/local/ics/bin/ics_tune.sh firewall.sh

Если файл не пустой, то старое содержимое оставить нетронутым и добавить в любое место файла основной условный блок из примера выше.

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.