PowerPack 3.x.x

Nowa wersja PowerPack Kernel linia (3.x.x)

Od wersji 3.x.x kernel sprawa nakładania łatek jest dość mało kłopotliwa bo prócz IMQ raczej na wydajny router nic więcej nie potrzeba, natomiast podam tu sposób jak sobie przygotować kompletne środowisko do pracy jako router sieciowy. To tyle na wstępie, zapraszam do opisu poniżej.

New version stable:

  • kernel-3.13.11 + iptables-1.4.21 + iproute2-3.14.0 + xtables-addons-2.5 + ipset-6.21.1 + nftables-0.2

Łaty nałożone na kernel-3.xx.xx

IMQ – ( Intermediate Queueing Device )
patch-ja1 – ( Jumbo patch containing the following parts )

Łaty nałożone na iptables-1.4.xx
iptables-imq – ( Intermediate Queueing Device )

Łaty nałożone na nftables-0.x.xx
patch poprawnej kmpilacji – ( poprawienie pliku configure.ac )

Wykonanie:

Nałożenie plików *.diff, a więc zaczynamy:
Przechodzimy do katalogu:

cd /usr/src

Pobieramy źródła kernel z strony:

wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.xx.xx.tar.bz2 \
--no-check-certificate

Rozpakowujemy źródłaa poleceniem:

tar xjf linux-3.xx.xx.tar.bz2
ln -s linux-3.xx.xx linux

Przechodzimy do katalogu:

cd /usr/src/linux

Pobieramy patch z tej strony zależnie do wersji jądra, poleceniem wget
Nakładamy patch na kernel:

gzip -d kerner-3.xx.xx.diff.gz
patch -p1 < kernel-3.xx.xx.diff

Przechodzimy do katalogu:

cd /usr/src

Pobieramy źródła iptables z strony i rozpakowujemy źródła poleceniem:

wget www.netfilter.org/projects/iptables/files/iptables-1.4.xx.tar.bz2
tar xjf iptables-1.4.xx.tar.bz2
ln -s iptables-1.4.xx iptables

Przechodzimy do katalogu:

cd /usr/src/iptables

W pobranym PowerPack znajdujemy patch do iptables
Nakładamy patch na iptables:

gzip -d iptables-1.4.xx.diff.gz
patch -p1 < iptables-1.4.xx.diff

Przechodzimy do katalogu:

cd /usr/src

Pobieramy źródła nftables z strony i rozpakowujemy źródła poleceniem:

http://www.netfilter.org/projects/nftables/files/nftables-0.x.tar.bz2
tar xjf nftables-0.x.tar.bz2
ln -s nftables-0.x nftables

Przechodzimy do katalogu:

cd /usr/src/nftables

W pobranym PowerPack znajdujemy patch do nftables
Nakładamy patch na nftables:

gzip -d nftables-0.x.diff.gz
patch -p1 < nftables-0.x.diff

Przechodzimy do katalogu:

cd /usr/src/linux
make menuconfig

Teraz zaznaczamy opcje które potrzebujemy skompilować w nowy kernel i zapisujemy ustawienia.
Wydajemy polecenie:

make 2>&1 | tee /var/log/make.log && make modules_install 2>&1 | tee /var/log/make_modules.log

Kopiujemy plik skompilowanego jądra do katalogu /boot

cp /usr/src/linux/arch/x86/boot/bzImage /boot/lb-3.xx.xx
cp /usr/src/linux/System.map /boot/lb-3.xx.xx.map
ln -s /boot/lb-3.xx.xx.map /boot/System.map

Teraz już tylko zostało nam zmodyfikować plik lilo.conf, tu podaję mój przykładowy plik lilo.conf

# LILO configuration file
# generated by ‚liloconfig’
# Start LILO global section

boot = /dev/hda
message = /boot/LinuxBox.txt
prompt
timeout = 30
append=”vt.default_utf8=0″

# Normal VGA console
vga = 0x317

# Linux bootable partition config begins
default = lb-3.xx.xx

image = /boot/vmlinuz
root = /dev/sda1
label = Linux
read-only

image = /boot/lb-3.xx.xx
root = /dev/sda1
label = lb-3.xx.xx
read-only
# Linux bootable partition config ends

Po poprawnej modyfikacji pliku lilo.conf wydajemy polecenie

lilo
reboot

Gdy system uruchomi się ponownie przystępujemy do kompilacji iptables 1.x.xx

cd /usr/src/iptables
./configure \
--prefix=/usr \
--libdir=/usr/lib64 \
--with-xtlibdir=/usr/libexec/xtables \
--enable-devel \
--enable-libipq \
--disable-static
make
make install

Tu mała uwaga z racji tego że jest to nowy produkt netfilter który ma zastąpić iptables, mogą nastąpić problemy przy kompilacji tego produktu. Do poprawnej kompilacji wymagene sa biblioteki: libmnl-1.x.x.tar.bz2 i libnftnl-1.x.x.tar.bz2 i pliki nagłówkowe (headers)
Po poprawnej kompilacji iptables przechodzimy do katalogu:

cd /usr/src/nftables
./autogen.sh &&
./configure \
--prefix=/usr \
--libdir=/usr/lib64 \
--sysconfdir=/etc \
--disable-silent-rules \
--localstatedir=/var/lib
make
make install

W razie nie udanej kompilacji nftables musimy skompilować wyżej podane biblioteki
Przechodzimy do katalogu:

cd /usr/src

Pobieramy źródła biblioteki libmnl z strony rozpakowujemy źródła poleceniem:

http://www.netfilter.org/projects/libmnl/files/libmnl-1.x.x.tar.bz2
tar xjf libmnl-1.x.x.tar.bz2

Przechodzimy do katalogu:

cd /usr/src/libmnl-1.x.x
./configure \
--prefix=/usr \
--libdir=/usr/lib64
make
make install

Przechodzimy do katalogu:

cd /usr/src

Pobieramy źródła biblioteki libnftnl z strony rozpakowujemy źródła poleceniem:

http://www.netfilter.org/projects/libnftnl/files/libnftnl-1.x.x.tar.bz2
tar xjf libnftnl-1.x.x.tar.bz2

Przechodzimy do katalogu:

cd /usr/src/libnftnl-1.x.x
./configure --prefix=/usr --libdir=/usr/lib64
make
make install

Pliki nagłówkowe (headers), przechodzimy do katalogu:

cd /usr/src/linux
make mrproper
make headers_check
make INSTALL_HDR_PATH=/usr headers_install

Wracamy do katalogu cd /usr/src/nftables i wydajemy polecania opisane powyżej.
Po poprawnej kompilacji nftables przechodzimy do katalogu:

cd /usr/src

Pobieramy źródła iproute2 z strony i rozpakowujemy źródła poleceniem:

https://www.kernel.org/pub/linux/utils/net/iproute2/iproute2-3.xx.x.tar.gz --no-check-certificate
tar zxvf iproute2-3.xx.x.tar.gz

Przechodzimy do katalogu:

cd /usr/src/iproute2-3.xx.x
./configure
make
make install

Po poprawnej kompilacji iproute2 przechodzi do katalogu:

cd /usr/src

Pobieramy źródła ipset z strony i rozpakowujemy źródła poleceniem:

http://ipset.netfilter.org/ipset-6.xx.x.tar.bz2
tar xjf ipset-6.xx.x.tar.bz2

Przechodzimy do katalogu:

cd /usr/src/ipset-6.xx.x
./configure \
--prefix=/usr \
--libdir=/usr/lib64 \
--disable-static \
--with-kmod=yes \
--with-kbuild=/lib/modules/3.xx.xx-LinuxBox/build
make
make install

Po poprawnej kompilacji ipset przechodzi do katalogu:

cd /usr/src

Pobieramy najnowsze źródła xtables-addons z strony i rozpakowujemy źródła poleceniem:

http://sourceforge.net/projects/xtables-addons/files/Xtables-addons/
tar Jxvf xtables-addons-2.x.tar.xz

Przechodzimy do katalogu:

cd /usr/src/xtables-addons-2.x
./configure \
--prefix=/usr \
--libdir=/usr/lib64 \
--with-kbuild=/lib/modules/3.xx.xx-LinuxBox/build
make
make install

Od tej pory jesteśmy posiadaczami najnowszego kernel i narzędzi sieciowych dla wykonania taniego a o dobrych możliwościach routera z przeznaczeniem dla sieci. Wszystko tu wykonane powinno zadziałać na każdej dystrybucji Linux. Wykonałem to na swoim systemie matce LinuxBox.

Pobierz włąściwą łatkę na kernel:

kernel-3.13.11 + iptables-1.4.21 + iproute2-3.14.0 + ipset-6.21.1 + nftables-0.2PowerPack-3.13.11 (1224)
Top