Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
lpi2:iptables [2013/12/13 17:21] ingo_wichmann [iptables Syntax] |
lpi2:iptables [2019/12/19 17:19] (aktuell) dirk_streubel [Links] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== iptables beobachten ====== | ||
+ | watch -d iptables -nvL --line-numbers | ||
+ | |||
+ | * -L = List (auflisten) | ||
+ | * -n = no DNS-lookup | ||
+ | * -v = verbose (gesprächig) | ||
+ | * --line-numbers = Regeln Nummerieren (einzelne Regeln können anhand der Nummer z.B. gelöscht werden) | ||
+ | |||
+ | ====== iptables Regeln zurücksetzen ====== | ||
+ | ===== filter ===== | ||
+ | iptables -P INPUT ACCEPT | ||
+ | iptables -P OUTPUT ACCEPT | ||
+ | iptables -P FORWARD ACCEPT | ||
+ | iptables -F | ||
+ | iptables -X | ||
+ | ===== nat ===== | ||
+ | iptables -t nat -F | ||
+ | iptables -t nat -X | ||
+ | |||
+ | ====== iptables Syntax ====== | ||
+ | ^ table ^ command ^ chain ^ rule-specification ^^^ target ^^ | ||
+ | | -t filter | -A | INPUT | -s | | | -j | ACCEPT | | ||
+ | | ::: | -C | OUTPUT | -d | | | :::| DROP | | ||
+ | | ::: | -D | FORWARD | -i | | | :::| REJECT | | ||
+ | | ::: | -I | ::: | -o | | | :::| LOG | | ||
+ | | ::: | -R | ::: | | | | :::| ::: | | ||
+ | | -t nat | -L | PREROUTING | -p | udp | ''%%--dport%%'' | -j | SNAT | | ||
+ | | ::: | -S | OUTPUT | :::| ::: | ''%%--sport%%'' | :::| DNAT | | ||
+ | | ::: | -F | POSTROUTING | :::| tcp | ''%%--dport%%'' | :::| MASQUERADE | | ||
+ | | ::: | -Z | ::: | :::| ::: | ''%%--sport%%'' | :::| ::: | | ||
+ | | -t mangle | -N | PREROUTING | :::| icmp | ''%%--icmp-type%%'' | :::| ::: | | ||
+ | | ::: | -X | OUTPUT | | | | :::| ::: | | ||
+ | | ::: | -P | INPUT | -m | conntrack | ''%%--ctstate%%'' | :::| ::: | | ||
+ | | ::: | -E | POSTROUTING | | | | :::| ::: | | ||
+ | (( inspiriert von: | ||
+ | {{:iptables.jpg?direct&900|}} | ||
+ | )) | ||
+ | |||
====== Einbindung von iptables in den Bootvorgang ====== | ====== Einbindung von iptables in den Bootvorgang ====== | ||
- | ===== CentOS ===== | + | ===== CentOS (bis 6) ===== |
+ | Paket: iptables-services | ||
/etc/init.d/iptables save | /etc/init.d/iptables save | ||
speichert die aktuell aktiven iptables-Regeln in der Datei ''/etc/sysconfig/iptables''. Beim Booten werden sie hier wieder ausgelesen. | speichert die aktuell aktiven iptables-Regeln in der Datei ''/etc/sysconfig/iptables''. Beim Booten werden sie hier wieder ausgelesen. | ||
+ | |||
+ | ===== CentOS (ab 7) ===== | ||
+ | wie SuSE, oder ''firewalld'' nutzen | ||
+ | |||
===== SuSE ===== | ===== SuSE ===== | ||
Zeile 74: | Zeile 118: | ||
Und so wird es aktiviert: | Und so wird es aktiviert: | ||
update-rc.d iptables start 40 S . stop 89 0 6 . | update-rc.d iptables start 40 S . stop 89 0 6 . | ||
- | ===== iptables Syntax ===== | ||
- | | -t | filter | -A | INPUT | -s | | | -j | ACCEPT | | + | Alternativ: |
- | | :::| ::: | -C | OUTPUT | -d | | | :::| DROP | | + | ''/etc/network/interfaces'' : |
- | | :::| ::: | -D | FORWARD | -i | | | :::| REJECT | | + | <file> |
- | | :::| ::: | -I | ::: | -o | | | :::| LOG | | + | auto eth0 |
- | | :::| ::: | -R | ::: | | | | :::| ::: | | + | iface eth0 inet dhcp |
- | | -t | nat | -L | PREROUTING | -p | udp | --dport | -j | SNAT | | + | up sh -c 'iptables-restore < /etc/iptables' |
- | | :::| ::: | -S | OUTPUT | :::| ::: | --sport | :::| DNAT | | + | </file> |
- | | :::| ::: | -F | POSTROUTING | :::| tcp | --dport | :::| MASQUERADE | | + | |
- | | :::| ::: | -Z | ::: | :::| ::: | --sport | :::| ::: | | + | |
- | | -t | mangle | -N | PREROUTING | :::| icmp | --icmp-type | :::| | | + | |
- | | :::| ::: | -X | OUTPUT | | | | :::| | | + | |
- | | :::| ::: | -P | INPUT | -m | conntrack | --ctstate | :::| | | + | |
- | | :::| ::: | -E | POSTROUTING | | | | :::| | | + | |
- | + | ||
- | + | ||
- | ====== iptables Syntax ====== | + | |
- | {{:iptables.jpg?direct&900|}} | + | |
- | + | ||
- | ====== iptables beobachten ====== | + | |
- | watch -d iptables -L -n -v --line-numbers | + | |
- | + | ||
- | * -L = List (auflisten) | + | |
- | * -n = no DNS-lookup | + | |
- | * -v = verbose (gesprächig) | + | |
- | * --line-numbers = Regeln Nummerieren (einzelne Regeln können anhand der Nummer z.B. gelöscht werden) | + | |
- | + | ||
- | ====== iptables filter-Regeln komplett zurücksetzen ====== | + | |
- | iptables -P INPUT ACCEPT | + | |
- | iptables -P OUTPUT ACCEPT | + | |
- | iptables -P FORWARD ACCEPT | + | |
- | iptables -F | + | |
- | iptables -X | + | |
- | iptables -t nat -F | + | |
- | iptables -t nat -X | + | |
====== Einfacher Paketfilter mit NAT ====== | ====== Einfacher Paketfilter mit NAT ====== | ||
Zeile 178: | Zeile 194: | ||
* http://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO.html | * http://www.netfilter.org/documentation/HOWTO/netfilter-extensions-HOWTO.html | ||
* http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html | * http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html | ||
+ | * https://gist.github.com/mcastelino/c38e71eb0809d1427a6650d843c42ac2 | ||
+ | |||
- | ===== iptables und dhcp ===== | ||
- | * http://www.faveve.uni-stuttgart.de/it/auth/dhcp.php | ||
===== iptables und ssh ===== | ===== iptables und ssh ===== | ||
* http://www.debian-administration.org/articles/187 , aber: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=332231 | * http://www.debian-administration.org/articles/187 , aber: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=332231 | ||
+ |