iptables и ftp

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

Зачем iptables?Сам

Зачем iptables?
Сам сервер должен уметь. Например в proftpd для всяческих ограничений можно использовать следующие параметры конфигурации: MaxClients, MaxClientsPerHost, MaxClientsPerUser, MaxConnectionRate, MaxHostsPerUser

для vsftpd

#ограничилка полосы для локальных пользователей в 64кбита
local_max_rate=64000
#ограничилка полосы для анонимных пользователей в 64кбита
anon_max_rate=64000
#ниже думаю тут все понятно
max_clients=3
max_per_ip=2

нужно именно

нужно именно фаерволом.. потому что ограничив количество соединение на ip они продолжают биться головой апстену..

ну и пусть

ну и пусть бьются - тебе что жалко? да и фаерволлом помоему это не сделаеш.

man iptables,

man iptables, /connlimit:

Цитата:
connlimit
Allows you to restrict the number of parallel TCP connections to a
server per client IP address (or address block).

[!] --connlimit-above n
match if the number of existing tcp connections is (not) above n

--connlimit-mask bits
group hosts using mask

это да, но это

это да, но это нетолько для ftp - это для всех протоколов, да, есть l7-filter который может отловить именно фтп - но его установка нетривиальна и думается нужный эффект даст именно сам ftp-сервер, и справиться он сильно лучше чем firewall

-p tcp --dport 21 и все,

-p tcp --dport 21 и все, ненадо никаких l7-filter

а как быть с тем

а как быть с тем что на 21 порт в большинстве случаев только начало - данные сами по себе льются непонятно по какому порту.
если подумать то всё равно неполучиться - iptables незнает о том что там внутри протокола ftp и для того чтобы ограничить количество скачек с одного ip придётся его чем-то парсить... :)

Если все-таки

Если все-таки начать думать, то если не установится control соединение на 21 порт (как ты назвал "начало"), то и данных на другой порт возникнуть неможет.

Если ты

Если ты ограничишь их фаерволом, они не перестанут "биться головой апстену". Просто "отлуп" им будет давать не сервер ФТП, а фаервол. Тебе что с того?

Ну как бы

Ну как бы разница есть. Если контролировать коннекты демоном, то на каждый коннект все-равно будет открываться TCP сокет. Если фаерволлом, то еще SYN пакет можно рубить/реджектить. Плюсы/минусы и детальные различия лень расписывать, но если смысл в том, чтобы снизить нагрузку ограничив потоки, то разница будет только на слабой машине/очень большом кол-ве коннектов.

а как в случае с

а как в случае с ftp лишний SYN зарубить? он же уже с этого ip работает - тут нужно сам протокол как-то парсить и пробовать узнать второй это поток с этого ip или первый. Всётаки скорее всего даже с l7 невыйдет.

Зачем? Цель

Зачем? Цель ведь не создать невозможность скачивания файла, а вообще ограничить доступ к ftp. Просто лимитим коннекты на 21 порт и все. Ведь все-равно для каждой скачки (data stream) для начала нужно соединиться с 21 портом (control stream).
С одного control stream несколько data stream не открыть.

Storm пишет: Ну

Storm написал(а):
Ну как бы разница есть. Если контролировать коннекты демоном, то на каждый коннект все-равно будет открываться TCP сокет. Если фаерволлом, то еще SYN пакет можно рубить/реджектить.

ИМХО, из пушки по воробьям. Лично я не стал бы заморачиваться. Плюс надо отслеживать что за юзер, с какого хоста...

Storm написал(а):
разница будет только на слабой машине/очень большом кол-ве коннектов.

Ну дык... Вобщем, мнения я так понимаю сходятся. Это задача сервера.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".