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
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
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