<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=IP6Tables_-_Schnelleinstieg</id>
	<title>IP6Tables - Schnelleinstieg - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=IP6Tables_-_Schnelleinstieg"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=IP6Tables_-_Schnelleinstieg&amp;action=history"/>
	<updated>2026-05-14T22:36:11Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=IP6Tables_-_Schnelleinstieg&amp;diff=20435&amp;oldid=prev</id>
		<title>Robin.will: /* Die Ketten der filter Kette */</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=IP6Tables_-_Schnelleinstieg&amp;diff=20435&amp;oldid=prev"/>
		<updated>2020-03-27T10:44:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Die Ketten der filter Kette&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 27. März 2020, 10:44 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l20&quot; &gt;Zeile 20:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 20:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*'''OUTPUT''': für die über eine Schnittstelle herausgehenden Pakete, die von einem lokalen Dienst&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*'''OUTPUT''': für die über eine Schnittstelle herausgehenden Pakete, die von einem lokalen Dienst&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Datei:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;ip6tables&lt;/del&gt;-filter.png|500px]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Datei:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;iptables&lt;/ins&gt;-filter.png|500px]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Die Filter Regeln der filter Tabelle==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Die Filter Regeln der filter Tabelle==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff::1.12:old-20430:rev-20435 --&gt;
&lt;/table&gt;</summary>
		<author><name>Robin.will</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=IP6Tables_-_Schnelleinstieg&amp;diff=20430&amp;oldid=prev</id>
		<title>Dr.xinux am 27. März 2020 um 09:48 Uhr</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=IP6Tables_-_Schnelleinstieg&amp;diff=20430&amp;oldid=prev"/>
		<updated>2020-03-27T09:48:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 27. März 2020, 09:48 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Zeile 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Zeile 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Ö&lt;/del&gt;=Iptables Funktionsweise=&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=Iptables Funktionsweise=&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Iptables besteht aus:  &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Iptables besteht aus:  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Tabellen (tables)&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;*Tabellen (tables)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key my_wiki:diff::1.12:old-20429:rev-20430 --&gt;
&lt;/table&gt;</summary>
		<author><name>Dr.xinux</name></author>
	</entry>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=IP6Tables_-_Schnelleinstieg&amp;diff=20429&amp;oldid=prev</id>
		<title>Dr.xinux: Die Seite wurde neu angelegt: „Ö=Iptables Funktionsweise= Iptables besteht aus:  *Tabellen (tables) *Ketten (chains) *Filterregeln (rules) *Ziele (destinations)  =Tabellen= ==filter== Die T…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=IP6Tables_-_Schnelleinstieg&amp;diff=20429&amp;oldid=prev"/>
		<updated>2020-03-27T09:48:05Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „Ö=Iptables Funktionsweise= Iptables besteht aus:  *Tabellen (tables) *Ketten (chains) *Filterregeln (rules) *Ziele (destinations)  =Tabellen= ==filter== Die T…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Ö=Iptables Funktionsweise=&lt;br /&gt;
Iptables besteht aus: &lt;br /&gt;
*Tabellen (tables)&lt;br /&gt;
*Ketten (chains)&lt;br /&gt;
*Filterregeln (rules)&lt;br /&gt;
*Ziele (destinations)&lt;br /&gt;
&lt;br /&gt;
=Tabellen=&lt;br /&gt;
==filter==&lt;br /&gt;
Die Tabelle filter prüft alle für die Firewall ankommenden Pakete und entscheidet ob sie durchgelassen oder geblockt werden.&lt;br /&gt;
==nat==&lt;br /&gt;
NAT wird benutzt um  IP-Adressen oder Ports zu übersetzen/ändern (= Network Adress Translation).&lt;br /&gt;
==mangle==&lt;br /&gt;
Die Tabelle mangle (übersetzt: zerhauen) ermöglicht es dem Kernel, Daten im Paket-Header zu verändern.&lt;br /&gt;
&lt;br /&gt;
=Die filter Tabelle=&lt;br /&gt;
==Die Ketten der filter Kette==&lt;br /&gt;
*'''FORWARD''': für Pakte die über eine Schnittstelle hereinkommen, den Rechner auch wieder verlassen. &lt;br /&gt;
*'''INPUT''': für Pakete die über eine Schnittstelle hereinkommen und einen Dienst auf dem Rechner ansprechen&lt;br /&gt;
*'''OUTPUT''': für die über eine Schnittstelle herausgehenden Pakete, die von einem lokalen Dienst&lt;br /&gt;
&lt;br /&gt;
[[Datei:ip6tables-filter.png|500px]]&lt;br /&gt;
&lt;br /&gt;
==Die Filter Regeln der filter Tabelle==&lt;br /&gt;
Regeln werden mit '''ip6tables''' erstellt und an Ziele geschickt.&lt;br /&gt;
==Ziele der filter Tabelle==&lt;br /&gt;
*'''ACCEPT''': das Paket kann passieren&lt;br /&gt;
*'''REJECT''': das Paket wird zurückgewiesen und ein Fehlerpaket wird gesendet&lt;br /&gt;
*'''LOG''': schreibt einen Eintrag in die syslog&lt;br /&gt;
*'''DROP''': das Paket wird ignoriert und keine Antwort gesendet&lt;br /&gt;
&lt;br /&gt;
=Syntax Allgemein=&lt;br /&gt;
Die Momentan in der '''filter''' Tabelle gesetzten Ketten und Regeln sieht man mit &lt;br /&gt;
*ip6tables -nvL -t filter &lt;br /&gt;
 -L        # Listing&lt;br /&gt;
 -t filter # anzeigen der filter Kette&lt;br /&gt;
 -n        # numerical&lt;br /&gt;
 -v        # verbose&lt;br /&gt;
Da -t filter Default ist, kann man es auch weglassen,&lt;br /&gt;
*ip6tables -nvL -t filter&lt;br /&gt;
=Funktionsweise=&lt;br /&gt;
Die Regeln werden nacheinander abgearbeitet wenn eine Regel greift hört der Verarbeitungsprozess auf. Wenn keine greift wird die Default Policy angewandt.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!colspan=&amp;quot;6&amp;quot;|filter table&lt;br /&gt;
|-style=&amp;quot;font-style: italic; color: blue;&amp;quot;&lt;br /&gt;
||INPUT||OUTPUT||FORWARD&lt;br /&gt;
|-&lt;br /&gt;
||rule 1 ||rule 1 ||rule 1&lt;br /&gt;
|-&lt;br /&gt;
||rule 2 ||rule 2 ||rule 2&lt;br /&gt;
|-&lt;br /&gt;
||rule 3 ||rule 3 ||rule 3&lt;br /&gt;
|-&lt;br /&gt;
||rule 4 ||rule 4 ||rule 4&lt;br /&gt;
|-&lt;br /&gt;
||rule 5 ||rule 5 ||rule 5&lt;br /&gt;
|-&lt;br /&gt;
||rule 6 ||rule 6 ||rule 6&lt;br /&gt;
|-style=&amp;quot;font-style: italic; color: red;&amp;quot;&lt;br /&gt;
||POLICY||POLICY||POLICY&lt;br /&gt;
|}&lt;br /&gt;
=Firewallscript=&lt;br /&gt;
==Der Rumpf==&lt;br /&gt;
Zuerst wird in dem firewall-Skript ein case start - stop Block angelegt:&lt;br /&gt;
*cd /usr/local/sbin/&lt;br /&gt;
*vi firewall&lt;br /&gt;
 '''#!/bin/bash'''&lt;br /&gt;
  '''case $1 in'''&lt;br /&gt;
   '''start)'''&lt;br /&gt;
    '''echo &amp;quot;starte firewall&amp;quot;'''&lt;br /&gt;
   ''';;'''&lt;br /&gt;
   '''stop)'''&lt;br /&gt;
    '''echo &amp;quot;stoppe firewall&amp;quot;'''&lt;br /&gt;
   ''';;'''&lt;br /&gt;
   '''*)'''&lt;br /&gt;
    '''echo &amp;quot;usage: $0 start|stop&amp;quot;'''&lt;br /&gt;
   ''';;'''&lt;br /&gt;
  '''esac'''&lt;br /&gt;
&lt;br /&gt;
==Script ausführbar machen==&lt;br /&gt;
*chmod +x firewall&lt;br /&gt;
&lt;br /&gt;
==Testen des Scripts==&lt;br /&gt;
*firewall start&lt;br /&gt;
*firewall stop&lt;br /&gt;
*firewall&lt;br /&gt;
==Flushen aller vorhergehenden Regeln==&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
   start)&lt;br /&gt;
    echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
    '''ip6tables -F'''   &lt;br /&gt;
    ;;&lt;br /&gt;
    stop)&lt;br /&gt;
     echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
     '''ip6tables -F'''&lt;br /&gt;
     ;;&lt;br /&gt;
 esac&lt;br /&gt;
==Setzen der Default Policys==&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 '''ip6tables -P INPUT DROP'''&lt;br /&gt;
 '''ip6tables -P OUTPUT DROP'''&lt;br /&gt;
 '''ip6tables -P FORWARD DROP'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 '''ip6tables -P INPUT ACCEPT'''&lt;br /&gt;
 '''ip6tables -P OUTPUT ACCEPT'''&lt;br /&gt;
 '''ip6tables -P FORWARD ACCEPT'''&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
==ESTABLISHED und RELATED Pakete (Connection Tracking)==&lt;br /&gt;
Ein Vorteil von ip6tables zu seinen Vorgängern ist die Funktion seinen Paketfilter nur auf die ersten Pakete einer Verbindung zu begrenzen und so Ressourcen zu sparen.&lt;br /&gt;
Dieses wird erreicht mit folgenden Zeilen&lt;br /&gt;
&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT DROP&lt;br /&gt;
 ip6tables -P OUTPUT DROP&lt;br /&gt;
 ip6tables -P FORWARD DROP&lt;br /&gt;
 '''ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT'''&lt;br /&gt;
 '''ip6tables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT'''&lt;br /&gt;
 '''ip6tables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT ACCEPT&lt;br /&gt;
 ip6tables -P OUTPUT ACCEPT&lt;br /&gt;
 ip6tables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:Die neuen Funktionen die wir hier verwenden beinhalten:&lt;br /&gt;
:'''-m conntrack''': Das Modul von ip6tables das erkennt ob ein Paket eine Verbindung initiiert oder zu einer bereits errichteten Verbindung gehört. &lt;br /&gt;
:'''--ctstate ESTABLISHED,RELATED''': Der Status nach dem das Paket untersucht wird, wobei&lt;br /&gt;
:'''ESTABLISHED''': Pakete die zu einer Verbindung gehören. Also frühestens das 2 Paket.&lt;br /&gt;
:'''RELATED''': Pakete die in einer relation zu einer anderen Verbindung stehen.&lt;br /&gt;
:'''-j ACCEPT''' Regel springt zum ACCEPT Ziel.&lt;br /&gt;
&lt;br /&gt;
==Die ersten Regeln die auch treffen==&lt;br /&gt;
Nun haben wir schon ein paar Regeln aber noch keine die bisher zutreffen kann. Wenn wir diese Firewall aktivieren würden wäre unser eigener Router Nichtmal mehr in der Lage mit sich selbst zu kommunizieren. &lt;br /&gt;
===Das loopbackdevice===&lt;br /&gt;
Da er dies über das sogennante '''&amp;quot;loopback device&amp;quot;''' lassen wir jetzt unsere ersten Pakete durch.&lt;br /&gt;
  #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT DROP&lt;br /&gt;
 ip6tables -P OUTPUT DROP&lt;br /&gt;
 ip6tables -P FORWARD DROP&lt;br /&gt;
 ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 '''ip6tables -A OUTPUT -o lo -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 '''ip6tables -A INPUT -i lo -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
  ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT ACCEPT&lt;br /&gt;
 ip6tables -P OUTPUT ACCEPT&lt;br /&gt;
 ip6tables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:'''-o lo''': output interface hier '''lo'''&lt;br /&gt;
:'''-i lo''': input interface hier '''lo'''&lt;br /&gt;
:'''-m conntrack''': laden des state Moduls&lt;br /&gt;
:'''--ctstate NEW''': Das erste Paket einer Verbindung &lt;br /&gt;
:'''-j ACCEPT''': springe zum ACCEPT Ziel&lt;br /&gt;
&lt;br /&gt;
==Neue Regeln und Variablen==&lt;br /&gt;
===Wir lassen ausgehenden Verkehr vom Rechner zu lassen ssh und icmp Zugriff auf die Firewall zu ===&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT DROP&lt;br /&gt;
 ip6tables -P OUTPUT DROP&lt;br /&gt;
 ip6tables -P FORWARD DROP&lt;br /&gt;
 ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -o lo -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i lo  -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 '''ip6tables -A OUTPUT -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 '''ip6tables -A INPUT  -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT ACCEPT&lt;br /&gt;
 ip6tables -P OUTPUT ACCEPT&lt;br /&gt;
 ip6tables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
;Verwendete Syntax&lt;br /&gt;
:'''-p tcp''': protokoll tcp&lt;br /&gt;
:'''--dport 22 ''': destination port 22&lt;br /&gt;
===Variablen Definition und Zugriff von Innen und Multiport Modul===&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 LANDEV=enp0s8&lt;br /&gt;
 WANDEV=enp0s3 &lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT DROP&lt;br /&gt;
 ip6tables -P OUTPUT DROP&lt;br /&gt;
 ip6tables -P FORWARD DROP&lt;br /&gt;
 ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -o lo -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i lo  -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 ip6tables -A OUTPUT -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT  -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 '''ip6tables -A INPUT -i $LANDEV -p tcp -m multiport --dport 53,80,443 -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 '''ip6tables -A INPUT -i $LANDEV -p udp -m multiport --dport 53,67 -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT ACCEPT&lt;br /&gt;
 ip6tables -P OUTPUT ACCEPT&lt;br /&gt;
 ip6tables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
===Diverse Forward Regeln und Logging===&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 LANDEV=enp0s8&lt;br /&gt;
 WANDEV=enp0s3 &lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT DROP&lt;br /&gt;
 ip6tables -P OUTPUT DROP&lt;br /&gt;
 ip6tables -P FORWARD DROP&lt;br /&gt;
 ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -o lo -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i lo  -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 ip6tables -A OUTPUT -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT  -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i $LANDEV -p tcp -m multiport --dport 53,80,443 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i $LANDEV -p udp -m multiport --dport 53,67 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 '''ip6tables -A FORWARD -i $LANDEV -o $WANDEV -p tcp -m multiport --dport 22,25,53,80,443,465,993 -m conntrack --ctstate NEW -j ACCEPT''' &lt;br /&gt;
 '''ip6tables -A FORWARD -i $LANDEV -o $WANDEV -p udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 '''ip6tables -A FORWARD -i $LANDEV -o $WANDEV -p icmp -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 '''ip6tables -A INPUT  -j LOG  --log-prefix &amp;quot;--ip6tables-in--&amp;quot;'''&lt;br /&gt;
 '''ip6tables -A OUTPUT -j LOG  --log-prefix &amp;quot;--ip6tables-out--&amp;quot;'''&lt;br /&gt;
 '''ip6tables -A FORWARD -j LOG --log-prefix &amp;quot;--ip6tables-for--&amp;quot;'''&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT ACCEPT&lt;br /&gt;
 ip6tables -P OUTPUT ACCEPT&lt;br /&gt;
 ip6tables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
==Logging==&lt;br /&gt;
*tail -f /var/log/syslog | grep 'ip6tables'&lt;br /&gt;
=Automatischer Start=&lt;br /&gt;
*[[Systemd Service Firewall]]&lt;br /&gt;
=Die nat Tabelle=&lt;br /&gt;
==Die Ketten der filter Kette==&lt;br /&gt;
*'''POSTROUTING''': für Pakte die über eine Schnittstelle hereinkommen, und noch keine Routing Entscheidung getroffen wurde. &lt;br /&gt;
*'''INPUT''': für Pakete die über eine Schnittstelle hereinkommen und einen Dienst auf dem Rechner ansprechen.&lt;br /&gt;
*'''OUTPUT''': für Pakete die von einem Dienst generiert werden und den Rechner wieder verlassen,&lt;br /&gt;
*'''PREROUTING''': für die über eine Schnittstelle herausgehenden Pakete, nach der Rounting Entscheidung.&lt;br /&gt;
&lt;br /&gt;
[[Datei:ip6tables-nat-filter.png|400px]]&lt;br /&gt;
&lt;br /&gt;
==Ziele der filter Tabelle==&lt;br /&gt;
*'''DNAT''': Ziel IP oder Ziel PORT werden verändert. Wird in der PREROUTING und INPUT Kette angewandt&lt;br /&gt;
*'''SNAT''': Quell IP oder Quell PORT werden verändert. Wird in der POSTROUTING und OUTPUT Kette angewandt&lt;br /&gt;
*'''MASQUERADE''': Es wird die Quell IP des ausgehenden Interfaces gesetzt. Wird in der POSTROUTING Kette angewandt,&lt;br /&gt;
*'''NETMAP''': ganze Netze werden umgesetzt. (PREROUTING und POSTROUTING Kette)&lt;br /&gt;
*'''LOG''': schreibt einen Eintrag in die syslog.&lt;br /&gt;
*'''ACCEPT''': Nur in der Default Policy sinnvoll. Sollte nicht verändert werden.&lt;br /&gt;
===Maskierungen===&lt;br /&gt;
;Beim ersten Paket wird die IP Adresse des ausgehenden Interface eingesetzt.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 LANDEV=enp0s8&lt;br /&gt;
 WANDEV=enp0s3 &lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -t nat -F&lt;br /&gt;
 ip6tables -P INPUT DROP&lt;br /&gt;
 ip6tables -P OUTPUT DROP&lt;br /&gt;
 ip6tables -P FORWARD DROP&lt;br /&gt;
 ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -o lo -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i lo  -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 ip6tables -A OUTPUT -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT  -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i $LANDEV -p tcp -m multiport --dport 53,80,443 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i $LANDEV -p udp -m multiport --dport 53,67 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -i $LANDEV -o $WANDEV -p tcp -m multiport --dport 22,25,53,80,443,465,993 -m conntrack --ctstate NEW -j ACCEPT &lt;br /&gt;
 ip6tables -A FORWARD -i $LANDEV -o $WANDEV -p udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -i $LANDEV -o $WANDEV -p icmp -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 '''ip6tables -t nat -A POSTROUTING -o $WANDEV -j MASQUERADE'''&lt;br /&gt;
 ip6tables -A INPUT  -j LOG  --log-prefix &amp;quot;--ip6tables-in--&amp;quot;&lt;br /&gt;
 ip6tables -A OUTPUT -j LOG  --log-prefix &amp;quot;--ip6tables-out--&amp;quot;&lt;br /&gt;
 ip6tables -A FORWARD -j LOG --log-prefix &amp;quot;--ip6tables-for--&amp;quot;&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT ACCEPT&lt;br /&gt;
 ip6tables -P OUTPUT ACCEPT&lt;br /&gt;
 ip6tables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
===SNAT===&lt;br /&gt;
;Beim ersten Paket wird die angegebenene IP Adresse eingesetzt.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 LANDEV=enp0s8&lt;br /&gt;
 WANDEV=enp0s3 &lt;br /&gt;
 WANIP=&amp;quot;10.84.252.32&amp;quot;&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -t nat -F&lt;br /&gt;
 ip6tables -P INPUT DROP&lt;br /&gt;
 ip6tables -P OUTPUT DROP&lt;br /&gt;
 ip6tables -P FORWARD DROP&lt;br /&gt;
 ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -o lo -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i lo  -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 ip6tables -A OUTPUT -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT  -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i $LANDEV -p tcp -m multiport --dport 53,80,443 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i $LANDEV -p udp -m multiport --dport 53,67 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -i $LANDEV -o $WANDEV -p tcp -m multiport --dport 22,25,53,80,443,465,993 -m conntrack --ctstate NEW -j ACCEPT &lt;br /&gt;
 ip6tables -A FORWARD -i $LANDEV -o $WANDEV -p udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -i $LANDEV -o $WANDEV -p icmp -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 '''ip6tables -t nat -A POSTROUTING -o $WANDEV -j SNAT --to-source $WANIP'''&lt;br /&gt;
 ip6tables -A INPUT  -j LOG  --log-prefix &amp;quot;--ip6tables-in--&amp;quot;&lt;br /&gt;
 ip6tables -A OUTPUT -j LOG  --log-prefix &amp;quot;--ip6tables-out--&amp;quot;&lt;br /&gt;
 ip6tables -A FORWARD -j LOG --log-prefix &amp;quot;--ip6tables-for--&amp;quot;&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT ACCEPT&lt;br /&gt;
 ip6tables -P OUTPUT ACCEPT&lt;br /&gt;
 ip6tables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
===DNAT===&lt;br /&gt;
;Auf den internen Webserver auf Port 80 und 443 kann über die externer IP Adresse zugegriffen werden.&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 LANDEV=enp0s8&lt;br /&gt;
 WANDEV=enp0s3 &lt;br /&gt;
 WANIP=&amp;quot;10.84.252.32&amp;quot;&lt;br /&gt;
 WEBSERVER=&amp;quot;10.83.32.11&amp;quot;&lt;br /&gt;
 case $1 in&lt;br /&gt;
 start)&lt;br /&gt;
 echo &amp;quot;starte firewall&lt;br /&gt;
 ip6tables -F &lt;br /&gt;
 ip6tables -t nat -F&lt;br /&gt;
 ip6tables -P INPUT DROP&lt;br /&gt;
 ip6tables -P OUTPUT DROP&lt;br /&gt;
 ip6tables -P FORWARD DROP&lt;br /&gt;
 ip6tables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT&lt;br /&gt;
 ip6tables -A OUTPUT -o lo -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i lo  -m conntrack --ctstate NEW -j ACCEPT'''&lt;br /&gt;
 ip6tables -A OUTPUT -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT  -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i $LANDEV -p tcp -m multiport --dport 53,80,443 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A INPUT -i $LANDEV -p udp -m multiport --dport 53,67 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -i $LANDEV -o $WANDEV -p tcp -m multiport --dport 22,25,53,80,443,465,993 -m conntrack --ctstate NEW -j ACCEPT &lt;br /&gt;
 ip6tables -A FORWARD -i $LANDEV -o $WANDEV -p udp --dport 53 -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -A FORWARD -i $LANDEV -o $WANDEV -p icmp -m conntrack --ctstate NEW -j ACCEPT&lt;br /&gt;
 ip6tables -t nat -A POSTROUTING -o $WANDEV -j SNAT --to-source $WANIP&lt;br /&gt;
 '''ip6tables -A FORWARD -i $WANDEV -o $LANDEV -p tcp --dport 80 -d $WEBSERVER -j ACCEPT'''&lt;br /&gt;
 '''ip6tables -A FORWARD -i $WANDEV -o $LANDEV -p tcp --dport 443 -d $WEBSERVER -j ACCEPT'''&lt;br /&gt;
 '''ip6tables -t nat -A PREROUTING -i $WANDEV -j DNAT -d $WANIP -p tcp --dport 80 --to $WEBSERVER:80'''&lt;br /&gt;
 '''ip6tables -t nat -A PREROUTING -i $WANDEV -j DNAT -d $WANIP -p tcp --dport 443 --to $WEBSERVER:443'''&lt;br /&gt;
 ip6tables -A INPUT  -j LOG  --log-prefix &amp;quot;--ip6tables-in--&amp;quot;&lt;br /&gt;
 ip6tables -A OUTPUT -j LOG  --log-prefix &amp;quot;--ip6tables-out--&amp;quot;&lt;br /&gt;
 ip6tables -A FORWARD -j LOG --log-prefix &amp;quot;--ip6tables-for--&amp;quot;&lt;br /&gt;
 ;;&lt;br /&gt;
 stop)&lt;br /&gt;
 echo &amp;quot;stoppe firewall&amp;quot;&lt;br /&gt;
 ip6tables -F&lt;br /&gt;
 ip6tables -P INPUT ACCEPT&lt;br /&gt;
 ip6tables -P OUTPUT ACCEPT&lt;br /&gt;
 ip6tables -P FORWARD ACCEPT&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;/div&gt;</summary>
		<author><name>Dr.xinux</name></author>
	</entry>
</feed>