<?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=Bridging_Firewall_Nftables</id>
	<title>Bridging Firewall Nftables - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ixheim.de/index.php?action=history&amp;feed=atom&amp;title=Bridging_Firewall_Nftables"/>
	<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Bridging_Firewall_Nftables&amp;action=history"/>
	<updated>2026-06-29T14:11:27Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Xinux Wiki</subtitle>
	<generator>MediaWiki 1.35.1</generator>
	<entry>
		<id>https://wiki.ixheim.de/index.php?title=Bridging_Firewall_Nftables&amp;diff=63364&amp;oldid=prev</id>
		<title>Thomas.will: Die Seite wurde neu angelegt: „=Was ist nftables für Bridges?= *nftables ist der moderne Ersatz für iptables, ip6tables, arptables und ebtables. *Für Ethernet-Filterung (Layer 2) auf Brid…“</title>
		<link rel="alternate" type="text/html" href="https://wiki.ixheim.de/index.php?title=Bridging_Firewall_Nftables&amp;diff=63364&amp;oldid=prev"/>
		<updated>2025-06-20T05:17:25Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „=Was ist nftables für Bridges?= *nftables ist der moderne Ersatz für iptables, ip6tables, arptables und ebtables. *Für Ethernet-Filterung (Layer 2) auf Brid…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=Was ist nftables für Bridges?=&lt;br /&gt;
*nftables ist der moderne Ersatz für iptables, ip6tables, arptables und ebtables.&lt;br /&gt;
*Für Ethernet-Filterung (Layer 2) auf Bridges kann nftables direkt mit dem Hook „bridge“ verwendet werden.&lt;br /&gt;
*Damit können MAC-Adressen, ARP, VLAN und IP-Pakete auf Bridge-Ebene gefiltert werden.&lt;br /&gt;
*Vorteile: einheitliche Syntax, atomare Regeländerung, besseres Logging, kein Chaos mehr mit 4 Tools.&lt;br /&gt;
*Bridge-Interfaces müssen in VirtualBox weiterhin auf „promiscuous mode“ stehen, damit alle Pakete verarbeitet werden können.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
*apt install nftables bridge-utils&lt;br /&gt;
&lt;br /&gt;
=/etc/network/interfaces=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
auto lo&lt;br /&gt;
iface lo inet loopback&lt;br /&gt;
&lt;br /&gt;
auto enp0s3&lt;br /&gt;
iface enp0s3 inet static&lt;br /&gt;
 address 10.0.10.11/24&lt;br /&gt;
 gateway 10.0.10.1&lt;br /&gt;
&lt;br /&gt;
auto enp0s8&lt;br /&gt;
iface enp0s8 inet manual&lt;br /&gt;
&lt;br /&gt;
auto enp0s9&lt;br /&gt;
iface enp0s9 inet manual&lt;br /&gt;
&lt;br /&gt;
auto vmbr0&lt;br /&gt;
iface vmbr0 inet manual&lt;br /&gt;
    bridge_ports enp0s8 enp0s9&lt;br /&gt;
    bridge_fd 5&lt;br /&gt;
    bridge_stp no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*ifup vmbr0&lt;br /&gt;
&lt;br /&gt;
=Konzept Schaubild=&lt;br /&gt;
*'''hook bridge''' wird für Pakete verwendet, die durch eine Linux-Bridge laufen.&lt;br /&gt;
*'''Prio -200''' ist der empfohlene Punkt, an dem man filtert (siehe nftables bridge-Hook).&lt;br /&gt;
*Filter sind möglich für:&lt;br /&gt;
**Ether-Typ (IPv4, ARP, VLAN, 802.1Q etc.)&lt;br /&gt;
**MAC-Quell- und Zieladresse&lt;br /&gt;
**IP-Adresse, Protokoll, Ports (wenn Ether-Typ IPv4 erkannt wird)&lt;br /&gt;
&lt;br /&gt;
=Skript mit nftables Regeln=&lt;br /&gt;
*cd /etc/nftables/&lt;br /&gt;
*vi bridge-firewall.nft&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/sbin/nft -f&lt;br /&gt;
&lt;br /&gt;
flush ruleset&lt;br /&gt;
&lt;br /&gt;
table bridge filter {&lt;br /&gt;
  chain forward {&lt;br /&gt;
    type filter hook forward priority -200; policy accept;&lt;br /&gt;
&lt;br /&gt;
    # Logging aller weitergeleiteten Pakete&lt;br /&gt;
    log prefix &amp;quot;BRIDGEFW: &amp;quot; level info&lt;br /&gt;
&lt;br /&gt;
    # Beispiel: MAC-Adresse blockieren&lt;br /&gt;
    # ether saddr 08:00:27:75:ba:ec drop&lt;br /&gt;
&lt;br /&gt;
    # Beispiel: Antispoofing – IP darf nur von bestimmter MAC kommen&lt;br /&gt;
    # ether saddr != 00:11:22:33:44:55 ip saddr 172.16.1.4 drop&lt;br /&gt;
&lt;br /&gt;
    # IPv4-Verkehr nur von einer MAC erlauben&lt;br /&gt;
    # ether saddr 00:11:22:33:44:55 ether type ip accept&lt;br /&gt;
    # drop # alles andere&lt;br /&gt;
&lt;br /&gt;
    # IPv4 erlauben&lt;br /&gt;
    ether type ip accept&lt;br /&gt;
    # ARP erlauben&lt;br /&gt;
    ether type arp accept&lt;br /&gt;
    # Alles andere droppen?&lt;br /&gt;
    # drop&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*chmod +x bridge-firewall.nft&lt;br /&gt;
&lt;br /&gt;
==Test der Regeln==&lt;br /&gt;
*nft -f /etc/nftables/bridge-firewall.nft&lt;br /&gt;
*nft list ruleset&lt;br /&gt;
&lt;br /&gt;
==Dauerhafte Aktivierung==&lt;br /&gt;
*vi /etc/nftables.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
include &amp;quot;/etc/nftables/bridge-firewall.nft&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*systemctl enable nftables&lt;br /&gt;
*systemctl start nftables&lt;br /&gt;
&lt;br /&gt;
=Hinweise zu nftables im Bridging=&lt;br /&gt;
*Bridge-Filtering funktioniert nur, wenn das Paket nicht schon im Kernel weiterverarbeitet wurde – promisc-Modus wichtig!&lt;br /&gt;
*Pakete, die an den Host selbst gehen, werden zusätzlich über den &amp;quot;inet&amp;quot;-Hook verarbeitet – dieser kann kombiniert werden.&lt;br /&gt;
&lt;br /&gt;
=Beispiel: Block MAC-Adresse auf Bridge=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ether saddr 08:00:27:75:ba:ec drop&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Links=&lt;br /&gt;
*https://wiki.nftables.org&lt;br /&gt;
*https://wiki.archlinux.org/title/Nftables#Bridge_filtering&lt;br /&gt;
*https://www.kernel.org/doc/html/latest/networking/nftables-bridge.html&lt;/div&gt;</summary>
		<author><name>Thomas.will</name></author>
	</entry>
</feed>