Home > Linux > Kompilacja kernela + iptables + string patch

Kompilacja kernela + iptables + string patch

KERNEL – jądro monolityczne często stosowane w systemach typu Unix. Wszystkie zadania są wykonywane przez jądro, będące jednym, dużym programem działającym w trybie jądra. Przykładami takiego jądra mogą być: Linux, OpenBSD, FreeBSD, chociaż większość posiada umiejętność dołączania i odłączania modułów (najczęściej zawierających kod sterownika urządzenia lub obsługi potrzebnego w danej chwili systemu plików).
Zaletą tej techniki jest prostota, stabilność, łatwość komunikacji pomiędzy różnymi członami jądra (to przecież w tym wypadku jeden program!). Wadą jest, w późniejszym stadium rozwoju projektu, uciążliwość w rozwijaniu programu oraz w znajdywaniu błędów.

  1. Ściągamy do katalogu /usr/src/:
    - Źródła najnowszego kernela np.: linux-2.4.26.tar.gz
    - patch-o-matic-ng-20040302.tar.bz2
    - iptables-1.2.9.tar.bz2
  2. Rozpakowujemy wszystko:
    - # tar zxvf linux-2.4.26.tar.gz
    - # bzcat patch-o-matic-ng-20040302.tar.bz2 | tar xvf -
    - # bzcat iptables-1.2.9.tar.bz2 | tar xvf -
  3. Tworzymy dowiązania symboliczne:
    - # ln -s /usr/src/linux-2.4.26 /usr/src/linux
    - # ln -s /usr/src/iptables-1.2.9 /usr/src/iptables
  4. Przechodzimy do patch-o-matic
    - # cd /usr/src/patch-o-matic-ng-20040302
  5. Wydajemy polecenie # ./runme extra
    - na pytanie o ścieżki do iptables i kernela naciskamy enter
    - naciskamy cały czas n (chyba że chcemy jeszcze coś doinstalować), a gdy pojawi się pytanie o string wybieramy y
    - na koniec powinno się ukazac: Excellent! Source trees are ready for compilation.
  6. Wydajeny polecenia
    - # cd ..
    - # cd linux
    - # make menuconfig
  7. Teraz nadszedł czas na konfigurację kernela, musi być zaznaczona opcja:
    - Code maturity level options —> [*] Prompt for development and/or incomplete code/drivers
    bo bez tego nie pojawi się nam string.
  8. Zaznaczamy:
    - Networking options —> [*] Network packet filtering (replaces ipchains)
    - Networking options —> IP: Netfilter Configuration —> <*> String match support (EXPERIMENTAL) (NEW)

    dodatkowo dobrze jest zaznaczyć:
    - Network Options –> QoS and/or fair queueing
    [*] CBQ packet scheduler (NEW)
    [*] HTB packet scheduler (NEW)
    [*] QoS support (NEW)

  9. Kompilacja kernela:
    - # make clean dep bzImage modules
    - # make modules_install
  10. Instalacja kernela:
    - # cp /usr/src/linux/System.map /boot/System.map-2.4.26
    - # cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.4.26
  11. Kompilacja i instalacja iptables
    - # cd ..
    - # cd iptables
    - # make KERNEL_DIR=/usr/src/linux/ PREFIX=/usr/local/iptables
    - # make install
    - # make install-devel
  12. Blokowanie Kazzy za pomoca opcji string, do firewalla dopisujemy:
    - iptables -A FORWARD -m string –string ‘KaZaA’ -j DROP
    - iptables -A FORWARD -m string –string ‘X-Kazaa’ -j DROP
  13. Coś nie działa ?
    - w /lib/modules/2.4.26/kernel/net/ipv4/netfilter powinien sie znajdować plik ipt_string.o
    - w katalogu z bibliotekami iptables: /usr/local/iptables/lib/iptables powiniem być plik libipt_string.so
    - jesli nie ma tych plikow można jeszcze poszukać ich w /usr/src/iptables i skopiować ręcznie.
Kategorie:Linux Tagi:,
  1. Brak komentarzy
  1. Brak jeszcze trackbacków
*