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

Квота трафика IPtables - вверх и вниз

Я пытался установить квоты трафика для пользователей на общем сервере, и я считаю [с моими ограниченными знаниями], что iptables --quota и порты, выбранные для каждого пользователя [--dport], - это способ сделать это ...

iptables -A OUTPUT --dport 1,2,3,4 ... --quota 123412341234 -j ПРИНЯТЬ
iptables -A OUTPUT --dport 1,2,3,4 ... -j DROP

Я думаю, что что-то подобное сработает, чтобы ограничить трафик [и сбрасывать каждый месяц], но только для выходящего трафика.

ОС - это debian squeeze

Спасибо.

Если вы хотите применить квоту к обе входящие и исходящие, вы бы сделали это так:

-A OUTPUT -p tcp --sport $PORTNUM_1 -g filter_quota_1
-A OUTPUT -p tcp --sport $PORTNUM_2 -g filter_quota_2
<other OUTPUT rules for other users>
-A INPUT  -p tcp --dport $PORTNUM_1 -g filter_quota_1
-A INPUT  -p tcp --dport $PORTNUM_2 -g filter_quota_2
<other INPUT rules>
-A filter_quota_1 -m quota --quota $QUOTA_1 -g chain_where_quota_not_reached
-A filter_quota_1 -g chain_where_quota_is_reached
-A filter_quota_2 -m quota --quota $QUOTA_2 -g chain_where_quota_not_reached
-A filter_quota_2 -g chain_where_quota_is_reached
<other filter_quota_N chains>

Если вы хотите сбросить квоту №N, сделайте iptables -F filter_quota_N а затем повторно заполнить filter_quota_N.

Поскольку правила в основном похожи, вам действительно следует рассмотреть возможность автоматизации с помощью bash (или другого языка сценариев по вашему выбору).