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.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Releated

Munin + nginx + debian czyli monitorowanie serwerów

Munin jest bardzo prostym i przydatnym narzędziem służące do monitorowania aktywności serwerów. Przy jego pomocy możemy konfigurować dowolną ilość maszyn. Wynikiem działania są wykresy przedstawiające aktualny i historyczny stan systemu. Na podstawie wykresów możemy określić czy system pracuje stabilnie, możemy również obserwować jak wprowadzane zmiany wpływają na stan systemu.

Bitcoin node on Cubieboard

Sieć Bitcoina jest siecią P2P, składa się więc z węzłów – czyli komputerów, na których działa tradycyjny klient bitcoina , węzły te łączą się z innymi węzłami w sieci rozproszonymi w Internecie. Co się dzieje, gdy do sieci włącza się/dołącza się nowy węzeł czyli jeśli ktoś zainstaluje nowy portfel lub uruchomi już używany.