LINUX-BG Адрес : http://www.linux-bg.org |
Използване на IPSET, IPTABLES и IPMARK |
От: Vladsun Публикувана на: 24-10-2006 Адрес на статията: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=386924398 |
1. Увод Статията има за цел да популяризира използване на мощния инструмент за филтриране в iptables - ipset. Благодаря на Наско (atanas __точка__ tsonkov (a) gmail __точка__ com) за насоката, която ми даде в една моя предишна статия. Обяснения по отношение на IPMARK и съответнияt начин на ползването му съвместно с tc можете да намерите в Оптимизация на iptables и tc правила. Повече информация за възможностите на ipset можете да намерите в http://ipset.netfilter.org или "man ipset". Предимството при ползване на ipset, съвместно с iptables, се изразява в повишената производителност при едни и същи системни ресурси. Това се дължи на факта, че ipset използва хеширане за да определи дали даден адрес (src/dst) на конкретен пакет се намира в определено множество или не. При iptables това става с линейно търсене, което е много неефективно. Предимствата при използване на ipmark, съвместно с tc, са разгледани в гореспоменатата статия. 2. Инсталация Следвайте инструкциите дадени в http://ipset.netfilter.org/install.html и традиционното пачване с PoM - ./runme IPMARK. При мен след няколко опита всичко (iptables, ipset и ipmark) мина добре с ядро 2.6.15.7. След успешния опит не съм правил проверка, дали с други, по-нови ядра компилацията минава добре. 3. Приложение 3.1. Разделяне/маркиране на международен и български трафик В скриптове използвани с тази цел, които съм виждал, не се използва IPSET (освен в примерите на Наско). Веднага давам пример как да стане това:
Създадохме адресен списък на префиксите на мрежите в българското Интернет пространство. Следващата стъпка е да маркираме трафика на всеки отделен потребител. Нека имаме случай с една С-клас мрежа:
3.2. Контрол върху Интернет достъпа В тази част ще разгледаме как да контролираме Интернет достъпа на всеки потребител. Отново ще използваме ipset:
Разрешаването на достъпа до Интернет за ИП от тази мрежа става чрез една единствена команда:
3.3. MAC/IP филтриране IPSET позволява създаване на списък от IP/MAC чифтове. По този начин можем да контролираме (в известна степен) коректното използване на Интернет достъпа от всеки потребител. В примера отново е използвано пренасочване на трафика за порт 80 към дефинирана от вас страница.
Във файла /var/log/messages ще намерите съобщенията за несъответстващите IP/MAC чифтовете. Добавяне на MAC/IP чифт става по следния начин:
В статията не са разгледани възможностите на IPSET за създаване на адресни списъци свързани със списъци на портове. Това оставям на вас :P. << Домашната безжична мрежа и ADSL на БТК | Достъп до уеб ресурси чрез Х.509 идентификация >> |
Авторите на сайта, както и техните сътрудници запазват авторските права върху собствените си материали публикувани тук,
но те са copyleft т.е. могат свободно да бъдат копирани и разпространявани с изискването изрично да се упоменава името на автора,
както и да се публикува на видно място, че те са взети от оригиналния им URL-адрес на този сървър (http://www.linux-bg.org). Авторските права на преводните материали принадлежат на техните автори. Ако с публикуването тук на някакъв материал неволно са нарушени нечии права - след констатирането на този факт материалът ще бъде свален.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|