Inovovaný návod k opatchování jádra+iptables+iproute2 pro možnosti lepšího schappingu

K tomuto činu se odhodlávám pekelně dlouhou dobu, ale vždy mi do toho něco vlezlo. Znáte to, všechno je přednější než věc, kterou chcete udělat, ale moc se vám do toho nechce :-/.

Takže co nás čeká? Nebudu se úplně opakovat a nenapíšu do blogu ucelený návod na opatchování úplně všech možných kravin, které jsem ukázal kdysi dávno v článku Traffic shaping (patchování a instalace). článkem jsem ukázal to, co jsem chtěl => všechny možné možnosti patchů a piplaček. Tento zápisek v blogu bude o tom nejdůležitějším pro shaping, se kterým by si téměř každý měl úplně v klidu vystačit.
Ještě dodám, že tuto konfiguraci nemám odzkoušenou. Právě jsem to nainstalil do virtualboxu, kde si připravuji new systém do serveru, na kterém mi kleknul disk. Ale vzhledem k tomu, že všechny patche proběhly ok, tak by se snad neměl objevit žádný problém.
Na všech serverech jinak používám debian, takže ostatní se budou muset balíčkama nějak přizpůsobit.

Takže, použijeme tento sw :

Lehké doporučení před začátkem

První věcí, co by se měla udělat je, nainstalovat si potřebnou sadu sw pro konfiguraci a instalaci a také hlavně odinstalovat si programy, které budeme instalovat ručně (iproute2 iptables)

základ + kernel : aptitude install make gcc libncurses5 libncurses5-dev libncurses5w5 ncurses-base ncurses-term ncurses-bin
další potřebné věci : aptitude install bison flex libdb-dev
a něco i odinstalujeme : aptitude remove iptables iproute

Tak začnem stažením a rozbalením sw

kernel : cd /usr/src/
wget -c ftp://ftp.linux.cz/pub/linux/kernel/v2.6/linux-2.6.21.7.tar.bz2
tar xvfj linux-2.6.21.7.tar.bz2
ln -s linux-2.6.21.7 linux
iptables : wget -c ftp://ftp.netfilter.org/pub/iptables/iptables-1.4.0.tar.bz2
tar xvfj iptables-1.4.0.tar.bz2
iproute 2 : mkdir iproute2
cd iproute2
wget -c http://devresources.linux-foundation.org/dev/iproute2/download/iproute2-2.6.22-070710.tar.gz
tar xvfz iproute2-2.6.22-070710.tar.gz
cd ..
IMQ patche (kernel + iptables patch) : wget -c http://www.linuximq.net/patchs/linux-2.6.21-img2.diff
wget -c http://www.linuximq.net/patchs/iptables-1.3.6-imq.diff
esfq patche : wget -c http://fatooh.org/esfq-2.6/esfq-2.6.21.5.tar.gz
tar xvfz esfq-2.6.21.5.tar.gz
Layer 7 filtry : wget -c http://puzzle.dl.sourceforge.net/sourceforge/l7-filter/netfilter-layer7-v2.17.tar.gz
tar xvfz netfilter-layer7-v2.17.tar.gz

Začnem patchovat

Kernel na imq + esfq + layer7 cd linux
patch -p1 < ../linux-2.6.21-img2.diff
patch -p1 < ../esfq-2.6.21.5/esfq-kernel.patch
patch -p1 < ../netfilter-layer7-v2.17/for_older_kernels/kernel-2.6.20-2.6.21-layer7-2.16.1.patch
Iptables na imq + layer7 cd ../iptables-1.4.0
patch -p1 < ../iptables-1.3.6-imq.diff
patch -p1 < ../netfilter-layer7-v2.17/iptables-1.4-for-kernel-2.6.20forward-layer7-2.17.patch
chmod +x extensions/.IMQ-test*
chmod +x extensions/.layer7-test
Iproute2 na esfq cd iproute2
patch -p1 < ../esfq-2.6.21.5/esfq-iproute2.patch
cd ..

Teď by jsme to mohli zkompilovat a nainstalit

kernel cd linux
make menuconfig
make
make modules_install
cp System.map /boot/System.map-2.6.21.7
cp arch/i386/boot/bzImage /boot/k-2.6.21.7
cd ..
iptables cd iptables-1.4.0
make
make install
cd ..
iproute2 cd iproute2
./configure
make
make install

Závěr

Tak, mno, pak už zbývá asi jen reboot kvůli natáhnutí nového jádra a to je asi tak vše. Testujte moji milí spolubojovníci a problémy hlašte v diskusi :)
Zdar Max

PS:Pro ty, které to nenapadne dávám link na skript, který stáhne a opatchuje vše potřebné do aktuálního adresáře (jsou to vlastně výše zmíněné příkazy nakopírované do souboru, nic víc, nic míň). Kompilace už neprovádí, jelikož by bylo dobré bedlivě sledovat, zda někomu nevyskočí error kvůli chybějícím knihovnám atd.Takže doporučuji něco jako : cd /usr/src/
wget -c http://www.volny.cz/maxdevaine/tsbmd/tsbmd-install.sh
chmod +x tsbmd-install.sh
./tsbmd-install.sh