Jak zainstalowa

Archiwalne, stare wpisy FAQ i HowTo Użytkowników
Piotrus
Posty: 5
Rejestracja: 27 sierpnia 2007, 14:24

Jak zainstalować ipt_account, ipt_ipp2p oraz ipt_connlimit

Post autor: Piotrus »

Instalacja wymienionych patchy jest trochę "męcząca", a jak wiadomo, są one bardzo przydatne. Wg. dostępnych opisów sprowadza się do ponownej kompilacji jądra jak i iptables. Trochę to czasochłonne, zwłaszcza, gdy coś "pójdzie nie tak" i trzeba kilka razy powtarzać kompilację. ;)

Mam nadzieję, że komuś się mój opis przyda...

W załącznikach zamieściłem:

1. Oryginalne ipt_account
2. Poprawione ipt_ipp2p (zmiana kompilatora z ld na gcc)
3. Wyciągnięte ipt_connlimit z bieżącego patch-o-matic-ng i przerobione tak, aby instalowało się na wzór ipt_ipp2p

Oczywiście możecie to wszystko zrobić sami, ale po co się męczyć ;)

Do dzieła:

1. Zainstaluj jądro (domyślne dla etcha na dzień 27.08.07) oraz pakiet iptables, iptables-dev i linux-headers dla aktualnego jądra

Kod: Zaznacz cały

aptitude install linux-image-2.6.18-5-686 linux-headers-2.6.18-5-686 iptables-dev
Jeśli zmieniłeś wersję jądra, uruchom lilo i zresetuj serwer aby załadować nową wersję jądra.

2. Zainstaluj pakiety potrzebne do hipotetycznej kompilacji iptables

Kod: Zaznacz cały

apt-get build-dep iptables
3. Skopiuj archiwa z tego opisu (ipp2p, connlimit, ipt_account) do katalogu /usr/src

4. Rozpakuj archiwa

Kod: Zaznacz cały

tar xvf connlimit-1.3.6.tar.gz
tar xvf ipt_account-0.1.21-20070722011330.tar.gz
tar xvf ipp2p-0.8.2.tar.gz
5. Usun archiwa z katalogu /usr/src, nie będą już potrzebne. W katalogu /usr/src utworzą się pliki 2.6.x, pozostaw tylko ten, który odpowiada twojej wersji jądra. Wersję możesz sprawdzić tak:

Kod: Zaznacz cały

uname -r
6. Instalujemy connlimit:

Kod: Zaznacz cały

cd /usr/src/connlimit-1.3.6
make
Skomplilowane pliki kopiujemy tam gdzie trzeba:

Kod: Zaznacz cały

cp ipt_connlimit.ko /lib/modules/2.6.18-5-686/kernel/net/ipv4/netfilter/
cp libipt_connlimit.so /lib/iptables/
Na koniec, żebyśmy mogli korzystać z nowego modułu jądra:

Kod: Zaznacz cały

depmod -a

7. Instalujemy ipp2p:

Jeśli korzystasz z oryginalnego archiwum, a nie zamieszczonego przeze mnie, musisz wykonać małą poprawkę w pliku Makefile. W jednej z ostatnich linijek jest instrukcja kompilacji. Zamiast kompilatora ld, użyj $(CC). Jeśli tego nie zrobisz, iptables nie będzie w stanie korzystać z ipp2p. Jeśli ściągnąłeś moje archiwum, nie musisz się tym martwić.

Kod: Zaznacz cały

cd /usr/src/ipp2p-0.8.2/
make
Skomplilowane pliki kopiujemy tam gdzie trzeba:

Kod: Zaznacz cały

cp ipt_ipp2p.ko /lib/modules/2.6.18-5-686/kernel/net/ipv4/netfilter/
cp libipt_ipp2p.so /lib/iptables/
Na koniec, żebyśmy mogli korzystać z nowego modułu jądra:

Kod: Zaznacz cały

depmod -a
8. Instalujemy ipt_account

Kod: Zaznacz cały

cd /usr/src/2.6.18/iptables/
make && make install

cd /usr/src/2.6.18/kernel/
make KERNEL_DIR=/usr/src/linux-headers-2.6.18-5-686
make KERNEL_DIR=/usr/src/linux-headers-2.6.18-5-686 install

depmod -a

9. £adujemy moduły jądra:

Kod: Zaznacz cały

modprobe ipt_account
modprobe ipt_connlimit
modprobe ipt_ipp2p

10. Sprawdzamy iptables:

Kod: Zaznacz cały

iptables -m account --help
iptables -m connlimit --help
iptables -m ipp2p --help
Jeśli nie pojawią się żadne błędy, tylko instrukcja obsługi kolejnych modułów, to jesteśmy w domu ;) Możesz teraz usunąć zbędne pakiety:

Kod: Zaznacz cały

aptitude purge linux-headers-2.6.18-5-686 iptables-dev
Oraz usunąć pozostałości z katalogu /usr/src :

Kod: Zaznacz cały

rm -rf /usr/src/*
Jeśli nie chcesz nic więcej kompilować, a chcesz utrzymać porządek w systemie, to warto jeszcze usunąć to co zainstalowało się przy zależnościach dla kompilacji iptables, tj.

Kod: Zaznacz cały

apt-get --purge remove build-essential cpp debhelper dpkg-dev file g++ g++-4.1 gcc gettext gettext-base html2text intltool-debian libmagic1 libselinux1-dev libsepol1-dev libsp1c2 libstdc++6-4.1-dev linuxdoc-tools make patch perl perl-modules po-debconf sgml-base sgml-data sp xml-core
Koniec! :mrgreen:
yakubek
Posty: 4
Rejestracja: 05 września 2007, 19:49

Post autor: yakubek »

Wlasnie robie sobie nowy konfig wg. twojego opisu ale dostaje komunikat

Kod: Zaznacz cały

Yuo need to define KERNEL_SRC. Stop.
Czego brakuje mi, lub comoge zle robic ???

Mam etch4.0 z jajkiem 2.6.14-4-686 oraz nowe jako zrobione wg opisu 2.6.18-5-686
Piotrus
Posty: 5
Rejestracja: 27 sierpnia 2007, 14:24

Post autor: Piotrus »

Kod: Zaznacz cały

KERNEL_SRC = KERNEL_DIR, tj. KERNEL_DIR=/usr/src/linux-headers-2.6.18-5-686
czyli jak np. wyskakuje przy make, to daj:

Kod: Zaznacz cały

make KERNEL_SRC=/usr/src/linux-headers-2.6.18-5-686
analogicznie do install etc.

//edit
używaj tagu code
mlyczek
yakubek
Posty: 4
Rejestracja: 05 września 2007, 19:49

Post autor: yakubek »

Wszystkojest juz OK, gdzies popelnialem blad, ale za 3 razem udalo sie bez problemow.
dziaku
Posty: 5
Rejestracja: 28 października 2007, 13:47

Post autor: dziaku »

1. Czy konieczne jest instalowanie kernela 2.6.18-5-686 skoro działa mi wersja z 486?
2. Po przejściu tego poradnika i bezbłędnym zainstalowaniu wszsytkich modułów, xorg nie chce wstać, nie chcą się zainstalować sterowniki do nvidia (używałem envy). Czemu tak jest?
3. W pt.1 poradnika jest instalacja kernela, headers do niego i iptables-dev. Skoro mam już skompilowane i zainstalowane jądro 2.6.18-5-486 to konieczna jest instalacja tego, które tam polecasz i headers do niego, czy może istnieje możliwość doinstalowania modułów do istniejącego i działającego? Samo iptables-dev chyba da się zainstalować, co?
4. Jeżeli operacja się nie powiedzie, chodzi o ten poradnik, to jest możliwość usunięcia zainstalowanego jądra i powrócenia do poprzedniego? (oba są zainstalowane, chodzi o to żeby nie było śmietnika)
simi
Posty: 4
Rejestracja: 12 stycznia 2008, 01:07

Post autor: simi »

Witam
Mam mały problem z zainstalowaniem tego. Czy mogbym prosić o jak pomoc???
oto błędy jakie sa przy kompilacji ipp2p-0.8.2 przy poleceniu make:

Kod: Zaznacz cały

debian:/usr/src/ipp2p-0.8.2# debian:/usr/src/ipp2p-0.8.2# make KERNEL_SRC=/usr/src/linux-headers-2.6.22-3-686
Makefile:36: You need to install iptables sources and maybe set IPTABLES_SRC
make -C /usr/src/linux-headers-2.6.22-3-686 SUBDIRS=/usr/src/ipp2p-0.8.2 modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.22-3-686'
  CC [M]  /usr/src/ipp2p-0.8.2/ipt_ipp2p.o
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c: In function 'match':
bash: debian:/usr/src/ipp2p-0.8.2#: No such file or directory
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c:751: error: 'const struct sk_buff' has no member named 'nh'
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c: At top level:
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c:874: warning: initialization from incompatible pointer type
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c: In function 'init':
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c:883: warning: implicit declaration of function 'ipt_register_match'
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c: In function 'fini':
/usr/src/ipp2p-0.8.2/ipt_ipp2p.c:888: warning: implicit declaration of function 'ipt_unregister_match'
make[2]: *** [/usr/src/ipp2p-0.8.2/ipt_ipp2p.o] Error 1
debian:/usr/src/ipp2p-0.8.2# make[2]: *** [/usr/src/ipp2p-0.8.2/ipt_ipp2p.o] Error 1
bash: make[2]:: command not found
debian:/usr/src/ipp2p-0.8.2# debian:/usr/src/ipp2p-0.8.2# make KERNEL_SRC=/usr/src/linux-headers-2.6.22-3-686
bash: debian:/usr/src/ipp2p-0.8.2#: No such file or directory
debian:/usr/src/ipp2p-0.8.2# make[2]: *** [/usr/src/ipp2p-0.8.2/ipt_ipp2p.o] Error 1
Prosiłbym o jakaś pomoc z góry dziękuje
Pozdrawiam
wht
Posty: 1
Rejestracja: 20 marca 2008, 21:26

Post autor: wht »

Witam

Bardzo dobrze napisany i przydatny opis. Wielkie dzięki.
Ze swojej strony bym dodał jeszcze, że zamiast ładować moduły przez modprobe, lepiej zrobić to ładując je w modconf, dzięki czemu będą one ładowały się przy każdym restarcie systemu.

Pozdrawiam
Paweł
Zablokowany