iptables -A fügt eine oder mehrere Regeln hinzu

iptables -A fügt eine oder mehrere Regeln hinzu

Ich habe mir heute die Manpage von iptables angesehen und bemerkt, dass die Beschreibung von -A lautet: „Füge eineoder mehrRegeln bis zum Ende der ausgewählten Kette“. Bedeutet das, dass wenn ich:

iptables -A INPUT {...rule1...}
iptables -A INPUT {...rule2...}

könnte es auf eine Zeile vereinfacht werden?

iptables -A INPUT {...rule1; rule2...}

Ich habe bei Google gesucht und kann kein Beispiel dafür finden, dass dies jemals jemand gemacht hat, aber wenn möglich, würde es einige meiner Skripte vereinfachen.

Antwort1

Sie können bei einem Aufruf nur eine Regeldefinition angeben iptables -A.

Wenn Sie jedoch eine Adresse wie www.example.com verwenden, die zufällig in mehr als eine Adresse aufgelöst wird, werden mehrere Regeln angehängt, eine für jede Adresse.

Beispiel: (es wurden falsche IPs verwendet …):

$ host www.example.com
www.example.com has address 10.1.2.3
www.example.com has address 10.1.2.4
$ sudo iptables -A INPUT -s www.example.com -j ACCEPT
$ sudo iptables -L INPUT -vn
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 208K  250M ACCEPT     all  --  *      *       192.168.0.0/16       0.0.0.0/0           
    0     0 ACCEPT     all  --  *      *       10.1.2.3             0.0.0.0/0
    0     0 ACCEPT     all  --  *      *       10.1.2.4             0.0.0.0/0      

Sie haben jetzt also mit einem iptables -AAufruf mehr als eine Regel eingefügt.

Ich stimme zu, dass dies aus der Manpage-Beschreibung nicht ganz hervorgeht.

Antwort2

Regel Nr. 1 pro iptables-Aufruf. Die Option „Anhängen“ steht im Gegensatz zur Option „Einfügen“. Anhängen bedeutet, dass die neue Regel an das Ende der Regelliste gesetzt wird, während „Einfügen“ die Regel am Anfang der Liste hinzufügt.

iptables -I INPUT {Rule1}
iptables -I INPUT {Rule2}

würde zu folgenden Regeln führen:

{Rule2}
{Rule1}

Wo

iptables -A INPUT {Rule1}
iptables -A INPUT {Rule2}

würde zur Folge haben,

{Rule1}
{Rule2}

verwandte Informationen