iptables - Unknown arg '--dport'

Im Portforward (Freetz) hab ich wohl nen Forward an eine andere IP im Netzwerk, aber ich denke doch mal, dass iptables vorher greift? Oder muss ich dann die IP vom Server nehmen anstatt von der Fritz?!
Ich hatte schon in [POST=1766832]#14[/POST] geschrieben, dass die AVM Regeln immer gelten.
Und was ist "Portforward (Freetz)"?

Jetzt plötzlich geht es nicht um eingehende Verbindungen, sondern um weitergeleitete?
Wenn Du keine Detail herausrücken willst, schau doch selbst, wie Du das zum Laufen bekommst.
 
Mir war nicht bewusst, dass er die AVM Firewall VOR iptables prüft. Aber wenn die Regeln immer gelten, ist das ja schonmal geklärt.
Ich wollte das Portforwarding (weil es für mich einfacher ist) von der AVM-Firewall regeln lassen und das blockieren von iptables.

Damit das jetzt erstmal geklärt ist...
Ich habe einen Port offen auf der Fritz!Box welche die Internetverbindung herstellt. An dieser Box hängt eine weitere Fritz!Box welche mir ein Webinterface zur Verfügung stellt. Auf dieses möchte ich übers Internet zugreifen können, aber nur mit bestimmten IPs. Diese IPs trage ich mit dem Befehl ein:
iptables -A INPUT -s nagios.domain.de -m tcp -p tcp -d 0.0.0.0 --dport 8080 -j ACCEPT

und den rest droppe ich:
iptables -A INPUT -m tcp -p tcp --dport 8080 -j DROP
Das eintragen erzeugt keine Fehlermeldung mehr, daher gehe ich davon aus, dass die Regeln aktiv sein müssten.

Den Forward würde ich dann jetzt anstatt über die AVM-Firewall ebenfalls über iptables realisieren wollen.
Dafür würde ich eingeben:
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to 192.168.0.2:80

Hierbei erhalte ich alleredigns die Fehlermeldung:
iptables v1.4.11.1: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)

Allerdings fehlt mir wohl offensichtlich wieder ein Modul, dabei habe ich so ziemlich alles, was mit "nat" zu tun hat, in der freetz-config markiert.

Folgende Files habe ich jetzt in "/usr/lib/xtables":
ls -l /usr/lib/xtables/
-rwxr-xr-x 1 root root 5756 Oct 23 03:15 libip6t_REJECT.so
-rwxr-xr-x 1 root root 6984 Oct 23 03:15 libip6t_icmp6.so
-rwxr-xr-x 1 root root 7084 Oct 23 03:15 libipt_DNAT.so
-rwxr-xr-x 1 root root 5144 Oct 23 03:15 libipt_MASQUERADE.so
-rwxr-xr-x 1 root root 5308 Oct 23 03:15 libipt_REDIRECT.so
-rwxr-xr-x 1 root root 6132 Oct 23 03:15 libipt_REJECT.so
-rwxr-xr-x 1 root root 7068 Oct 23 03:15 libipt_SNAT.so
-rwxr-xr-x 1 root root 8016 Oct 23 03:15 libipt_addrtype.so
-rwxr-xr-x 1 root root 19308 Oct 23 03:15 libxt_conntrack.so
-rwxr-xr-x 1 root root 9416 Oct 23 03:15 libxt_multiport.so
-rwxr-xr-x 1 root root 3644 Oct 23 03:15 libxt_standard.so
-rwxr-xr-x 1 root root 8940 Oct 23 03:15 libxt_tcp.so
-rwxr-xr-x 1 root root 5764 Oct 23 03:15 libxt_udp.so

"lsmod" zeigt mir allerdings kein einziges iptables modul an. Wenn ich dann "insmod iptable_nat" oder "insmod iptable_filter" mache, passiert nichts, die Module werden einfach nicht angezeigt. Ausgewählt sind sie in der menuconfig aber auf jedenfall...
# modprobe iptable_nat
modprobe: module iptables_nat not found in modules.dep
modprobe iptable_filter
modprobe: module iptable_filter not found in modules.dep

Über symlinks habe ich in /mod/lib folgende Files noch eingebunden:
lrwxrwxrwx 1 root root 45 Oct 28 13:18 libip6t_REJECT.so -> /var/media/ftp/libs/xtables/libip6t_REJECT.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libip6t_icmp6.so -> /var/media/ftp/libs/xtables/libip6t_icmp6.so
lrwxrwxrwx 1 root root 47 Oct 28 13:18 libipt_CLUSTERIP.so -> /var/media/ftp/libs/xtables/libipt_CLUSTERIP.so
lrwxrwxrwx 1 root root 42 Oct 28 13:18 libipt_DNAT.so -> /var/media/ftp/libs/xtables/libipt_DNAT.so
lrwxrwxrwx 1 root root 41 Oct 28 13:18 libipt_ECN.so -> /var/media/ftp/libs/xtables/libipt_ECN.so
lrwxrwxrwx 1 root root 41 Oct 28 13:18 libipt_LOG.so -> /var/media/ftp/libs/xtables/libipt_LOG.so
lrwxrwxrwx 1 root root 48 Oct 28 13:18 libipt_MASQUERADE.so -> /var/media/ftp/libs/xtables/libipt_MASQUERADE.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libipt_MIRROR.so -> /var/media/ftp/libs/xtables/libipt_MIRROR.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libipt_NETMAP.so -> /var/media/ftp/libs/xtables/libipt_NETMAP.so
lrwxrwxrwx 1 root root 46 Oct 28 13:18 libipt_REDIRECT.so -> /var/media/ftp/libs/xtables/libipt_REDIRECT.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libipt_REJECT.so -> /var/media/ftp/libs/xtables/libipt_REJECT.so
lrwxrwxrwx 1 root root 42 Oct 28 13:18 libipt_SAME.so -> /var/media/ftp/libs/xtables/libipt_SAME.so
lrwxrwxrwx 1 root root 42 Oct 28 13:18 libipt_SNAT.so -> /var/media/ftp/libs/xtables/libipt_SNAT.so
lrwxrwxrwx 1 root root 41 Oct 28 13:18 libipt_TTL.so -> /var/media/ftp/libs/xtables/libipt_TTL.so
lrwxrwxrwx 1 root root 42 Oct 28 13:18 libipt_ULOG.so -> /var/media/ftp/libs/xtables/libipt_ULOG.so
lrwxrwxrwx 1 root root 46 Oct 28 13:18 libipt_addrtype.so -> /var/media/ftp/libs/xtables/libipt_addrtype.so
lrwxrwxrwx 1 root root 40 Oct 28 13:18 libipt_ah.so -> /var/media/ftp/libs/xtables/libipt_ah.so
lrwxrwxrwx 1 root root 41 Oct 28 13:18 libipt_ecn.so -> /var/media/ftp/libs/xtables/libipt_ecn.so
lrwxrwxrwx 1 root root 42 Oct 28 13:18 libipt_icmp.so -> /var/media/ftp/libs/xtables/libipt_icmp.so
lrwxrwxrwx 1 root root 43 Oct 28 13:18 libipt_realm.so -> /var/media/ftp/libs/xtables/libipt_realm.so
lrwxrwxrwx 1 root root 41 Oct 28 13:18 libipt_ttl.so -> /var/media/ftp/libs/xtables/libipt_ttl.so
lrwxrwxrwx 1 root root 45 Oct 28 13:18 libipt_unclean.so -> /var/media/ftp/libs/xtables/libipt_unclean.so
lrwxrwxrwx 1 root root 45 Oct 28 13:18 libxt_CLASSIFY.so -> /var/media/ftp/libs/xtables/libxt_CLASSIFY.so
lrwxrwxrwx 1 root root 45 Oct 28 13:18 libxt_CONNMARK.so -> /var/media/ftp/libs/xtables/libxt_CONNMARK.so
lrwxrwxrwx 1 root root 48 Oct 28 13:18 libxt_CONNSECMARK.so -> /var/media/ftp/libs/xtables/libxt_CONNSECMARK.so
lrwxrwxrwx 1 root root 41 Oct 28 13:18 libxt_DSCP.so -> /var/media/ftp/libs/xtables/libxt_DSCP.so
lrwxrwxrwx 1 root root 41 Oct 28 13:18 libxt_MARK.so -> /var/media/ftp/libs/xtables/libxt_MARK.so
lrwxrwxrwx 1 root root 42 Oct 28 13:18 libxt_NFLOG.so -> /var/media/ftp/libs/xtables/libxt_NFLOG.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libxt_NFQUEUE.so -> /var/media/ftp/libs/xtables/libxt_NFQUEUE.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libxt_NOTRACK.so -> /var/media/ftp/libs/xtables/libxt_NOTRACK.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libxt_RATEEST.so -> /var/media/ftp/libs/xtables/libxt_RATEEST.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libxt_SECMARK.so -> /var/media/ftp/libs/xtables/libxt_SECMARK.so
lrwxrwxrwx 1 root root 43 Oct 28 13:18 libxt_TCPMSS.so -> /var/media/ftp/libs/xtables/libxt_TCPMSS.so
lrwxrwxrwx 1 root root 40 Oct 28 13:18 libxt_TOS.so -> /var/media/ftp/libs/xtables/libxt_TOS.so
lrwxrwxrwx 1 root root 42 Oct 28 13:18 libxt_TRACE.so -> /var/media/ftp/libs/xtables/libxt_TRACE.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libxt_comment.so -> /var/media/ftp/libs/xtables/libxt_comment.so
lrwxrwxrwx 1 root root 46 Oct 28 13:18 libxt_connbytes.so -> /var/media/ftp/libs/xtables/libxt_connbytes.so
lrwxrwxrwx 1 root root 45 Oct 28 13:18 libxt_connmark.so -> /var/media/ftp/libs/xtables/libxt_connmark.so
lrwxrwxrwx 1 root root 46 Oct 28 13:18 libxt_conntrack.so -> /var/media/ftp/libs/xtables/libxt_conntrack.so
lrwxrwxrwx 1 root root 41 Oct 28 13:18 libxt_dscp.so -> /var/media/ftp/libs/xtables/libxt_dscp.so
lrwxrwxrwx 1 root root 40 Oct 28 13:18 libxt_esp.so -> /var/media/ftp/libs/xtables/libxt_esp.so
lrwxrwxrwx 1 root root 46 Oct 28 13:18 libxt_hashlimit.so -> /var/media/ftp/libs/xtables/libxt_hashlimit.so
lrwxrwxrwx 1 root root 43 Oct 28 13:18 libxt_helper.so -> /var/media/ftp/libs/xtables/libxt_helper.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libxt_iprange.so -> /var/media/ftp/libs/xtables/libxt_iprange.so
lrwxrwxrwx 1 root root 43 Oct 28 13:18 libxt_length.so -> /var/media/ftp/libs/xtables/libxt_length.so
lrwxrwxrwx 1 root root 42 Oct 28 13:18 libxt_limit.so -> /var/media/ftp/libs/xtables/libxt_limit.so
lrwxrwxrwx 1 root root 40 Oct 28 13:18 libxt_mac.so -> /var/media/ftp/libs/xtables/libxt_mac.so
lrwxrwxrwx 1 root root 41 Oct 28 13:18 libxt_mark.so -> /var/media/ftp/libs/xtables/libxt_mark.so
lrwxrwxrwx 1 root root 46 Oct 28 13:18 libxt_multiport.so -> /var/media/ftp/libs/xtables/libxt_multiport.so
lrwxrwxrwx 1 root root 42 Oct 28 13:18 libxt_owner.so -> /var/media/ftp/libs/xtables/libxt_owner.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libxt_physdev.so -> /var/media/ftp/libs/xtables/libxt_physdev.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libxt_pkttype.so -> /var/media/ftp/libs/xtables/libxt_pkttype.so
lrwxrwxrwx 1 root root 42 Oct 28 13:18 libxt_quota.so -> /var/media/ftp/libs/xtables/libxt_quota.so
lrwxrwxrwx 1 root root 44 Oct 28 13:18 libxt_rateest.so -> /var/media/ftp/libs/xtables/libxt_rateest.so
lrwxrwxrwx 1 root root 41 Oct 28 13:18 libxt_sctp.so -> /var/media/ftp/libs/xtables/libxt_sctp.so
lrwxrwxrwx 1 root root 45 Oct 28 13:18 libxt_standard.so -> /var/media/ftp/libs/xtables/libxt_standard.so
lrwxrwxrwx 1 root root 42 Oct 28 13:18 libxt_state.so -> /var/media/ftp/libs/xtables/libxt_state.so
lrwxrwxrwx 1 root root 46 Oct 28 13:18 libxt_statistic.so -> /var/media/ftp/libs/xtables/libxt_statistic.so
lrwxrwxrwx 1 root root 43 Oct 28 13:18 libxt_string.so -> /var/media/ftp/libs/xtables/libxt_string.so
lrwxrwxrwx 1 root root 40 Oct 28 13:18 libxt_tcp.so -> /var/media/ftp/libs/xtables/libxt_tcp.so
lrwxrwxrwx 1 root root 43 Oct 28 13:18 libxt_tcpmss.so -> /var/media/ftp/libs/xtables/libxt_tcpmss.so
lrwxrwxrwx 1 root root 41 Oct 28 13:18 libxt_time.so -> /var/media/ftp/libs/xtables/libxt_time.so
lrwxrwxrwx 1 root root 40 Oct 28 13:18 libxt_tos.so -> /var/media/ftp/libs/xtables/libxt_tos.so
lrwxrwxrwx 1 root root 40 Oct 28 13:18 libxt_u32.so -> /var/media/ftp/libs/xtables/libxt_u32.so
lrwxrwxrwx 1 root root 40 Oct 28 13:18 libxt_udp.so -> /var/media/ftp/libs/xtables/libxt_udp.so

Hiermit sollten eigentlich so ziemlich alle libs eingebunden sein, also langsam verzweifel ich an iptables...


nachdem ich im Forum gesucht habe, ist mir ein Thread aufgefallen, welcher besagt, dass man die kernel Moduel für die 7390 im make kernel-menuconfig aktivieren muss. Werde jetzt mal schauen.

Nachtrag 18:52
Modultechnisch finde ich in der make kernel-menuconfig nichts. Im wiki steht was von insmod /mod/lib/iptable_nat.o - das werde ich jetzt auch mal testen...


Ich habe das gefühl, dass da einiges nicht kompiliert wird...
ein "find -name iptable_nat*" ergibt nichts.
 
Zuletzt bearbeitet:
Alles, was mit conntrack zu tun hat, ist davon abhängig, ob AVM deren Kernel mit den dafür richtigen Optionen erstellt hat. Das ist normalerweise nicht der Fall.

Ansonsten sind die anderen regeln, die Du geladen hast, auch aktiv. Am Besten suchst Du mal eine iptables Anleitung und liest nach, was sie bewirken.
 
Ja, aber ich würde jetzt ja gern die Portweiterleitungen per iptables machen, damit er meinen DROP auch händelt.
Da du ja sagtest, dass AVM Firewall regeln immer gelten, werden die ja offensichtlich schon vorher per Port forward auf meine 2. Fritz!Box geleitet und daher tritt der DROP des Ports nicht in Kraft, oder hab ich da jetzt was falsch verstanden? Die 2. Fritz!Box ist eine 7170, kann ich da iptables mit dnat verwenden wenn es bei der 7390 nicht geht?
 
Es heißt, dass auf der 7170 inzwischen conntrack stabil läuft. Für die 7390 gibt es einen Patch für den Kernel. Ob sie damit auch stabil läuft, weiß ich nicht.

Ich habe den Eindruck, dass Du noch nicht nachgelesen hast, was Deine iptables Regeln bewirken.
 
Keine Ahnung wieso deine 1. Box nicht laeuft, aber was soll "-d 0.0.0.0" auf der 2.? Kommt es da mit Port 80 oder 8080 an?
 
Auf der zweiten Box habe ich kein IPTables. Auf der 7390, welche die Internetverbindung herstellt, habe ich "-d 0.0.0.0".
Diese soll dann den Port 8080 blockieren, wenn die IP keine Berechtigung hat. Port 8080 wird aber von der AVM-Firewall via Portforward auf 192.168.0.2:80 weiter geleitet. Daher habe ich das Gefühl, dass die IPTables Rules nicht packen, da der Port ja schon weiter an die 192.168.0.2 weiter geleitet wurde.

Darum wollte ich dann jetzt auch IPTables für den Forward nehmen, damit er endlich den Port blockt, so wie ich es erwarte.

Ist meine Konfiguration also nicht korrekt? Ich höre nur, ich soll lesen wass meine Befehle machen. Ich denke, dass ich weiß was sie tun.
Der Befehl "iptables -A INPUT -s nagios.domain.de -m tcp -p tcp -d 0.0.0.0 --dport 8080 -j ACCEPT" - erlaubt statisch meinem Nagios-Server den Zugriff.
"iptables -A INPUT -m tcp -p tcp --dport 8080 -j DROP" - "dropped" alle anderen Anfragen auf den Port 8080, welche durch keine table explizit erlaubt wird.

Letzteres klappt aber offensichtlich nicht, denn jede IP kann von außen weiterhin den Port frei verwenden.

Mit "iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to 192.168.0.2:80" wollte ich dann den Port 8080 via DNAT weiterleiten, kriege dann aber auf der Box:
"iptables v1.4.11.1: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)"


Fazit: Ich muss offenbar weiterhin die AVM-Firewall bemühen.
Ich habe per "make kernel-menuconfig" einen Punkt "modules" o.Ä. gesucht, finde aber nichts.
Ich muss zugeben, dass ich in Sachen Kernel selbst compilen keine wirklichen Erfahrungen habe und es daher Neuland ist.

Die notwendigen libs um iptable_nat zu nutzen, habe ich in der Freetz-Conf entsprechend markiert, leider werden aber keinerlei iptable kernel module in den Kernel integriert, was mir "lsmod" auch entsprechend zeigt:
lsmod
Module Size Used by Tainted: P
sch_sfq 8160 4
sch_llq 11072 1
sch_tbf 6304 1
ath_pktlog 18896 0
umac 585568 1 ath_pktlog
ath_dev 191744 2 ath_pktlog,umac
ath_dfs 51360 1 ath_dev
ath_rate_atheros 48848 2 ath_pktlog,ath_dev
ath_hal 473168 4 ath_pktlog,umac,ath_dev,ath_dfs
atmdriver_lkm 1812352 0
asf 9296 4 umac,ath_dev,ath_dfs,ath_hal
adf 12992 3 umac,ath_dev,ath_hal
aae 86720 3 umac,ath_dev,ath_hal
kdsldmod 1157040 4
ohci_hcd 22288 0
ehci_hcd 38960 0
usbcore 149968 3 ohci_hcd,ehci_hcd
ramzswap 20128 1
lzo_compress 2336 1 ramzswap
lzo_decompress 2560 1 ramzswap
dect_io 13536 2
avm_dect 283168 1 dect_io
capi_codec 498112 0
isdn_fbox_fon5 909616 5
pcmlink 308720 3 avm_dect,capi_codec,isdn_fbox_fon5
Piglet_noemif 34192 0
bmedrv 5040 0
opensrc_lkm 2112 1 bmedrv
aclap_driver_lkm 23312 1 atmdriver_lkm
sysKCode_lkm 16704 0
ethdriver_lkm 46976 1 aclap_driver_lkm
periap_driver_lkm 15904 1 ethdriver_lkm
timers_lkm 6384 1 atmdriver_lkm
bmdriver_lkm 14912 1 atmdriver_lkm
ap2ap_lkm 26400 7 umac,atmdriver_lkm,kdsldmod,aclap_driver_lkm,sys KCode_lkm,ethdriver_lkm,bmdriver_lkm
fusivlib_lkm 57568 9 umac,atmdriver_lkm,kdsldmod,aclap_driver_lkm,sys KCode_lkm,ethdriver_lkm,periap_driver_lkm,bmdriver_lkm,ap2ap_lkm
rtc_avm 6256 1 pcmlink
rtc_core 16848 1 rtc_avm
led_modul_Fritz_Box_7390 98832 6

Wenn ich im Freetz-WebIF unter "Freetz Info" schaue, stehen dort aber alle nötigen Module/Libraries.
 
Doch, den brauchst Du. Also lies Dir mal endlich durch, wie iptables funktioniert.

Wenn mein Problem sich danach von selbst löst, gerne. Sollte es das nicht, hoffe ich, dass du mir dann endlich hilfst. :p
 
-You are forwarding packets, so the rules must be in the forward in stead of input chain.
The input chain is for filtering traffic to processes on local host

-iptables -A INPUT -s nagios.domain.de -m tcp -p tcp -d 0.0.0.0 --dport 8080 -j ACCEPT
Make sure internet connection is up, before setting a rule like that. The DNS name will be looked up once iptables command is executed.

-iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to 192.168.0.2:80
Just use fritzbox webgui to map ports. It works without iptables nat functionality
 
Ist meine Konfiguration also nicht korrekt? Ich höre nur, ich soll lesen wass meine Befehle machen. Ich denke, dass ich weiß was sie tun.
Wenn dir schon mehrere Leute das gesagt haben, dann koennte da was dran sein, oder?
In Wikipedia gibts n Schema, wo du sehen kannst, wie die Ketten durchlaufen werden.
Was willst du mit INPUT? Achja, ich frage nochmal, was soll "-d 0.0.0.0"?
Jede Regel hat einen Zaehler, da kannst du sehen, ob sie gegriffen hat, so mal als Anfang...
 
Habs geschafft, das Stichwort "forward" war hilfreich. Mir war nicht bewusst, dass aufgrund des port-forwards die packete nicht mehr "inputs" sondern "forwards" sind.
Daher ist auch -d 0.0.0.0 nicht korrekt sondern müsste -d 192.168.0.2 sein und der --dport entsprechend der ziel-port und nicht der port der an der Box ankommt.

Danke für die Hilfe an dieser Stelle. Werde mich jetzt auch mal mehr mit iptables auseinander setzen, Halbwissen ist wohl doch nicht genug. ^^
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,172
Beiträge
2,247,422
Mitglieder
373,715
Neuestes Mitglied
wesleymoons87
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.