![Ubuntu-Router-Setup-Anleitung - Iptables-Regeln](https://rvso.com/image/1452271/Ubuntu-Router-Setup-Anleitung%20-%20Iptables-Regeln.png)
Ich versuche, die Bedeutung der iptables
Regeln in derOffizielle Anleitung zum Einrichten eines Ubuntu-Routers. Beispiel: *nat
. Ich kann im Internet nirgendwo etwas *nat
für finden iptables
.
*nat
-A POSTROUTING -o "$EXTIF" -j MASQUERADE
COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i "$INTIF" -o "$EXTIF" -j ACCEPT
-A FORWARD -j LOG
COMMIT
Antwort1
Ich glaube, es handelt sich um den Selektor für den Namen der Tabelle. Der *
wird anstelle der -t
Option für die Kommandozeilenvariante des Befehls verwendet, mit wird die Tabelle ausgewählt. Normalerweise würde die Tabelle beispielsweise durch die Angabe von ausgewählt -t <tablename>
, also in diesem Fall -t nat
, um die Tabelle auszuwählennatürlichTisch:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Das von Ihnen angegebene Beispiel verwendet die Eingabeumleitung von einemhier Dokumentzu iptables-restore
– beachten Sie das <<EOF ... EOF
und daher werden anstelle der Befehlszeilenoption ( -t
) einzelne Zeilen verwendet, wie folgt:
iptables-restore <<-EOF
*nat
-A POSTROUTING -o "$EXTIF" -j MASQUERADE
COMMIT
EOF
Man könnte argumentieren, dass es -A
noch immer in diesem Dokument steht, warum aber -t
nicht? Ich kenne die Antwort darauf nicht, hoffentlich kennt sie jemand anderes.
Ebenso wird nach der *nat
Bearbeitung COMMIT
der *filter
Tabelle diese ausgewählt, bearbeitet und anschließend COMMIT
bearbeitet.
iptables-restore <<-EOF
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -i "$EXTIF" -o "$INTIF" -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i "$INTIF" -o "$EXTIF" -j ACCEPT
-A FORWARD -j LOG
COMMIT
EOF
Wenn Sie nach einem Tutorial suchen, finden Sie möglicherweise diesNAT - NetzwerkadressübersetzungTutorial nützlich.