linux-> iptables: cant initialize table nat (need to insmod?)



  • Hallo,

    ich bekomme bei meinem Vorhaben folgende Fehlermeldung (Ubuntu 8.10):

    "iptables v1.4.0: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
    Perhaps iptables or your kernel needs to be upgraded."

    Möglicherweise reicht das schon aus, damit mir ein Linuxer sagen kann, was zu tun ist.

    Ansonsten:

    Die menuconfig des Kernels 2.6.22.19 (auf die ich angewiesen bin) bietet mir keine ersichtliche möglichkeit, NAT Unterstützung einzubinden.

    Der Inhalt von
    /lib/modules/2.6.22.19-vs2.2.0.7/kernel/net/ipv4/netfilter/
    ist wie folgt:

    arptable_filter.ko ip_queue.ko iptable_raw.ko ipt_ah.ko ipt_LOG.ko ipt_ttl.ko
    arp_tables.ko iptable_filter.ko ip_tables.ko ipt_ecn.ko ipt_recent.ko ipt_TTL.ko
    arpt_mangle.ko iptable_mangle.ko ipt_addrtype.ko ipt_ECN.ko ipt_REJECT.ko ipt_ULOG.ko

    Da fehlt, soweit ich das Problem eingrenzen konnte, die iptables_nat.ko.

    Die Datei einfach aus dem Verzeichnis einer anderen (neueren) Kernelversion zu kopieren bringt nichts.
    Auch nicht mit dem /boot/config Eintrag CONFIG_IP_NF_NAT=y.

    Ich vermute mal so einfach ist es nicht. Aber ich habe endlos gegoogelt und nichts gefunden.
    Laut apt ist iptables auf dem neusten Stand und ich finde keine klare Anleitung wie das Problem zu lösen ist. (Wie, in welcher Form, das Modul zu erweitern ist!?)

    Hat jemand Rat?

    Kurz zum Hintergrund:
    Habe Ubuntu 8.10 und führe einen gepatchten Kernel aus.
    Den Kernel musste ich für vserver patchen und das funktioniert nun alles auch problemlos.
    D.h. ich kann einen neuen vserver starten und die test-scripts laufen fehlerlos.
    Das Problem kommt beim verbinden meines virtuellen Rechners mit der Außenwellt: Wenn ich via NAT eine lokale IP meines virtuellen Systems per Portmapping mit meiner einzigen externen IP verbinden will:

    #iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d ! 192.168.1.0/24 -j SNAT --to-source $meine_externe_IP
    ->"iptables v1.4.0: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)
    Perhaps iptables or your kernel needs to be upgraded."

    Danke fürs Lesen.

    Bin ziemlicher Linux-Neuling. Wenn nicht alles Sinn macht und die Lösung auf der Hand liegt, bitte ich das zu entschuldigen. Ansonsten: Danke



  • Boote mal mit einen anderen Kernel und berichte...

    Ivo



  • LinuxAhnungsloser schrieb:

    Die menuconfig des Kernels 2.6.22.19 (auf die ich angewiesen bin) bietet mir keine ersichtliche möglichkeit, NAT Unterstützung einzubinden.

    Das glaube ich nicht, da musst Du falsch nachgesehen haben:

    ~ % uname -r
    2.6.22.1
    ~ % zcat /proc/config.gz| grep 'NAT='
    CONFIG_NF_NAT=m
    ~ %
    

    Ach ja, zur Ergänzung:

    ~ % lsmod | grep -i nat
    iptable_nat            11268  1 
    nf_nat                 19628  1 iptable_nat
    nf_conntrack_ipv4      17676  4 iptable_nat
    nf_conntrack           53384  4 iptable_nat,nf_nat,nf_conntrack_ipv4,xt_state
    ip_tables              15572  2 iptable_nat,iptable_filter
    x_tables               16132  4 iptable_nat,xt_tcpudp,xt_state,ip_tables
    ~ %
    


  • nman schrieb:

    LinuxAhnungsloser schrieb:

    Die menuconfig des Kernels 2.6.22.19 (auf die ich angewiesen bin) bietet mir keine ersichtliche möglichkeit, NAT Unterstützung einzubinden.

    Das glaube ich nicht, da musst Du falsch nachgesehen haben:

    Ich habe das hier bei der Kernelkonfiguration angewählt:
    "IP tables support (required for filtering/masq/NAT) (IP_NF_IPTABLES)"

    Bei einem neueren Kernel (2.6.27.8) gibt es noch diese Unteroption:
    "Full NAT (NF_NAT)"

    Die ist beim 2.6.22.19 aber eben nicht zu finden.



  • Ok hat sich wohl erledigt.
    Die Option wurde wegen einem Abhängigkeitsproblem nicht angezeit. Erst durch vorherige Auswahl anderer Module.

    Danke



  • nman schrieb:

    ~ % uname -r
    2.6.22.1
    ~ % zcat /proc/config.gz| grep 'NAT='
    CONFIG_NF_NAT=m
    ~ %
    

    Du weißt aber schon, dass es zgrep gibt?



  • Sys-Admin schrieb:

    Du weißt aber schon, dass es zgrep gibt?

    Ja, aber ist auf dem Rechner zerschossen. (Oder da war irgendeine händisch installierte Uralt-Version von irgendwann weiter vorne im PATH oder so; muss ich mir mal genauer ansehen.)


Anmelden zum Antworten