firewall mit local und dmz Macro und Variablenverständnis ...

Hallo,
ich nutze seit 22 primär Linux, meist Debian.... Nun möchte ich meinen embedded Router durch eine OpenBSD Maschine ersetzen, NAT, forwarding Firewall für den Einstieg, es am Anfang nicht zu komplex werden lassen. Installation von OpenBSD 6.8 hat gut geklappt. Baue aktuell pf.conf nach Handbuch "THE BOOK OP PF" sowie C&L "OpenBSD" auf. Ich habe drei Zonen:

Meine primären Fragen liegen in den "Syntaxdefinitionen" der pf.conf. Wie ist ein Makro erkennbar oder spezifiziert? Laut Buch ist dies ein Macro:

Was ist localnet (was es grundlegend ist, ist mir klar)? Eine bekannte Systemvariable, Konstante, Macro....? Also Syntaxspezifikation...
localnet = $int_if:network

Ist $ der Zugriff auf ein Macro?
Und was bewirke ich mit ..?
Die grundlegenden Fragen hinter Netzwerkgrundlagen, Firewall & Co. sollte ich aus der Linuxnutzung halbwegs kennen, verstanden haben...

Ich würde gern client_out für dmz und int unterschiedlich definieren, nur wie?
client_out ="{https, pop3,ssh}" # für int

client_out ="{https, pop3,ssh,http,ftp}" # für dmz
Das geht ja so nicht.


Gibt es eine gute Doku, Link wo man auf diese Fragen Antworten bekommt?

Über Tipps wäre ich dankbar.

Gruß Markus
 

morromett

Well-Known Member
Ist $ der Zugriff auf ein Macro?

Und was bewirke ich mit ..?
Ja. Du kannst eine rule auch mit pfctl anzeigen lassen. Z. B.:
Code:
pass in on $ext_if proto udp from any to any port xxxxx keep state
pass in quick on $wg_if inet from $wg_if:network to any modulate state
mit pfctl:
Code:
pass in on bse0 proto udp from any to any port = xxxxx keep state (if-bound)
pass in quick on wg0 inet from 192.168.###.0/24 to any flags S/SA modulate state (if-bound)

EDIT:

Siehe auch: https://www.benzedrine.ch/pf-testing-your-firewall.html
 
Hallo,

vielen Dank! Das muss ich erst mal teilweise verstehen lernen.

Kann man selbst Macros definieren, oder nur schon definierte pf Systemmacros "ausfüllen"?

Gruß und Dank Markus
 

Columbo0815

Kaffeemann
Teammitglied
Die Dokumentation - insbesondere von OpenBSD - ist vorbildlich. Deshalb ist das kein böse gemeintes "RTFM" sondern ein ehrlich gemeinter Tipp:


Macros are user-defined variables that can hold IP addresses, port numbers, interface names, etc. Macros can reduce the complexity of a PF ruleset and also make maintaining a ruleset much easier.

Damit sollte klar sein, dass du diese selbst definierst. :)
 

mr44er

moderater Moderator
Teammitglied
Ich habe bei Basteleien zwecks besserer Übersicht ganz gerne die Farben übernommen, wie sie IPFire vordefiniert hat.

$red=externes Netz
$green=internes Netz
$blue=WLAN
$orange=DMZ
...usw.
 
Oben