[solved] Iptables in nftables umwandeln und einrichten - bitte um unterstützung

Alles rund um sicherheitsrelevante Fragen und Probleme.
Antworten
RedRocket88
Beiträge: 3
Registriert: 26.03.2020 10:57:53

[solved] Iptables in nftables umwandeln und einrichten - bitte um unterstützung

Beitrag von RedRocket88 » 26.03.2020 11:39:50

Ich versuche seit ca. 6 Stunden die Firewall hinzubekommen und obwohl ich normal eher kein Mensch bin der in Foren nachfragt, stattdessen über Google und Recherche versucht das Problem zu lösen, komme ich diesmal, zu meinem Verdruss, leider absolut nicht weiter.

Was ich erreichen möchte:
Auf dem Raspberry Pi 3 - Debian Buster, OpenVPN(bereits eingerichtet): Firewallregeln einrichten, um bei einem Verbindungsabbruch zum VPN Server die Internetverbindung zu sperren also quasi nur Pakete über tun0/OpenVPN ins Internet durchlassen.

Ich hab mir eine Iptable zurecht gebastelt aber leider wird die auf meinem Pi nicht angenommen :/

Ich habe auch versucht die Iptable zu nftable zu konvertieren aber ich bekomme auch da Fehlermeldungen.
Nach Tipps aus dem Internet habe ich folgendes erfolglos probiert: Umwandlung mit dos2unix ausgeführt(keine Veränderung), xtable-restore, als bash script schreiben und dann mit -x ausführen um die fehlerhaften Zeilen zu finden(ich habe leider keinen Fehler finden können), Kommentare und Leerzeilen entfernt, Leerzeichen sind auch keine drin.

Leider kann ich es per Hand nicht in nftable syntax übersetzen, ich bin mehr oder weniger Linuxanfänger und es gibt kaum Tutorials zu nftable mit denen ich etwas anfangen kann.

Kann mir jemand helfen?
(Fehlermeldungen und die Iptable sind unter diesem Absatz angehängt)

Ausgabe test als bashscript:

Code: Alles auswählen

root@raspberrypi:/home/pi/IpTablesKillswitchVPN# bash -x ipv4_2.sh
+ iptables -P INPUT DROP
+ iptables -P FORWARD DROP
+ iptables -P OUTPUT DROP
+ iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
+ iptables -A OUTPUT -o lo -j ACCEPT
+ iptables -A OUTPUT -o tun0 -p icmp -j ACCEPT
+ iptables -A OUTPUT -d 192.168.2.0/24 -j ACCEPT
+ iptables -A INPUT -s 192.168.2.0/24 -j ACCEPT
+ iptables -A OUTPUT -d 192.168.1.0/24 -j ACCEPT
+ iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT
+ iptables -A OUTPUT -d 208.67.222.222 -j ACCEPT
+ iptables -A OUTPUT -d 208.67.220.220 -j ACCEPT
+ iptables -A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
+ iptables -A OUTPUT -o tun0 -j ACCEPT
Ausgabe test iptables-restore bzw iptables-nft-restore und xtable-restore und iptables-restore-translate:

Code: Alles auswählen


root@raspberrypi:/home/pi# iptables-restore < /home/pi/IpTablesKillswitchVPN/ipv4
iptables-restore v1.8.2 (nf_tables): no command specified
Error occurred at line: 33

root@raspberrypi:/home/pi/IpTablesKillswitchVPN# iptables-nft-restore < /etc/ipv4
iptables-restore v1.8.2 (nf_tables): no command specified
Error occurred at line: 33

root@raspberrypi:/home/pi# xtables-restore -4 -T </home/pi/IpTablesKillswitchVPN/ipv4>
bash: Syntaxfehler beim unerwarteten Wort `newline'

Ausgabe Iptables convert:
root@raspberrypi:/home/pi/IpTablesKillswitchVPN# iptables-restore-translate -f ipv4 > ipv4_nf.txt
iptables-translate-restore: line 2 failed
IpTable:

Code: Alles auswählen

*filter
# IPTable VPN Killswitch, von https://linuxconfig.org/how-to-create-a-vpn-killswitch-using-iptables-on-linux
# Eingerichtet am 26.03.2020

# Kompletten Verkehr erstmal verbieten, drop traffic by default
-P INPUT DROP
-P FORWARD DROP
-P OUTPUT DROP

# Only allow inbound traffic from established or related connections
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

# Allow the loopback interface and ping
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o tun0 -p icmp -j ACCEPT

# LAN Verkehr erlauben sowohl Input als auch Output, 
# für SSH, Weboberflächen usw
-A OUTPUT -d 192.168.2.0/24 -j ACCEPT
-A INPUT -s 192.168.2.0/24 -j ACCEPT
-A OUTPUT -d 192.168.1.0/24 -j ACCEPT
-A INPUT -s 192.168.1.0/24 -j ACCEPT

# DNS Server die erlaubt sind zu kontaktieren
# Ich wähle hier OpenDNS, ich halte die für vertrauenswürdig und zuverlässig
-A OUTPUT -d 208.67.222.222 -j ACCEPT
-A OUTPUT -d 208.67.220.220 -j ACCEPT

# VPN Server Port, UDP/TCP und Interface(tun0) erlauben
-A OUTPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A OUTPUT -o tun0 -j ACCEPT

COMMIT
Zuletzt geändert von RedRocket88 am 26.03.2020 13:01:58, insgesamt 13-mal geändert.

Benutzeravatar
MSfree
Beiträge: 10775
Registriert: 25.09.2007 19:59:30

Re: Iptables in nftables umwandeln und einrichten - bitte um unterstützung

Beitrag von MSfree » 26.03.2020 11:48:10

RedRocket88 hat geschrieben: ↑ zum Beitrag ↑
26.03.2020 11:39:50
Ich hab mir eine Iptable zurecht gebastelt aber leider wird die auf meinem Pi nicht angenommen :/
Raspbian unterstützt iptables in vollem Umfang und unterscheidet sich nicht vom "normalen" Debian. Wenn das was nciht angenommen wird, liegt es nicht am Raspi und seinem OS.

Wie lauten die Fehelrmeldungen?

RedRocket88
Beiträge: 3
Registriert: 26.03.2020 10:57:53

Re: Iptables in nftables umwandeln und einrichten - bitte um unterstützung

Beitrag von RedRocket88 » 26.03.2020 11:51:05

Raspbian unterstützt iptables in vollem Umfang und unterscheidet sich nicht vom "normalen" Debian. Wenn das was nciht angenommen wird, liegt es nicht am Raspi und seinem OS.
Wie lauten die Fehelrmeldungen?
Ich hab die Fehlermeldungen und meine Iptable an meinen Startpost angehängt

TomL

Re: Iptables in nftables umwandeln und einrichten - bitte um unterstützung

Beitrag von TomL » 26.03.2020 12:05:20

  1. Lösch alle aktiven Filterregeln
  2. Starte das Script ./ipv4_2.sh manuell, um die Regeln sauber anzulegen
  3. Erstelle mit iptables-save >ip.nf eine aktuelle Ausgabe der Regeln an die Stelle, von der sie später mit Restore wieder geladen werden soll.
  4. Ab jetzt sollte der iptables-restore <ip.nf wieder klappen

RedRocket88
Beiträge: 3
Registriert: 26.03.2020 10:57:53

Re: Iptables in nftables umwandeln und einrichten - bitte um unterstützung

Beitrag von RedRocket88 » 26.03.2020 12:44:31

TomL hat geschrieben: ↑ zum Beitrag ↑
26.03.2020 12:05:20
  1. Lösch alle aktiven Filterregeln
  2. Starte das Script ./ipv4_2.sh manuell, um die Regeln sauber anzulegen
  3. Erstelle mit iptables-save >ip.nf eine aktuelle Ausgabe der Regeln an die Stelle, von der sie später mit Restore wieder geladen werden soll.
  4. Ab jetzt sollte der iptables-restore <ip.nf wieder klappen
Vielen vielen Dank!!!
Das hat geklappt!
Und ich konnte die so generierte Datei jetzt auch problemlos in nftable syntax umwandeln.
Ob ich jetzt IPTable oder nftable verwende muss ich noch schauen, aber auf jeden Fall klappt es.

Dankeschön

Antworten