Ebtables: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Setup) |
|||
| Zeile 26: | Zeile 26: | ||
{{#drawio:ebtables-2}} | {{#drawio:ebtables-2}} | ||
| + | *Jedes Paket durchläuft nur eine Filter Kette | ||
| + | |||
| + | ==Die Regeln der Tabelle== | ||
| + | Regeln werden mit '''ebtables''' erstellt und an Ziele geschickt. | ||
| + | ==Ziele der Tabelle== | ||
| + | *'''ACCEPT''': das Paket kann passieren | ||
| + | *'''LOG''': schreibt einen Eintrag in die syslog | ||
| + | *'''DROP''': das Paket wird ignoriert und keine Antwort gesendet | ||
| + | |||
| + | =Syntax Allgemein= | ||
| + | *eptables -L | ||
| + | -L # Listing | ||
| + | -t filter # anzeigen der filter Kette | ||
| + | Da -t filter Default ist, kann man es auch weglassen, | ||
| + | *ebtables -L -t filter | ||
| + | =Firewallscript= | ||
| + | ==Der Rumpf== | ||
| + | Zuerst wird in dem firewall-Skript ein case start - stop Block angelegt: | ||
| + | *cd /usr/local/sbin/ | ||
| + | *vi | ||
| + | #!/bin/bash | ||
| + | case $1 in | ||
| + | start) | ||
| + | echo "starte firewall" | ||
| + | #flushen der Regeln | ||
| + | ebtables -F | ||
| + | ebtables -F -t nat | ||
| + | ebtables -P INPUT ACCEPT | ||
| + | ebtables -P OUTPUT ACCEPT | ||
| + | ebtables -P FORWARD DROP | ||
| + | ;; | ||
| + | stop) | ||
| + | echo "stoppe firewall" | ||
| + | ebtables -F | ||
| + | ebtables -P INPUT ACCEPT | ||
| + | ebtables -P OUTPUT ACCEPT | ||
| + | ebtables -P FORWARD ACCEPT | ||
| + | ;; | ||
| + | esac | ||
| + | ==Script ausführbar machen== | ||
| + | *chmod +x firewall | ||
| + | |||
| + | ==Testen des Scripts== | ||
| + | *firewall start | ||
| + | *firewall stop | ||
| + | *firewall | ||
=Setup= | =Setup= | ||
{{#drawio:ebtables-1}} | {{#drawio:ebtables-1}} | ||
Version vom 4. September 2022, 13:24 Uhr
Was ist ebtables
- Das Programm ebtables ist ein Filtertool für eine Linux-basierte Bridging-Firewall.
- Es ermöglicht eine transparente Filterung des Netzwerkverkehrs, der eine Linux-Bridge passiert.
- Die Filtermöglichkeiten beschränken sich auf die Link-Layer-Filterung
- Sowieeinige grundlegende Filterungen auf höheren Netzwerkschichten.
- Erweiterte Protokollierung, MAC DNAT/SNAT und Brouter-Einrichtungen sind ebenfalls enthalten.
- Das ebtables-Tool kann mit den anderen Linux-Filtertools (iptables, ip6tables und arptables) kombiniert werden.*um eine *Damit kann man überbrückende Firewall erstellen, die auch in der Lage ist, diese höheren Netzwerkschichten zu filtern. *Dies wird durch die Bridge-Netfilter-Architektur ermöglicht, die Teil des Standard-Linux-Kernels ist.
Haupteigenschaften
- Verwendung analog zu iptables
- Ethernet-Filterung
- MAC NAT: Möglichkeit, die MAC-Ethernet-Quell- und -Zieladresse zu ändern.
- Dies kann in einigen sehr seltsamen Setups nützlich sein (ein reales Beispiel ist verfügbar).
- Brouting: Entscheiden Sie, welcher Datenverkehr zwischen zwei Schnittstellen überbrückt werden soll.
- Beziehungsweisewelcher Datenverkehr zwischen denselben beiden Schnittstellen geleitet werden soll.
- Die beiden Schnittstellen gehören zu einem logischen Bridge-Gerät
- haben aber ihre eigene IP-Adresse und können zu einem anderen Subnetz gehören.
- Übergeben Sie Pakete an Userspace-Programme, indem Sie Netlink-Sockets verwenden.
Installation
- apt install ebtables
Schaubild
Die Ketten
- FORWARD: für Pakte, die über eine Schnittstelle hereinkommen und den Rechner auch wieder verlassen.
- INPUT: für Pakete, die über eine Schnittstelle hereinkommen und einen Dienst auf dem Rechner ansprechen
- OUTPUT: für herausgehende Pakete, die von einem lokalen Dienst erzeugt wurden.
- Jedes Paket durchläuft nur eine Filter Kette
Die Regeln der Tabelle
Regeln werden mit ebtables erstellt und an Ziele geschickt.
Ziele der Tabelle
- ACCEPT: das Paket kann passieren
- LOG: schreibt einen Eintrag in die syslog
- DROP: das Paket wird ignoriert und keine Antwort gesendet
Syntax Allgemein
- eptables -L
-L # Listing -t filter # anzeigen der filter Kette
Da -t filter Default ist, kann man es auch weglassen,
- ebtables -L -t filter
Firewallscript
Der Rumpf
Zuerst wird in dem firewall-Skript ein case start - stop Block angelegt:
- cd /usr/local/sbin/
- vi
#!/bin/bash case $1 in start) echo "starte firewall" #flushen der Regeln ebtables -F ebtables -F -t nat ebtables -P INPUT ACCEPT ebtables -P OUTPUT ACCEPT ebtables -P FORWARD DROP ;; stop) echo "stoppe firewall" ebtables -F ebtables -P INPUT ACCEPT ebtables -P OUTPUT ACCEPT ebtables -P FORWARD ACCEPT ;; esac
Script ausführbar machen
- chmod +x firewall
Testen des Scripts
- firewall start
- firewall stop
- firewall

