Nftables in Raspian Bullseye für Wireguard

avenga
Goto Top
Hallo,
ich habe gestern Raspian Bullseye auf meinem RPi4 installiert und wollte eigentlich meine Wireguard iptables-Regeln in nftables anwenden.


Die Übersetzung lautet:

inet = ip&ip6 gleichzeitig
für PostDown entsprechend nft delete ...

Damit lässt sich Wireguard nicht starten und meldet einen Fehler bei nft.

Also iptables installiert und die alten Regeln wieder genommen -> läuft.

Wenn ich jetzt:
aufrufe, werden die iptables scheinbar korrekt in nftables umgewandelt.

Mir ist auch noch aufgefallen, dass der Dienst gar nicht läuft:


Aber scheinbar braucht es den doch nicht.

Über Hilfe würde ich mich freuen.
MfG

Content-Key: 1518358068

Url: https://administrator.de/contentid/1518358068

Ausgedruckt am: 28.05.2022 um 17:05 Uhr

Mitglied: Avenga
Avenga 17.11.2021 aktualisiert um 07:58:20 Uhr
Goto Top
P.S. die Fehlermeldung von Wireguard:

Das fand ich dazu:
Zitat:
You're probably missing your table or chain.

nft list ruleset

will give you what you are working with. If it prints out nothing, you're missing both.

nft add table ip filter # create table
nft add chain ip filter INPUT { type filter hook input priority 0 \; } # create chain

ich habe keine Ahnung wie man das in die wg0 config einbauen könnte.
Mitglied: 149569
149569 17.11.2021 aktualisiert um 08:09:02 Uhr
Goto Top
aufrufe, werden die iptables scheinbar korrekt in nftables umgewandelt.
Mir ist auch noch aufgefallen, dass der Dienst gar nicht läuft:
Normal weil die Userland automatisch im Hintergrund das ganze nach nftables konvertieren, einfach mal lesen ....
https://sanjuroe.dev/iptables-vs-nftables


Zitat von @Avenga:

P.S. die Fehlermeldung von Wireguard:
Error: Could not process rule: No such file or directory
Ist ja auch logisch, denn inet ist nicht gleich ip und in deinem Regelwerk gibt es nur eine Tabelle filter im Bereich ip und nicht in inet, somit ist klar daß er diese nicht findet.

ich habe keine Ahnung wie man das in die wg0 config einbauen könnte.
Gar nicht weil wenn man komplett mit nftables arbeitet hat man diese natürlich schon vorher im Regelwerk fest angelegt. Wie man das macht ist ja allseits bekannt:

https://wiki.nftables.org/wiki-nftables/index.php/Main_Page#Examples
Mitglied: Avenga
Avenga 17.11.2021 um 08:12:53 Uhr
Goto Top
Danke, mit nur "ip" statt "inet" kam die gleiche Fehlermeldung.

Kannst du mir sagen wie und vorallem was ich wo genau vorher im Regelwerk fest anlegen muss ?
Will ungern experimentieren.
Mitglied: 149569
Lösung 149569 17.11.2021 aktualisiert um 11:14:17 Uhr
Goto Top
Zitat von @Avenga:

Danke, mit nur "ip" statt "inet" kam die gleiche Fehlermeldung.

Kannst du mir sagen wie und vorallem was ich wo genau vorher im Regelwerk fest anlegen muss ?
Will ungern experimentieren.
DU willst also allen ernstes die Verantwortung deiner Firewall in UNSERE Hände legen?? DU musst dafür hinterher die Verantwortung tragen nicht wir!
Also lies die Links oben ganz aufmerksam vor allem die Beispiele für SERVER und CLIENTS dann passt du deine Default Regeln an deine Bedürfnisse an (die benötigten Dienste die auf deinem Gerät laufen kennen wir ja nicht), kopierst das ganze in die Konfigurationsdatei nach /etc/nftables.conf und aktivierst den nftables Dienst mit sudo systemctl enable nftables.

Dann machst du folgendes in deiner wireguard config für die postup und postdowns, hier nur das Beispiel für die Forwarding-Rules (Namen der Tables und chains nat. anpassen), das Masquerading darfst du dann als Hausaufgabe selbst machen.


Das wäre jetzt plain Rules hinzufügen, effektiver würde es werden du legst ein set in nftables an und fügst nur das Interface zu dieser Liste hinzu dann musst du keine Regeln hinzufügen oder löschen sondern änderst nur das set.

Das sähe dann mit der Nutzung von set's bspw. so aus

nftables.conf

Das Wireguard PostUpDown reduziert sich dann auf das Hinzufügen und Entfernen des Interface zum/aus dem set

Fertig

Never trust anyone, always verify what you are doing!
Mitglied: Avenga
Avenga 17.11.2021 um 18:09:58 Uhr
Goto Top
Danke hacktor, das übersteigt meine Kompetenzen bei Weitem.
Da bleibe ich bei der iptables Krücke.
Mitglied: 149569
149569 17.11.2021 aktualisiert um 21:21:18 Uhr
Goto Top
Zitat von @Avenga:
Da bleibe ich bei der iptables Krücke.
Wieso Krücke?? Iptables ist genauso wie nftables eine Firewall die ebenso gut ihre Arbeit auf zig Millionen von Routern verrichtet, die Vorteile von nftables wirst du bei deinem derzeitigen Wissensstand eh nicht nutzen können, erst recht nicht auf der Hardware.