The OpenNET Project / Index page

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

Добавление поддержки IP sets и пересборка ядра в Debian GNU/Linux
Настроим IP sets (http://ipset.netfilter.org/) в Debian.  Ipset позволяет использовать 
большие таблицы IP и MAC адресов, подсетей номеров портов совместно с iptables
(подключение через одно
правило, в таблице используется хэширование). Возможно быстрое обновление списка целиком. 

Например:
   ipset -N servers ipmap --network 192.168.0.0/16
   ipset -A servers 192.168.0.1
   iptables -A FORWARD -m set --set servers dst,dst -j ACCEPT

Ставим исходные тексты ядра и устанавливаем необходимые для сборки пакеты:

   # apt-get install kernel-package libncurses5-dev fakeroot

   /usr/src# REV=`date +%F`
   /usr/src# KV=2.6.29

   /usr/src# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-${KV}.tar.bz2 
   /usr/src# wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-${KV}.tar.bz2.sign
   /usr/src# gpg --verify linux-${KV}.tar.bz2.sign

   /usr/src# tar xvjf linux-${KV}.tar.bz2
   /usr/src# ln -s linux-${KV} linux

Устанавливаем патчи ipset:

   # cd /usr/src/
   src # aptitude install git-core ipset
   src # git clone git://git.netfilter.org/ipset.git
   src # cd ipset/
   ipset # make KERNEL_DIR=/usr/src/linux patch_kernel
   cd kernel; ./patch_kernel /usr/src/linux

Собираем ядро:

   ipset # cd /usr/src/linux
   /usr/src/linux# make-kpkg clean
   /usr/src/linux# make menuconfig
   /usr/src/linux# cp .config ~/

Отвечаем yes на все что нам нужно.

Начинаем непосредственно компиляцию:

   /usr/src/linux# fakeroot make-kpkg --revision=${REV} kernel_image

Пьем чай. Спокойно. Оно заканчивается:

   dpkg --build /usr/src/linux/debian/linux-image-${KV} ..
   dpkg-deb: building package `linux-image-${KV}' in `../linux-image-${KV}_${REV}_amd64.deb'.
   make[2]: Leaving directory `/usr/src/linux-${KV}'
   make[1]: Leaving directory `/usr/src/linux-${KV}'

   /usr/src/linux# 
   /usr/src/linux# dpkg -i ../linux-image-${KV}_${REV}_amd64.deb

Если не получилось, удаляем и компилируем с той же ${REV}:

   /usr/src/linux# dpkg -r linux-image-${KV}
   /usr/src/linux# REV=`date +%F`
   /usr/src/linux# rm -fr debian/
   /usr/src/linux# make menuconfig 

И так далее как было выше.

После установки обновляем конфиг grub:

   /usr/src/linux# update-grub 

   Searching for GRUB installation directory ... found: /boot/grub
   Searching for default file ... found: /boot/grub/default
   Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
   Searching for splash image ... none found, skipping ...
   Found kernel: /vmlinuz-${REV}
   Updating /boot/grub/menu.lst ... done

Обязательно проверяем и перезагружаемся:

   /usr/src/linux# cat /boot/grub/menu.lst
   /usr/src/linux# reboot

Заключительный тест:

   ~ $ ping server

Debian 5.0 (Lenny и ipset).



Дополнение от pavel_simple:

В Debian 5.0 (Lenny), модулей ipset как таковых нет. Вместо этого имеется всё необходимое,
чтобы ими можно было воспользоваться.

1. устанавливаем пакеты.

   #apt-get build-dep netfilter-extensions-source
   #apg-get install netfilter-extensions-source
   #cd /usr/src
   #tar xjf netfilter-extensions.tar.bz2

2. собираем и устанавливаем

   #m-a a-i netfilter-extension

3. пользумся
 
08.04.2009 , Автор: sanmai , Источник: http://sanmai.livejournal.com/50650...
Ключи: linux, debian, kernel, dpkg, ipset, patch
Раздел:    Корень / Администратору / Система / Linux специфика / Установка и работа с пакетами программ в Linux

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, Аноним (-), 01:23, 10/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да уж... IPSets это круто, но пока они обновяцца... Можно сдохнуть. Живой пример - зажим мирового трафика и украинский анлим... Пока мы с кошки получаем список префиксов и запуливаем его в IPSets (ну не умеют кошки нормально резать полосу, а умеющие стОят денех, как маленький провайдер со своей клиентской базой), проходит как раз столько времени, сколько надо, чтобы быстренько повесицца на ближайшем патч-корде...
     
     
  • 2.2, pavel_simple (ok), 03:32, 10/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Да уж... IPSets это круто, но пока они обновяцца... Можно сдохнуть. Живой
    >пример - зажим мирового трафика и украинский анлим... Пока мы с
    >кошки получаем список префиксов и запуливаем его в IPSets (ну не
    >умеют кошки нормально резать полосу, а умеющие стОят денех, как маленький
    >провайдер со своей клиентской базой), проходит как раз столько времени, сколько
    >надо, чтобы быстренько повесицца на ближайшем патч-корде...

    ммм... а вы наверное таблицы заполняете через... ммм жопу а не через restore, угадал?

     

  • 1.3, anonymous (??), 11:20, 10/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не трушно. Надо создать патч-пакет для ipset и дальше юзать:

    fakeroot make-kpkg --revision=${REV} --added-patches ipset kernel_image

     
     
  • 2.4, pavel_simple. (?), 13:49, 10/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Не трушно. Надо создать патч-пакет для ipset и дальше юзать:
    >
    >fakeroot make-kpkg --revision=${REV} --added-patches ipset kernel_image

    ещё один... и что при обновлении пересобирать весь kernel?

    вы до конца прочитали?

     

  • 1.5, анонимус (?), 22:12, 10/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а что такое #m-a a-i ?
     
     
  • 2.8, PavelR (??), 22:28, 11/04/2009 [^] [^^] [^^^] [ответить]  
  • +/

    module-assistant auto-install
     

  • 1.6, pavlinux (ok), 11:55, 11/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А типа не судьба

    make config
    make
    make modules_install
    make install
    vi /boot/grub/menu.lst
    init 6


    или без fakeroot не кошерно?


     
     
  • 2.7, pavel_simple. (?), 21:39, 11/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    pavlin не читатель, павлин пейсатель -- для тупых и не умеющих читать до конца -- громко-громко

    НЕ НУЖНО переделывать kernel чтобы поставить ipset в Debian. А так-же НЕ НУЖНО слушать/читать всякую херню которою постят на opennet'е. И ДА - НУЖНО читать документацию.

     
     
  • 3.9, pavlinux (ok), 23:05, 12/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Не слушайте бяку...

    1. ядро демьяна выкидываем нах... как исходники так и бинарник
    2. качаем последнюю ванилу
    3. патчи которые нужны.
    4. компилем.

    И при следующем apt-get upgrade ваша система и настрокйи ipset не грохнутся, потому как ВЫ контролируете когда и что обновлять! Особенно ядро!

     
     
  • 4.10, pavel_simple (ok), 23:58, 12/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Не слушайте бяку...
    >
    >1. ядро демьяна выкидываем нах... как исходники так и бинарник
    >2. качаем последнюю ванилу
    >3. патчи которые нужны.
    >4. компилем.
    >
    >И при следующем apt-get upgrade ваша система и настрокйи ipset не грохнутся,
    >потому как ВЫ контролируете когда и что обновлять! Особенно ядро!
    >

    именно -- не слушайте.  для павнина и извращенцев есть lfs

     
     
  • 5.11, pavlinux (ok), 11:50, 13/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >>Не слушайте бяку...
    > не слушайте.  для павнина и извращенцев есть lfs

    Бе-бе-бе :-P

     
     
  • 6.12, pavel_simple (ok), 12:49, 13/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Не слушайте бяку...
    >> не слушайте.  для павнина и извращенцев есть lfs
    >
    >Бе-бе-бе :-P

    Ж:-)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




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

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