Ebtables: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 41: Zeile 41:
 
     bridge_stp no
 
     bridge_stp no
 
</pre>
 
</pre>
 +
 +
*ifup vmbr0
  
 
=Schaubild=
 
=Schaubild=

Version vom 19. September 2022, 17:20 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 bridge-utils

/etc/network/interfaces

auto lo
iface lo inet loopback

auto enp0s3
iface enp0s3 inet static
 address 10.0.10.11/24
 gateway 10.0.10.1

auto enp0s8
iface enp0s8 inet manual

auto enp0s9
iface enp0s9 inet manual

auto vmbr0
iface vmbr0 inet manual
    bridge_ports enp0s8 enp0s9
    bridge_fd 5
    bridge_stp no
  • ifup vmbr0

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

Setup

Links