1.2, Mihail (??), 14:18, 17/02/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А смысл делить по geoip если провайдер делит по bgp. Может быть в Латвии у всех анлим, то сдесь приходится считать каждый мегабайт и быть уверенным что пиринговый траф. не пойдет через бугор. Статья - так себе, прочитал и сделал по своему. Тут другая задача есть список сетей (локальный траф ~1200 сетей класса /22 - /23, провайдер отдает в виде файла (обновляется каждые 10 минут)). На провайдера есть канал по которому идет и локал траф и бугор. Задача как красиво зашейпить к примеру 1мбит локал траф. и 256 бугор, чтобы не плодить туеву кучу правил в фаерволе (маркирование пакетов идущих/уходящих с/на сети из списка ~1200 и последующим заворачиванием их в нужный класс) ?
| |
|
2.3, _Ale_ (??), 14:42, 17/02/2006 [^] [^^] [^^^] [ответить]
| +/– |
например, сменить ОС, которая поддерживает фильтр PF - красиво зашейпить все что надо... | |
|
3.4, Andrejs Spunitis (?), 15:06, 17/02/2006 [^] [^^] [^^^] [ответить]
| +/– |
Быстрым решением, как мне кажется, может быть создание своей
GeoIPCountryWhois.csv в принципе её вид протой, наример:
"222.166.0.0","222.167.255.255","3735420928","3735551999","HK","Hong Kong"
"222.168.0.0","222.223.255.255","3735552000","3739222015","CN","China"
...................................
только вместо IP-адресов поставить провайдерские на зарубежку.
В написанной статье, главный уклон не был сделан на "ДЕЛАЙ КАК Я",
а были приведены QuickStart по iptables, geoip, iproute2, layer-7
которые помогут _начинающему_ админимтратору реализовывать свои задачи.
Если Михаилу материал помог быстро овладеть выше перечисленным и сделать
на этой основе по своему, то я полагаю, что цель статьи достигнута.
| |
|
2.9, AndyS1976 (?), 13:12, 19/02/2006 [^] [^^] [^^^] [ответить]
| +/– |
Решение проблемы крайне тривиальное,
По адресу:
http://www.dzti.edu.lv/isp-serv/index.php?l=5
выложил исходники к написанной пограмме, которая на основание файла
содержащего местные сети сгененирует файл CVS, который в дальнейшем
можно использовать для создания файлов geoipdb.idx и geoipdb.bin,
которые используются geoIP.
Тем самым geoIP позволяет уменьшить список правил в iptables.
| |
|
1.5, EDSKA (??), 15:39, 17/02/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Nu ja ispolzuju IMQ a opredeliaju bugor/local po REALM .... i v sootvetstvije s REALM kidaju v nuznij IMQ device ... | |
|
2.18, Прополис (?), 23:35, 13/03/2006 [^] [^^] [^^^] [ответить]
| +/– |
А realm'ы для префиксов как задаете?? Может, можно проще, а я патчил zebra'у... | |
|
|
2.12, Andrejs Spunitis (?), 09:49, 27/02/2006 [^] [^^] [^^^] [ответить]
| +/– |
> Хороший и грамотный набор статей
Спасибо за лестные слова, постараюсь держать в том же духе,
поэтому написал статью:
Увеличение скорости загрузки сервера или "Потрошим загрузочные скрипты Fedora Core 4"
http://www.dzti.edu.lv/isp-serv/index.php?l=6
В которой продолжается тема создания сервера для ISP (internet service provides), только теперь под прицелом оказались загрузочные скрипты Fedora Core 4.
| |
|
|
4.20, Andrejs Spunitis (?), 08:35, 16/03/2006 [^] [^^] [^^^] [ответить]
| +/– |
Может и можно, но в первую очередь я не уверен что CLASSIFY
имеет теже потенциалньные возможности что и filter:
1) создание приоритетов для пакетов принадлежащих одному классу (prio 1), для
рассматриваемого в статье случая это очень важно, поскольку например внутри трафика
принадлежащего HTTP, есть скачка фильмов, а серфинг будет тормозить, не говоря о DNS
пакетах. Команда:
./ipr filter add dev $DEV_LAN protocol ip parent 1:0 prio 1 handle 1 fw flowid 1:10
2) указание скорости (rate 32000bps) для принятия решения (дропаться или приниматься)
3) Минимальный размер обрабатываемого объекта (mpu)
4) Размер буфера пакетов (burst)
А CLASSIFY имеет ту же функциональность ? | |
|
5.21, Прополис (?), 00:19, 17/03/2006 [^] [^^] [^^^] [ответить]
| +/– |
Здравствуйте!
Я, возможно, не совсем корректно выразился, конечно же 100% CLASSIFY фильтры не заменит, хотя бы потому, что CLASSIFY ограничен возможностями iptables. Но в 60% случаев без фильтров можно обойтись, и результат будет не хуже, но нагляднее и проще для понимания. Тем более, что CLASSIFY не нужно ставить отдельно, как p-2-p модули.
PS: А вообще, статьи супер, Thnx! Когда n лет назад разбирался с tc, из доки были только LARTC и the source is best documentation :(( | |
|
|
|
|
1.8, Skif (ok), 21:59, 17/02/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
не линуксоид но цикл почитал. неплохо, доходчиво. с некоторыми моментами я бы поспорил, но в виду невысокой продвинутости в линуксе отнесу на свою неграмотность :) | |
1.10, Slayer605 (?), 14:36, 21/02/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
# защита от провайдерства интернета
$ipt -A INPUT -i eth1 -m ttl --ttl-lt 128 -j DROP
$ipt -A INPUT -i eth1 -m ttl --ttl-gt 128 -j DROP
есть модуль который меняет TTL :)
PS а если человек честно использует ОС не видновс? 128 ? | |
1.13, nrvalex (?), 19:35, 27/02/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
>echo "Attach qdisc: esfq to class id: 10 for WAN"
>./ipr qdisc add dev eth1 parent 1:0 handle 10 esfq perturb 5 hash dst
с 1го компа 100 сессий на 100 ip
со 2го 1 сессия
1:100 это равномерное разделение полосы ?
| |
|
2.15, Andrejs Spunitis (?), 11:00, 02/03/2006 [^] [^^] [^^^] [ответить]
| +/– |
Полоса делится между IP адресами, вне зависимости от того
сколько сессий с IP. Приведенный Вами пример это по сути дело
то что реализует SFQ (станлдартное поставляемое с дистрибутивом)
а в статье рассматривается ESFQ. В статье приведен хороший ресурс
по теории управления трафиком
Теория iproute2 изложена в статье "повесть о Linux и управлении трафиком" по адресу:
http://www.nestor.minsk.by/sr/2003/12/31208.html
| |
|
3.16, nrvalex (?), 20:06, 02/03/2006 [^] [^^] [^^^] [ответить]
| +/– |
В статье для исходящего трафика рассматривается ESFQ с "hash dst" !
с 1го компа 100 сессий на ip1
со 2го 1 сессия на ip0
50/50 ок
с 1го компа 100 сессий на ip1,ip2,ip3...ip100
со 2го 1 сессия на ip0
100/1 ?
для исходящего трафика нужно использовать "hash src".
если NAT, то через псевдо-интерфейс IMQ
http://www.linuximq.net/
http://wiki.nix.hu/cgi-bin/twiki/view/IMQ/ImqFaq#Can_I_change_the_way_IMQ_hoo
ip link set imq0 up
iptables -t mangle -A POSTROUTING -o eth1 -j IMQ --todev 0
DEV_WAN=imq0
tc qdisc add dev $DEV_WAN root handle 1:0 htb default 50
....
tc qdisc add dev $DEV_WAN parent 1:40 esfq perturb 5 hash src
...
| |
|
4.17, Andrejs Spunitis (?), 17:32, 03/03/2006 [^] [^^] [^^^] [ответить]
| +/– |
Да Вы правы!
надо ограничивать по сути дела входной трафик который поступает
из ЛВС на NAT-сервер по hash src. Но поскольку где в инете
промелькнула заметка что IMQ не совсем хорошо может дружить с последними
ядрами, то упростил слегка задачу.
Вообще в найденных в инете скриптах иногда можно увидеть
что делают hash src, но при случае NAT получается src один
на кучу пользователей.
Из практикического применения предлагаемый в статье подход
срабатывает, по всей видимости из за того что в основном качают внутрь
ЛВС а не наоборот (поскольку использование NAT всетаки накладывает
ограничения на upload).
Спасибо
постараюст проверить на практике, и если все сработает,
то обновлю материал в статье
ЗЫ
а этого вопроса я давно ожидал :) молодец!
| |
|
|
|
1.23, Alex (??), 02:09, 28/03/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Можно коментарий по "firewall & защита от смены IP" ?
Скрипт с awk что делает ?
Как должна выглядить ips.cfg и ip-mac-tab ?
с уважением | |
1.24, Andrejs Spunitis (?), 14:48, 28/03/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Разрешение IP-MAC
ips.cfg, запрещаем все, за исключением
!10.10.10.8@00:50:BA:49:B9:42
!10.10.10.7@00:01:A4:49:19:34
!10.10.10.23@00:03:42:43:11:31
и так далее
ip-mac-tab
Объяснения есть в статье "Привязка IP к MAC адресу"
http://www.opennet.me/tips/info/750.shtml
там не работает
# обнуляем всю таблицу arp
arp -ad > null
поэтому очищаем таблицу awk скриптом
for i in 'awk -F ' ' '{ if ( $1 ~ /[0-9{1,3}].[0-9{1,3}].[0-9{1,3}].[0-9{1,3}]/ ) print $1 }' /proc/net/arp' ; do arp -d $i ; done
и вместо предлагаемого в статье "Привязка IP к MAC адресу"
while [ $I -le 254 ]
do
arp -s 192.168.0.${I} 0:0:0:0:0:0
I='expr $I + 1'
done
arp -f /etc/ethers.local
создаем в excell
arp -s 10.10.10.1 0:0:0:0:0:0
arp -s 10.10.10.2 0:0:0:0:0:0
.....
# arp -s 10.10.10.8 00:40:A1:43:B4:49
.....
arp -s 10.10.10.9 00:D0:B7:3B:27:78
arp -s 10.10.10.10 00:00:00:00:00:00
.....
| |
1.25, Alex (??), 18:53, 28/03/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Спасибо.
Я правильно понимаю - надо потом каждого пользователя
вручную прописывать и в ip-mac-tab и в ips.cfg ? | |
|
2.26, Andrejs Spunitis (?), 19:14, 28/03/2006 [^] [^^] [^^^] [ответить]
| +/– |
Абсолютно верно,
только в скрипте ip-mac-tab всем свободным ip присвоен мак 00:00:00:....
А в ips.cfg надо для каждого пользователя сделать запись.
Насколько я разобрался, подобная реализация на уровне arp просто облегчит загрузку сервера, хотя можно и в iptables было лы прописать все существующие маки пользователей, но сам по себе iptables изначально создавался для протокола tcp/ip
В принципе можно обойтись только ip-sentinel, поскольку она раньше всех перехватывает незарегестрированный ip-mac. | |
|
1.28, fufnf (ok), 21:33, 23/08/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Скажите, а можно каким-то средством посмотреть сколько какому пользователю выделено полосы? | |
1.29, fufnf (ok), 19:25, 24/08/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Простите, уже нашел прочитав предыдущую часть Вашей статьи.
Вы на форуме задавали вопрос как прикрутить connbytes к новым ядрам, ответа не получили, но все равно используете этот модуль в вашей статье. Значит Вы нашли решение? Тогда почему бы не упомянуть о нем в статье. Пришлось самому разбираться, случайно наткнулся на http://patchwork.netfilter.org/netfilter-devel/patch.pl?id=3482
который фиксит проблему.
Хочу задать вопрос по Layer-7. Вы проверяли насколько точно он классифицирует траффик, в особенности FTP. По моим наблюдениям ужасно:
http://www.opennet.me/openforum/vsluhforumID1/68420.html
Хочу выразить огромную благодарность за статью. К сожалению, когда я начинал свое знакомство с линукс ее не было под рукой, так что приходилось самому догадываться о многом. Пожалуй, по теме настройки интернет-шлюза она лучшая в РУ-нете (еще бы тему сквида упомянуть не мешало...). | |
1.30, fufnf (ok), 23:05, 28/08/2006 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Насколько я понял, в статье серьёзная ошибка связанная с тем предположением, что приоритет фильтров как-то влияет на приоритет трафика. На самом деле приоритет фильтров для того, чтобы делать, например, такие вещи при фильтрации пакетов:
tc filter add dev eth1 parent 1 protocol ip prio 0 handle 1 fw flowid 1:1
tc filter add dev eth1 parent 1 protocol ip prio 0 handle 2 fw flowid 1:1
tc filter add dev eth1 parent 1 protocol ip prio 1 u32 match ip src 0.0.0.0/0 flowid 1:2
Если я не прав, поправьте. | |
|
2.31, Аноним (31), 03:24, 01/09/2006 [^] [^^] [^^^] [ответить] | +/– | Начну по порядку с выходом нового ядра, и использованием указанных пакетов про... большой текст свёрнут, показать | |
|
3.32, fufnf (ok), 15:17, 01/09/2006 [^] [^^] [^^^] [ответить]
| +/– |
>с выходом нового ядра, и использованием указанных пакетов
>проблема connbytes сама собой решилась, в указанных пакетах ошибка это была исправлена,
>
>именно это меня и сподвигло на обновление материалла
>(ни какого утаивания информации не было, не мой стиль)
Довольно странно, но с этой проблемой я столкнулся, хотя ядро у меня 2.6.17.9. К тому же по ссылке, которую я привел (http://patchwork.netfilter.org/netfilter-devel/patch.pl?id=3482)фиксится именно моя проблема, так что думаю, я не одинок.
>пример указанный Вами с одинаковым приоиритетом пакеты с меткой 1 и 2
>
>направляет классу 1:1 что собственно и верно,
>а пакеты у которых src 0.0.0.0/0 в класс 1:2
Prio в описании фильтрах говорит о приоритетности фильтров, т.е. устанавливает порядок следования одних фильтров за другими (какой фильтр работает за каким).
>а пакеты у которых src 0.0.0.0/0 в класс 1:2
Как вы понимаете такой фильтр означает "любой пакет", но в контексте 2 фильтров с более высоким приоритетом, чем у данного это означает "любой пакет, который не имеет метки 1 или 2.
| |
|
|
5.34, andyS1976 (??), 23:56, 03/09/2006 [^] [^^] [^^^] [ответить]
| +/– |
Да, я действительно не правильно понял следующую фразу из приведенного Вами документа:
prio
Приоритет классификатора. Чем меньше число -- тем выше приоритет.
Уже давно не занимался этой темой, и сейчас признаюсь что мне самому не понятно
следующая ситуация:
к примеру у меня есть два класса А и Б
есть два фильтра с одинаковым приоритеотом,
для двух этих фильтров условия фильтрации срабатывают,
тогда непонятно по какому критерию будет принято решение
в какой класс будет направлен пакет???
ЗЫ
Век живи, век учись.... | |
|
6.35, fufnf (ok), 00:51, 04/09/2006 [^] [^^] [^^^] [ответить]
| +/– |
>к примеру у меня есть два класса А и Б
>есть два фильтра с одинаковым приоритеотом,
>для двух этих фильтров условия фильтрации срабатывают,
>тогда непонятно по какому критерию будет принято решение
>в какой класс будет направлен пакет???
И сразу же напрашивается встречный вопрос: зачем создавать 2 класса с одинаковым контентом и, если такие классы создаются, то зачем назначать их фильтрам одинаковый приоритет?
Так что вопрос Ваш теоретический скорее. Зависит от того как iproute2 формирует список фильтров с одинаковыми приоритетами (возможно по порядку создания, возможно по алфавиту или по номеру класса - вобщем вариантов много). | |
|
7.36, andyS1976 (??), 01:12, 04/09/2006 [^] [^^] [^^^] [ответить]
| +/– |
Вопрос был чисто теоритическим,
а Вам удалсь решить свою проблему по игре в контрол страйк?
| |
|
8.37, fufnf (ok), 22:47, 04/09/2006 [^] [^^] [^^^] [ответить] | +/– | Ну проблема у меня не чисто по КС - моя задача обеспечить приоритетом некоторый ... текст свёрнут, показать | |
|
|
|
|
|
|
|
1.38, koffu (??), 16:54, 20/03/2008 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Что-то не могу найти как сохранить настройки после прописывания в tc, ip. Подскажите куда копать?
| |
|