2

Поскольку у меня больше Интернета, чем я могу использовать сам, и у меня есть бесплатный маршрутизатор, я не пользуюсь, я думал о создании бесплатной точки доступа для соседей. К сожалению, мой трафик ограничен, поэтому я хотел бы иметь некоторые ограничения для его дневного использования. Для этого я установлю на маршрутизаторе dd-wrt или openwrt, но в прошлый раз, когда я пытался рассчитать использование трафика под Linux, мне пришлось написать собственный фильтр ulog для netfilter, и я бы хотел сейчас этого не делать. Так есть ли продукт, который я могу использовать для достижения своих целей, то есть разорвать все соединения на день, когда достигнут предел (или уменьшить их до 32 Кбит / с)?

4 ответа4

3

Похоже, с современными iptables ограничение трафика является довольно простой задачей.

Соблюдайте квоту модуля:

iptables -A OUTPUT -p tcp --dport 80 -m quota --quota 1024 -j ACCEPT
iptables -A OUTPUT -p tcp --dport 80 -j DROP

Это примет 1 КБ данных, а затем отбросит все соединения :) - --quota непрерывно уменьшает счетчик, а при достижении 0 правило больше не совпадает, поэтому следующий включается и блокирует все.

Вы даже можете увидеть, сколько осталось трафика

# iptables -L OUTPUT -v

Chain OUTPUT (policy ACCEPT 3640 packets, 1753K bytes)
pkts bytes target prot opt in out source destination
1 40 ACCEPT tcp -- any any anywhere anywhere tcp dpt:http quota: 984 bytes
0 0 DROP tcp -- any any anywhere anywhere tcp dpt:http

и через некоторое время

# iptables -L OUTPUT -v

Chain OUTPUT (policy ACCEPT 3814 packets, 1773K bytes)
pkts bytes target prot opt in out source destination
8 996 ACCEPT tcp -- any any anywhere anywhere tcp dpt:http quota: 0 bytes
9 504 DROP tcp -- any any anywhere anywhere tcp dpt:http

Похоже, если я смогу установить этот модуль на OpenWRT, ограничение трафика будет легкой задачей.

2

Gargoyle - это прошивка типа WRT, которая может рассчитывать квоту и ограничивать ее по IP. Вот ссылка.

Я бы хотел, чтобы у Tomato и DD-WRT появилась такая же особенность.

1

Чтобы ограничить трафик, iptables будет работать на одной из двух рассматриваемых вами установок WRT .

Вот ссылка на тему форума openwrt для идей - Traffic QPS howto ;
Два больше ссылок.

0

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


Редактировать:

так как опция шлюза не возможна, вы когда-нибудь пробовали томатную прошивку? Он имеет много функций, вероятно, гораздо больше, чем вам нужно. Есть способы отключить беспроводную связь в определенное время и ограничить скорость, насколько я знаю. Есть также пара вариантов QoS. Моя любимая функция в tomato - это то, что вы можете создавать задания cron, это позволяет вам легко сократить время доступа для пользователей. Вы также можете использовать cron для периодической проверки используемой полосы пропускания и замедления соединения или полной его остановки в зависимости от того, сколько было использовано.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .