The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Ограничение трафика

   Корень / Администратору / Сетевая подсистема, маршрутизация / Ограничение трафика

----* Как заблокировать вход пользователей, работающих через сеть Tor   [комментарии]
  Список точек выхода сети Tor, с которых инициируются исходящие соединения, можно загрузить на официальном сайте проекта Tor:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Построение системы фильтрации контента по реестру Роскомнадзора на базе CISCO и FreeBSD (доп. ссылка 1)   Автор: Пережилин Юрий  [комментарии]
  В статье подробно рассмотрен один из вариантов фильтрации трафика по реестру Роскомнадзора с помощью SQUID на базе FreeBSD, состыкованного с бекбоне CISCO по протоколу WCCP2.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Маршрутизатор на базе FreeBSD с приоритизация трафика средствами PF и ALTQ   Автор: artemrts  [комментарии]
  Проблема приоритизации трафика, на мой взгляд, весьма актуальна. Интернет-канала много не бывает и на всех пользователей и сервисов локальной зачастую не хватает. Поэтому для нормальной работы Интернета требуется грамотное распределения полосы с учетом потребностей каждого из участников. Единственный раз, когда мне не понадобился QoS - это гарантированный провайдером канал в 20 Мбит/с в мир и 100Мбит/с - национальный. Но такое удовольствие не из дешевых, поэтому зачастую народ довольствуется ADSL-каналом с заявленной скоростью к клиенту до 5-10 Мбит/с.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Балансировка трафика в Linux (доп. ссылка 1)   Автор: mirage  [комментарии]
  Данная схема отслеживает новые соединения и равномерно распределяет их по каналам.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Распределение трафика между двумя каналами во FreeBSD (доп. ссылка 1)   Автор: pehlle  [комментарии]
  Во FreeBSD 7 появилась возможность задания множественных таблиц маршрутизаций. В ядре отвечает за это опция:
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Скрипт для распределения пропускной способности средствами iproute2 в Linux (доп. ссылка 1)   Автор: Adam Palmer  [комментарии]
  Скрипт опробован в Debian Etch с установленными пакетами tc, iproute2 и bc. Задача скрипта равномерное распределения пропускной способности канала среди пользователей и повышения приоритета dns, ssh, smtp.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* IFB (аналог IMQ ) - основные команды для управления трафиком   Автор: Andrejs Spunitis  [комментарии]
  Считается что IFB идеологически более правильная реализация псевдо-устройства, чем IMQ. IFB по умолчанию доступна в дистре Fedora Core 6. IMQ требует патчить ядро, по умолчанию не доступна.
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Расчет размера очереди для pipe с заданной пропускной способностью (доп. ссылка 1)   [комментарии]
  > Работает шейпер на dummynet, наблюдается некотороая потеря > траффика. Hавскидку проблема в дефолтных значениях размера очереди (50 пакетов) > для pipe'ов от 32 до 512 Кбит\с. Скорее всего, поток не влезает в очередь и > часть пакетов отбрасывается. Как правильно рассчитать размер очереди для > каждого pipe в отдельности?
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Ограничение входящей и исходящей скорости (shaping) для клиентов на ppp интерфейсах.   Автор: Tangar aka Андрей Орлов  [комментарии]
 
Ограничение входящей и исходящей скорости (shaping) для клиентов на ppp интерфейсах.

   #!/bin/bash
   DEVICE=ppp9 UP=512 DOWN=512

   /sbin/tc qdisc del dev $DEVICE root
   /sbin/tc qdisc add dev $DEVICE root tbf rate ${DOWN}Kbit latency 50ms burst $[$DOWN*1024]

   /sbin/tc qdisc del dev $DEVICE handle ffff: ingress
   /sbin/tc qdisc add dev $DEVICE handle ffff: ingress
   /sbin/tc filter add dev $DEVICE parent ffff: protocol ip prio 50 u32 match ip src 0.0.0.0/0 \
      police rate ${UP}Kbit burst $[$DOWN*1024] drop flowid :1
 
----* Ограничение трафика через iptables (доп. ссылка 1)   Автор: Николай Малых  [комментарии]
  ipt_limit - общее ограничение по срабатываний правила
...
[Слишком большой объем текста. Скрыт. Для просмотра см. продолжение
]
 
----* Как ограничить пропускную полосу для пакетов помеченных меткой через MARK.   Автор: Denis Fedorishenko (NuclearCat)  [комментарии]
 
Сделать MARK, и загнать все такие трансферы в какой-либо класс шейпера. 
Т.е. если например помеченные пакеты - все их отнести к классу 1:51 где
скорость ограничена от 32К до 64К:
  tc filter add dev eth1 parent 1:0 protocol ip prio 100 handle 51 fw classid 1:51
  tc class add dev eth1 parent 1:2 classid 1:51 htb rate 32Kbit ceil 64Kbit
  tc qdisc add dev eth1 parent 1:51 handle 51 sfq perturb 10
 
----* Ограничения трафика с помощью iproute2 (доп. ссылка 1)   Автор: Z0termaNN  [комментарии]
 
tc qdisc add dev eth1 root handle 1: htb default 2 r2q 1
tc class add dev eth1 parent 1: classid 1:1 htb rate 10mbit ceil 10mbit mtu 1500
tc class add dev eth1 parent 1:1 classid 1:77 htb rate 32kbit ceil 48kbit mtu 1500 prio 0
tc class add dev eth1 parent 1:1 classid 1:2  htb rate 128kbit ceil 128kbit mtu 1500
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dport 25 flowid 1:77
 
----* Пример ограничения полосы пропускания трафика в FreeBSD   [комментарии]
 
Собираем ядро с опциями:
   options         DUMMYNET
   options         IPFIREWALL
Ограничиваем трафик для сеток 1.1.1.0/24 и 3.3.3.0/24 на 14000 кбит/с:
   ipfw add pipe 50 tcp from any to 1.1.1.0/24 via fxp0
   ipfw add pipe 50 tcp from any to 3.3.3.0/24 via fxp0
   ipfw pipe 50 config bw 14Kbit/s
Для внесения задержки на N ms, используйте delay N после config.
Для установки веса данного пайпа по отношению к другим пайпам используйте weight вес.
Для WF2Q ограничения трафика используйте ipfw queue
(queue N config [pipe pipe_nr] [weight weight] [queue {slots | size})
PS (комментарий от [email protected]):
 Если возникает необходимость организовать "канал" для каждого пользователя из данной сети то пишем:
ipfw pipe 10 config mask dst-ip 0x000000ff bw 1024bit/s  queue
ipfw add pipe 10 tcp from any to 1.1.1.0/24 via fxp0
Теперь каждый хост из сети 1.1.1.0/24 имеет свой канал 1024bit/s
 
----* Как запретить открывать более 30 соединений с одного IP   [комментарии]
 
Запретим более 30 коннектов для 80 порта сервера 1.2.3.4.
    ipfw add allow tcp from any to 1.2.3.4 80 limit src-addr 30
    ipfw add allow tcp from any to 1.2.3.4 80 via fxp0 setup limit src-addr 10
Вместо src-addr можно использовать src-port, dst-addr, dst-port
Конструкция работает в последних версиях FreeBSD 4.x ветки.
 
----* Ограничение трафика через iptables (доп. ссылка 1)   Автор: Z0termaNN  [комментарии]
 
iptables --new-chain car
iptables --insert OUTPUT 1 -p tcp --destination-port 25 -o eth1 --jump car
iptables --append car -m limit --limit 20/sec --jump RETURN
iptables --append car --jump DROP
 

 Версия для печати





Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру