IPTables - Schnelleinstieg: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 83: Zeile 83:
 
*firewall stop
 
*firewall stop
 
*firewall
 
*firewall
 +
=Flushen aller vorhergehenden Regeln=
 +
  #!/bin/bash
 +
case $1 in
 +
start)
 +
echo "starte firewall"
 +
'''iptables -F'''
 +
'''iptables -t nat -F'''
 +
'''iptables -t mangle -F'''
 +
 +
 +
;;
 +
stop)
 +
echo "stoppe firewall"
 +
'''iptables -F'''
 +
'''iptables -t nat -F'''
 +
'''iptables -t mangle -F'''
 +
 +
;;
 +
esac

Version vom 20. November 2019, 19:52 Uhr

Iptables Funktionsweise

Iptables besteht aus:

  • Tabellen (tables)
  • Ketten (chains)
  • Filterregeln (rules)

Chains

filter

Die Tabelle filter prüft alle für die Firewall ankommenden Pakete und entscheidet ob sie durchgelassen oder geblockt werden.

nat

NAT wird benutzt um IP-Adressen oder Ports zu übersetzen/ändern (= Network Adress Translation).

mangle

Die Tabelle mangle (übersetzt: zerhauen) ermöglicht es dem Kernel, Daten im Paket-Header zu verändern.

Die filter Kette

Die Tabellen der filter Kette

  • FORWARD: für Pakte die über eine Schnittstelle hereinkommen, den Rechner auch wieder verlassen.
  • INPUT: für Pakete die über eine Schnittstelle hereinkommen und einen Dienst auf dem Rechner ansprechen
  • OUTPUT: für die über eine Schnittstelle herausgehenden Pakete, die von einem lokalen Dienst

Iptables-1.jpg

Die Filter Regeln der filter Kette

Regeln werden mit iptables erstellt und an Ziele geschickt.

Ziele der filter Kette

  • ACCEPT: das Paket kann passieren
  • REJECT: das Paket wird zurückgewiesen und ein Fehlerpaket wird gesendet
  • LOG: schreibt einen Eintrag in die syslog
  • DROP: das Paket wird ignoriert und keine Antwort gesendet

Syntax Allgemein

Die Momentan in der filter Tabelle gesetzten Ketten und Regeln sieht man mit

  • iptables -nvL -t filter
-L        # Listing
-t filter # anzeigen der filter Kette
-n        # numerical
-v        # verbose

Da -t filter Default ist, kann man es auch weglassen,

  • iptables -nvL -t filter

Funktionsweise

Die Regeln werden nacheinander abgearbeitet wenn eine Regel greift hört der Verarbeitungsprozess auf. Wenn keine greift wird die Default Policy angewandt.

filter table
INPUT OUTPUT FORWARD
rule 1 rule 1 rule 1
rule 2 rule 2 rule 2
rule 3 rule 3 rule 3
rule 4 rule 4 rule 4
rule 5 rule 5 rule 5
rule 6 rule 6 rule 6
POLICY POLICY POLICY

Firewallscript

Der Rumpf

Zuerst wird in dem firewall-Skript ein case start - stop Block angelegt:

  • cd /usr/local/sbin/
  • vi firewall
#!/bin/bash
case $1 in
 start)
  echo "start firewall"
 ;;
 stop)
  echo "stop firewall"
 ;;
 *)
  echo "usage: $0 start|stop" 
 ;;
esac

Script ausführbar machen

  • chmod firewall

Testen des Scripts

  • firewall start
  • firewall stop
  • firewall

Flushen aller vorhergehenden Regeln

 #!/bin/bash
case $1 in
start)
echo "starte firewall"
iptables -F
iptables -t nat -F
iptables -t mangle -F


;;
stop)
echo "stoppe firewall"
iptables -F
iptables -t nat -F
iptables -t mangle -F
;;
esac