# iptables - probleme mit kernel

## stream

ich versuche gerade einen router zu installieren

echo "1" > /proc/sys/net/ipv4/ip_forward

funktioniert ohne probleme

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

gibt aus:

/lib/modules/2.4.19-gentoo-r10/kernel/net/ipv4/netfilter/ip_tables.o: unresolved symbol nf_unregister_sockopt

/lib/modules/2.4.19-gentoo-r10/kernel/net/ipv4/netfilter/ip_tables.o: unresolved symbol nf_register_sockopt

/lib/modules/2.4.19-gentoo-r10/kernel/net/ipv4/netfilter/ip_tables.o: insmod /lib/modules/2.4.19-gentoo-r10/kernel/net/ipv4/netfilter/ip_tables.o failed

/lib/modules/2.4.19-gentoo-r10/kernel/net/ipv4/netfilter/ip_tables.o: insmod ip_tables failed

iptables v1.2.7a: can't initialize iptables table `nat': iptables who? (do you need to insmod?)

Perhaps iptables or your kernel needs to be upgraded.

root # ls /lib/modules/2.4.19-gentoo-r10/kernel/net/ipv4/netfilter

ip_conntrack.o ipt_MASQUERADE.o ipt_NETMAP.o ipt_REJECT.o iptable_filter.o

ip_tables.o ipt_NETLINK.o ipt_REDIRECT.o ipt_state.o iptable_nat.o

weis jemand wie ich das problem lösen kann?

----------

## Beforegod

Übersetz mal die Kernel Module neu. Anscheinend ist da irgendwo der Wurm drin.

Danach noch ein depmod -ae und alles sollte bestens funktionieren.

----------

## stream

 *Beforegod wrote:*   

> Übersetz mal die Kernel Module neu

 

sorry für die nachfrage aber was genau muss ich machen um die module zu übersetzen?

----------

## px

You can try this:

 emerge unmerge iptables 

 rc-update del iptables 

 rm /usr/src/linux 

 ln -s /usr/src/linux-2.4.20-gentoo-r2 /usr/src/linux 

 cd /usr/src/linux 

 cp .config ../ 

 make mrproper 

 cp ../.config . 

 make menuconfig && make dep && make clean bzImage modules modules_install install 

Before exiting menuconfig, you have 2 options, put everything in netfilter configuration or:

 Networking options -> Network packet filtering 

 Networging optons -> NetfilterConfiguration 

 -> Connection tracking 

 -> ftp protocol 

 -> iptables support 

 -> Connection state match 

 -> packet filtering -> Reject 

 -> Full NAT -> MASQUERADE 

 -> FullNAT -> REDIRECT 

 -> packet mangling 

 -> Log target 

then reboot, 

 env-update 

 modules-update 

 emerge sync && emerge iptables && rc-update add iptables default 

 modprobe ipt_MASQUERADE (if your didn't compiled it in core) 

 iptables -F; iptables -t nat -F; iptables -t mangle -F 

 iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE 

 echo 1 > /proc/sys/net/ipv4/ip_forward 

 /etc/init.d/iptables save && /etc/init.d/iptables start

----------

## HangLoose

hm, für mich sieht das so aus, als wenn nur die module noch nicht geladen sind. versuch mal ein modprobe ip_tables und dann noch mal deine masquerading regel

Gruß HL

----------

## stream

root # modprobe ip_tables

/lib/modules/2.4.19-gentoo-r10/kernel/net/ipv4/netfilter/ip_tables.o: unresolved symbol nf_unregister_sockopt

/lib/modules/2.4.19-gentoo-r10/kernel/net/ipv4/netfilter/ip_tables.o: unresolved symbol nf_register_sockopt

/lib/modules/2.4.19-gentoo-r10/kernel/net/ipv4/netfilter/ip_tables.o: insmod /lib/modules/2.4.19-gentoo-r10/kernel/net/ipv4/netfilter/ip_tables.o failed

/lib/modules/2.4.19-gentoo-r10/kernel/net/ipv4/netfilter/ip_tables.o: insmod ip_tables failed

zum posting von px:

warum soll ich das verzeichnis /usr/src/linux löschen??

----------

## px

It's to be sure that /usr/src/linux link to the well /usr/src/linux-2.4.xxxxx

So modules are compiled for the good kernel

----------

## blackwing

make dep && make clean && make -j2 modules && make modules_install

diese depmod fehler kommen emist, wenn dependencies net stimmen  :Smile: 

----------

## stream

 *px wrote:*   

> 
> 
>  make menuconfig && make dep && make clean bzImage modules modules_install install 
> 
> 

 

make[1]: Entering directory `/usr/src/linux-2.4.19-gentoo-r10/arch/i386/lib'

make[1]: Nothing to be done for `modules_install'.

make[1]: Leaving directory `/usr/src/linux-2.4.19-gentoo-r10/arch/i386/lib'

cd /lib/modules/2.4.19-gentoo-r10; \

mkdir -p pcmcia; \

find kernel -path '*/pcmcia/*' -name '*.o' | xargs -i -r ln -sf ../{} pcmcia

if [ -r System.map ]; then /sbin/depmod -ae -F System.map  2.4.19-gentoo-r10; fi

make[1]: Entering directory `/usr/src/linux-2.4.19-gentoo-r10/arch/i386/boot'

sh -x ./install.sh 2.4.19-gentoo-r10 bzImage /usr/src/linux-2.4.19-gentoo-r10/System.map "/boot"

+ '[' -x /root/bin/installkernel ']'

+ '[' -x /sbin/installkernel ']'

+ exec /sbin/installkernel 2.4.19-gentoo-r10 bzImage /usr/src/linux-2.4.19-gentoo-r10/System.map /boot

In order to use the new kernel image you have just installed, you

will need to reboot the machine.  First, however, you will need to

either make a bootable floppy diskette, re-run LILO, or have GRUB

installed.

Checking for LILO...No

Should I make a bootdisk? (y/n) y

Error: Can't read /vmlinuz.

make[1]: *** [install] Error 1

make[1]: Leaving directory `/usr/src/linux-2.4.19-gentoo-r10/arch/i386/boot'

make: *** [install] Error 2

----------

## Beforegod

Die Sache wurde recht kompliziert gemacht. Mache einfach ein make clean in dem /usr/src/linux verzeichnis, danach ein make modules modules_install. Wie es @px schon richtig sagte, schau auch ob /usr/src/linux auch auf den richtigen Kernel zeigt (muss der sein den Du gerade verwendest). Ansonsten mache noch ein make bzImage und kopiere aus dem Verzeichnis die Datei ./arch/i386/boot/bzImage ins /boot Verzeichnis und passe Deine Grub Konfiguration an (oder eben Deinen Boot Kernel z.B. /boot/vmlinuz)

----------

## stream

ok problem gelöst - iptables funktionieren ohne probleme

vielen dank an alle die mir geholfen haben   :Very Happy: 

----------

