Zarejestruj się na BitBay.net
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

*