iptables - Unknown arg '--dport'

Sani120

Neuer User
Mitglied seit
30 Aug 2010
Beiträge
14
Punkte für Reaktionen
0
Punkte
0
Hallo,
eine Frage zum iptables Modul. Wenn ich in der Oberfläche eine bestimmte Rule angebe und diese zur Ausführung bringe, erhalte ich ein "failed" Ergebnis. In meinem Fall hatte er folgendes Statement generiert:

Code:
iptables -A FORWARD -s 192.168.23.0 -d 192.168.178.260 -p all  --dport 80   -j ACCEPT

Wenn ich das Statement auf der Kommandozeile abschicke, erhalte ich:

Code:
iptables v1.4.1.1: Unknown arg `--dport'

Wird ein Destination Port in diesem Szenario nicht unterstützt? :confused: Oder stehe ich bei was anderem völlig auf dem Schlauch?
 
In welchem Modul versteckt sich --dport? Ich habe schon einige Module drin, dennoch kommt "unknown option --dport"

Hier mal meine Config für iptables:

Code:
FREETZ_SHOW_UNSTABLE_PACKAGES=y
FREETZ_PACKAGE_IPTABLES=y
FREETZ_PACKAGE_IPTABLES_IS_SELECTABLE=y
FREETZ_PACKAGE_IPTABLES_SAVE_RESTORE=y
FREETZ_PACKAGE_IPTABLES_KERNEL_MODULES=y
FREETZ_MODULE_nf_conntrack=y
FREETZ_MODULE_nf_conntrack_ipv4=y
FREETZ_MODULE_nf_defrag_ipv4=y
FREETZ_MODULE_nf_nat=y
FREETZ_MODULE_iptable_nat=y
FREETZ_MODULE_ip_tables=y
FREETZ_MODULE_ipt_REJECT=y
FREETZ_MODULE_x_tables=y
FREETZ_MODULE_xt_tcpudp=y
FREETZ_MODULE_xt_tcpmss=y
FREETZ_PACKAGE_IPTABLES_SHARED_LIBS=y
FREETZ_LIB_libipt_DNAT=y
FREETZ_LIB_libipt_MASQUERADE=y
FREETZ_LIB_libipt_REJECT=y
FREETZ_LIB_libipt_SNAT=y
FREETZ_LIB_libip6t_icmp6=y
FREETZ_LIB_libip6t_REJECT=y
 
Just try basic iptables command, like below (specify either tcp or udp to be able to use ports)
iptables -A forward -p udp --dport domain -j ACCEPT
Also , make sure required modules are loaded, having them compiled-in is not enough....
 
Can u tell me which module is required for --dport? Probably missing something but already loaded tcp/udp as u see in my latest posts config.
 
I guess it's xt_tcpudp. is that module listed when you type lsmod??
 
I guess it's xt_tcpudp. is that module listed when you type lsmod??

lsmod doesnt show up xt_tcpudp, but freetz-webif freetz-info does.

Wie genau sieht denn das Kommando aus, das diese Meldung bringt?
iptables -A INPUT -s 192.168.0.5 -p tcp -d 192.168.0.1 --dport 80 -j ACCEPT
iptables v1.4.11.1: unknown option "--dport"
Try `iptables -h' or 'iptables --help' for more information.

1:1 das gleiche Skript funktioniert unter debian squeeze ohne Probleme. Ist quasi kopiert.
 
On freetz-webif: freetz-modules, add iptables modules, so they will be loaded (and ready to use) at boot time.
previous response: "having them compiled-in is not enough...."
 
Meine Vermutung ist, dass nicht Kernel-Module, sondern iptables Libraries fehlen.
Schau mal, ob /usr/lib/xtables/libxt_tcp.so und /usr/lib/xtables/libxt_standard.so auf der Box sind.
 
Die files sind tatsächlich nicht da, ist die Frage, wieso das so ist.
 
Bis auf libxt_standard hab ich alles markiert, meinst du, es hat an der libxt_standard gelegen? Kann grad nicht reflashen weil ich derzeit noch was am laufen habe.

[Edit]
Okay, es hat an der libxt_standard gelegen.

Muss ich noch irgendwie einstellen, dass er die AVM Firewall jetzt nur fürs Portforwarding nutzt oder so? Anscheinend scheinen die Rules nicht zu fruchten...
 
Zuletzt bearbeitet:
Wenn die Datei /usr/lib/xtables/libxt_standard.so fehlt, erscheint es sinnvoll, die Option libxt_standard zu aktivieren.

Die Regeln der AVM Firewall gelten immer.
 
ich habe die standard jetzt drin und die regeln werden angelegt. gedropped wird trotzdem nichts, obwohl ich nur eine IP auf den Port zulasse. Als destination hab ich 0.0.0.0
Trotzdem ist der Port offen wie ein Scheunentor, iptables muss ich also nicht noch explizit aktivieren?
 
Zum Einen ist das hier nicht der iptables Lehrgang.

Wenn Du aber nicht einmal schreiben willst, was genau Du als Regel angelegt hast und was sich nicht so verhält, wie Du es erwartest, warum schreibst Du dann hier überhaupt?
 
Ich brauche keinen Lehrgang, ursprünglich gings mir um das Modul wirrwarr welches wir ja glücklicherweise gelöst haben.

Ich kann dir die Regeln gerne zeigen:
IPTABLES="/usr/sbin/iptables"
DESTIP="0.0.0.0"

# Flush iptables
$IPTABLES -F
$IPTABLES -X
# Static Allow
$IPTABLES -A INPUT -s 192.168.0.10 -m tcp -p tcp -d $DESTIP --dport 8080 -j ACCEPT
# Drops
$IPTABLES -A INPUT -d $DESTIP -m tcp -p tcp --dport 8080 -j DROP

Theoretisch müsste er also alle Anfragen auf 8080 blockieren, lediglich mein Nagios hätte Zugriff. Leider kann trotzdem jeder drauf zugreifen.

iptables -L -n
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 192.168.0.10 0.0.0.0 tcp dpt:8080
DROP tcp -- 0.0.0.0/0 0.0.0.0 tcp dpt:8080

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Ich habe eine Interne IP in meinem Zitat verwendet, normal ist es eine feste IP 62.157.XXX.XXX, die spielt hier aber mMn. keine Rolle. Du kannst mir natürlich gern all IPs deiner Server hier nennen wenn du das möchtest.
 
Zuletzt bearbeitet:
DROP tcp -- 0.0.0.0/0 0.0.0.0 tcp dpt:8080
Diese Regel bewirkt, dass TCP-Verbindungen von beliebigen Hosts (0.0.0.0/0, also müssen nur die ersten 0 Bits der Adresse des Quellhosts mit 0.0.0.0 übereinstimmen) zu Port 8080 des Hosts 0.0.0.0 (ohne Angabe einer Maske, also implizit /32: alle 32 Bits der Zielhost-Adresse müssen mit 0.0.0.0 übereinstimmen damit die Regel angewendet wird) gedropt werden.

Also entweder die Angabe "-d 0.0.0.0" ganz weglassen, oder in "-d 0.0.0.0/0" ändern.
In der ersten Regel natürlich auch, sonst wird auch der zu erlaubende Host ausgesperrt, da er ja nicht mit 0.0.0.0 reden will, sondern mit der IP-Adresse der Fritzbox.
 
Wenn ich -d 0.0.0.0 weglasse oder -d 0.0.0.0/0 daraus mache bleibt der Port trotzdem weiterhin offen. :(
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?!
 
Zuletzt bearbeitet:
Die AVM-Firewall greift dort. Bitte sorge dafür, dass deine Regeln zusammen passen.
 
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.