Войти через loginza
Закрыть панель

23

Июн

2011

Хешируемые списки iptables — ipset

Распечатать статью Разместил: spider. Рубрика Linux, сеть |

Давно хотел написать статью по ipset, но все как то руки не доходили.

А тема то для меня довольно интересная.

Да и намучался одно время  я достаточно с этим.

Итак — для чего оно вообще нужно ? И кому ?

Для этого рассмотрим немного теории.

Используется в основном это дело на маршрутизаторах с установленной ОС Linux.

Для того, чтоб выпустить клиента в сеть достаточно добавить в фаерволе всего несколько простых правил.

Например :

/sbin/iptables -t NAT -I POSTROUTING -s $IP_Client -o eth1 -j MASQUERADE
/sbin/iptables -I FORWARD -s $IP_Client -j ACCEPT
/sbin/iptables -I FORWARD -d $IP_Client -j ACCEPT

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

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

Для 1 или 100 клиентов это конечно не много и современные машины вполне спокойно справляются с такой нагрузкой.

Но представьте, что если клиентов 1000 или больше ?

Прежде чем выпустить хоть 1 пакет он должен пробежаться по ВСЕМ 3000 правилам. Почему 3000 — потому что для каждого клиента мы написали по 3 правила.

И чем больше клиентов, тем соответственно пакет не попадет в инет пока не пробежит по всем правилам.

А теперь представьте, что хотя бы половина клиентов использует программы p2p, где создается более 200-300 соединений для 1 клиента.

Вот тут я и понял что основной задачей стоит уменьшение правил фаервола.

Но как их уменьшить-то ?

Вот тут нам на помощь и приходит ipset.

Ipset представляет собой программу для работы с наборами адресов IP (IP set) в ядре Linux. Программа позволяет создавать, изменять и проверять наборы адресов IP, с которыми работает ядро Linux (включая netfilter/iptables). IP set может включать в себя адреса IP, номера портов TCP и UDP, а также дополнительную информацию.

От теории к практике.

Не знаю как на других дистрибутивах, но на Linux Ubuntu Server все ставится достаточно просто :

sudo apt-get install module-assistant
sudo apt-get install ipset-source
/sbin/m-a a-i ipset

вот и все что требуется — модули будут загружены и скомпилированы автоматически.

Что же делать дальше ?

А вот что :

Смотрим наши правила и заменяем их списками :

/sbin/ipset -N FFIN ipmap --network 192.168.0.0/16
/sbin/ipset -N FSNAT ipmap --network 192.168.0.0/16

Создаем 2 цепочки для форварда и для НАТа.

/sbin/iptables -t mangle -I FORWARD -m set --set FFIN src,dst -j ACCEPT
/sbin/iptables -t mangle -I FORWARD -m set --set FFIN dst,src -j ACCEPT
/sbin/iptables -t nat -A POSTROUTING  -m set --set FSNAT src -o $eWAN -j MASQUERADE

И ВСЕ.

Теперь только заполняем списки

/sbin/ipset -A FSNAT $IP_Client
/sbin/ipset -A FFIN $IP_Client

Теперь в фаерволе вместо 3000 правил реально будет только 3. ТРИ. Всего то 3 правила-списка.

Это колоссально снизит нагрузку на процессор.
Более детально про ipset можно почитать тут или

 man ipset
 

26

Янв

2011

15000 день unix эпохи

Распечатать статью Разместил: spider. Рубрика Linux, Новости |

Сегодня, 26 января, в полночь по GMT, наступил 15000 день от начала летоисчисления Unix машин. Юниксоиды всех стран встречаются, празднуют, проводят массовые гуляния и гадают. Встречи локальных групп можно найти на специальном сайте, посвящённом этому знаменательному дню.
День можно посмотреть командой:

$ echo `date +%s`/86400|bc
Время временем, но и о работе подумать не мешало бы. работа в Магнитогорске, или в любом другом городе. Очень советую не откладывать в долгий ящик, а просто зайти и выбрать. Или подать новое объявление. Доска бесплатных объявлений - это очень удобный способ быстро найти работу, машину, компьютер или комплектующие к нему. Главное в этом - удобный поиск, и гибкие настройки профиля.
 

25

Янв

2011

Lenovo — звук в наушниках

Распечатать статью Разместил: spider. Рубрика Linux | 2 коммент. »

Установил на ноутбук Lenovo g650 Linux Ubuntu 10.04.

Настроил. Все работает — пока я не столкнулся с проблемой :

При включении наушников звук продолжает идти как через наушники , так и через встроенные динамики.

Т.е. звук не отключается с динамиков при подключении наушников.
Возможные проблемы и их решение

Если звука по прежнему нет, то нужно добавить в файл /etc/modprobe.d/alsa-base.conf одно из следующих значений:

Для этого в терминале:

sudo gedit /etc/modprobe.d/alsa-base.conf

Добавляем в конце строчку с одним из значений:

options snd-hda-intel model="значение"

Для меня этого оказалось достаточно.
Перепробовал я разные модели, для меня спасительным оказалась — «Ideapad»:

options snd-hda-intel model="ideapad"

Какие еще варианты есть можно посмотреть в оригинале статьи : http://help.ubuntu.ru/wiki/alsa
Для кого — нет — читаем дальше :

Читать запись полностью »