Я искал какое-то время, но не нашел ничего конкретного, надеюсь, кто-нибудь может мне помочь.
Я собираюсь запустить сервер Debian на гигабитном порте и хочу предоставить каждому пользователю его / ее справедливую долю доступа в Интернет.
Первая задача проста - скорость передачи данных на пользователя. Судя по тому, что я видел, IPTables / Shorewall справились с этой задачей легко. Это легко настроить, или кто-нибудь из вас может указать мне на конфигурацию? Я надеялся ограничить количество пользователей 300 или 650 Мбит каждый.
Вторая задача усложняется. Из-за использования ящиков большая часть трафика будет внутренним сетевым трафиком, который НЕ учитывается в квоте. Тем не менее, мне все еще нужно ограничить внешний трафик, и если они перейдут, отключите доступ (или ограничьте трафик до очень низкой скорости (10 Мбит?)). Допустим, у пользователя установлен лимит внешнего трафика 3 ТБ. Часть IF: Если имя хоста, с которым они обмениваются трафиком, НЕ СООТВЕТСТВУЕТ .ovh. или .kimsufi. (компания владеет несколькими TLD), учитывайте квоту. Как только указанная квота превысит 3 ТБ, подавите их.
Где я могу найти систему, которая будет считать это за меня? Также потребуется сброс или возможность ручного сброса ежемесячно.
Заранее спасибо!
Взгляните на tc. (человек тс)
Ваша первая проблема - однозначно идентифицировать каждого «пользователя».
Будет ли каждый пользователь использовать другой IP-адрес? Если это так, tc позволит вам справедливо разделить интерфейс и разделить доступные ресурсы по IP.
Ваша вторая задача намного сложнее. Мне кажется, что вы говорите о нескольких хостах на веб-сервере. Вы можете обрабатывать журналы пакетами (каждый час или около того), чтобы отслеживать общее количество байтов, переданных vhost, а затем использовать это для «подавления» IP с помощью tc.
С помощью tc следует управлять различием между локальным и удаленным трафиком, если вы заранее знаете все свои внутренние подсети.
Удачи.
Я бы посоветовал взглянуть на ваше сетевое оборудование (коммутаторы), чтобы установить доступную полосу пропускания для каждого порта.
Для ограничения используемой внешней пропускной способности вы можете посмотреть что-нибудь вроде pfsense и его адаптивного портала.
Ура
iptables
поставляется с какой-то фильтрацией на основе пользователя. Посмотри на: http://www.cyberciti.biz/tips/block-outgoing-network-access-for-a-single-user-from-my-server-using-iptables.html