Der Befehl iptables nicht mehr erkennt eines der am häufigsten verwendeten Optionen , wenn Regeln definieren: --dport
.
Ich erhalte diesen Fehler:
[root@dragonweyr /home/calyodelphi]# iptables -A INPUT --dport 7777 -j ACCEPT_TCP_UDP
iptables v1.4.7: unknown option `--dport'
Try `iptables -h' or 'iptables --help' for more information.
Der obige Befehl add rule ist nur ein Beispiel für die Aktivierung von Terraria-Verbindungen.
listiptables
Folgendes habe ich derzeit als Barebones- Iptables- Konfiguration ( mit Alias iptables -L -v --line-numbers
), und es ist offensichtlich, dass dies --dport
in der Vergangenheit funktioniert hat:
root@dragonweyr /home/calyodelphi]# listiptables
Chain INPUT (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 39 4368 ACCEPT all -- lo any anywhere anywhere
2 114 10257 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
3 1 64 ACCEPT tcp -- eth1 any anywhere anywhere tcp dpt:EtherNet/IP-1
4 72 11610 ACCEPT all -- eth1 any anywhere anywhere
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 91 packets, 10045 bytes)
num pkts bytes target prot opt in out source destination
Chain ACCEPT_TCP_UDP (0 references)
num pkts bytes target prot opt in out source destination
1 0 0 ACCEPT tcp -- any any anywhere anywhere
Ich versuche auch, eine benutzerdefinierte Kette (inspiriert von dieser Frage ) zu definieren, um TCP- und UDP-Verbindungen zu akzeptieren, damit ich nicht zwei Regeln für alles definieren muss, für das ich TCP und UDP aktivieren möchte (z. B. Minecraft oder Terraria-Server oder ein anderer Dienst vollständig). Aber auch das funktioniert nicht:
[root@dragonweyr /home/calyodelphi]# iptables -P ACCEPT_TCP_UDP DROP
iptables: Bad built-in chain name.
Dies wird in höflicher Hinsicht sehr frustrierend (das Ausmaß der damit verbundenen Flüche würde einen Seemann dazu bringen, auf meinen Mund zu achten). Mein Google-fu ist schrecklich, deshalb habe ich noch keine funktionierende Lösung für all dies gefunden. Ich verwende CentOS 6.5 auf dem Router. Jede Hilfe und jeder Hinweis, den ihr anbieten könnt, wäre fantastisch.
BEARBEITEN:
Bonusfrage: Ich plane auch, die Portweiterleitung zu konfigurieren. Müssen weiterhin Regeln festgelegt werden, um eingehende Verbindungen über bestimmte Ports zu akzeptieren?
quelle
-p all
und habe genau den gleichen Fehler bekommen.unknown option --dport
. Es hat funktioniert,-p tcp
aber das wird mir in diesem Fall nicht wirklich helfen, da es nur zu demselben Problem führt: das Definieren individueller TCP / UDP-Regeln für alles.all
nie mit der Angabe eines Ports funktioniert. Anstatt jedoch mehrere Regeln für verschiedene Protokolle zu haben, können Sie sich die Regeln in einer anderen Richtung überlegen. Erstellen Sie Regeln basierend auf dem Protokoll und verwenden Sie dann diemultiports
Option, um einige Regeln zu gruppieren.-p ICMP --dport whatever
würde aus offensichtlichen Gründen auch nicht funktionieren).Protokoll (-p) ist erforderlich, wenn Sie --dport verwenden. Beispiel:
quelle
@dmourati und @diegows haben Ihre erste Frage bereits beantwortet, daher werde ich mich mit Ihrer zweiten Frage befassen. Und Bonusfrage. Und ich werde auch einen Bonus-Tipp einwerfen;)
iptables -P
Akzeptiert nur eingebaute Ketten. In derfilter
Tabelle würde, dass seinINPUT
,OUTPUT
undFORWARD
Ketten.Die Portweiterleitung wird von der
INPUT
Kette nicht verarbeitet, sodass Sie den Port in derINPUT
Kette nicht öffnen müssen . Es wird jedoch von derFORWARD
Kette gehandhabt . Sei vorsichtig damit.Bonus-Tipp: Beim Lernen und / oder bei der Fehlerbehebung
iptables
ist der Output von "iptables-save
Kopf & Schultern" besser als der Output von "Kopf & Schultern"iptables -L -v --line-numbers
. Probieren Sie es aus, Sie werden angenehm überrascht sein :)quelle
iptables
Probleme mit der-save
Ausgabe zu diagnostizieren . warum findest du es besser alsiptables -L -n -v [--line-numbers]
?--dport
Optionen tatsächlich-p tcp
vor sich haben. Sie können auch sehen, wie / wann die Regelverarbeitung von einer eingebauten Kette (z. B. INPUT) zu einer benutzerdefinierten Kette (z. B. ACCEPT_TCP_UDP) wechselt. Diese beiden wichtigen Informationen sind in der Ausgabe von nicht sichtbariptables -L -n
.iptables-save > somefile
bearbeitensomefile
und danniptables-apply -t 600 somefile
testen. Wenn ich mich versehentlich ausblende, kehren die Regeln nach 600 Sekunden zurück.iptables-save
Bevor ich diese Frage stellte, benutzte ich, um aus einem Raw-Konfigurations-Dump zu lernen. Ich hatte jedoch nicht damit gerechnet, dass sich dieFORWARD
Kette dort befindet, wo ich auf die Portweiterleitung achten muss. Ich werde darüber nachlesen müssen.