[fli4l] Firewall-Regeln auf Basis der mac-Adresse

Christoph Schulz fli4l at kristov.de
Mo Aug 1 22:50:43 CEST 2016


Hallo!

Am Mon, 01 Aug 2016 19:58:06 +0200 schrieb Matthias Taube:

> Hi,
> 
> ich möchte Firewall-Regeln auf Basis der MAC-Adresse definieren.
> 
> PF_FORWARD_[1]='mac:58:96:61:33:e8:80 ACCEPT NOLOG'
> [...]
> 1. Wie schränke ich den Paketfilter nach source-mac bzw destination-mac
> oder beiden zugleich ein?

Es geht nur die MAC-Adresse des Quellpakets. Die Ziel-MAC ist ja erst 
nach dem Routing bekannt, somit könnte eine Ziel-MAC höchstens in der 
POSTROUTING-Kette auftauchen, was Linux aber nicht unterstützt. 
(Zumindest nicht auf Layer-3-Ebene (iptables). Man kann via ebtables auf 
Layer-2-Ebene filtern, aber das ist nicht "ohne", und der fli4l hat auch 
keinen DAU-Modus für ebtables-Filter, d.h. man muss die Filter direkt in 
der ebtables-Syntax schreiben. Siehe OPT_TABLES im advanced_networking-
Paket.)

> 2. Sind das die mac der beteiligten Schnittstellen des fli4l oder des
> Quell- bzw. Zielsystems?

Das ist die Quell-MAC-Adresse, wie sie im Ethernet-Header drin steht. 
Nach der Ziel-MAC-Adresse im Header zu filtern wäre relativ sinnlos, weil 
dies die Adresse einer Karte im fli4l wäre, und da kann man viel 
einfacher nach Netzwerk-Schnittstellen (if:IP_NET_1_DEV:any o.ä.) filtern 
statt nach den zugehörigen MAC-Adressen.

> 3. Wie weit wird eine Quell-mac beim Routing im Internet durchgereicht
> bzw. welche Systeme tauschen diese gegen die eigene mac aus?

Nun, jedes Mal, wenn ein Ethernet-Paket den fli4l verlässt, hat es eine 
neue Quell-MAC (nämlich die der Karte, über die das Paket verschickt 
wird) und eine neue Ziel-MAC (nämlich die der Karte, wo das Paket hin 
soll).

Ich verstehe den Hintergrund der Frage vermutlich nicht. Ethernet-MAC-
Adressen sind Layer-2-Daten, d.h. bei jedem Routing-Vorgang werden sie 
neu gesetzt. Und wenn die Layer-2-Technologie wechselt, ändert sich auch 
das Format, etwa wenn ein IP-Paket erst über Ethernet beim fli4l ankommt 
und dann via ISDN zum Internet-Provider geht. ISDN kennt bekanntlich 
keine MACs... nur MSNs a.k.a. Telefonnummern.


Viele Grüße,
-- 
Christoph Schulz
[fli4l-Team]


Mehr Informationen über die Mailingliste Fli4L