Hallo,
kurz Vorweg: Ich bin LAIE was VPNs, OpenVPN, Linux und Co angeht und auch mit dem Raspberry bin ich nur so hass-liebe-medium warm geworden. Und das Obwohl ich vom Pi A zu Pi4b fast jedes Modell besitze.
Meine Anforderung: Ich versuche jetzt seit einiger Zeit meinen Raspberry dazu zu bringen, als VPN-Router für mein LAN zu fungieren. (Idealerweise später einmal mit einer PiHole dazwischen)
Bisher läuft auf dem Pi OpenVPN als Client zum kommerziellen anbieter.
Ich neige inzwischen aber irgendwie zur Aufgabe, weil ich den Pi zwar als Gateway, aber NIEMALS als DNS angesprochen bekomme. Soweit ich verstanden habe, sollte das doch aber auch gehen - oder?
Folgendes klappt:
#1 OpenVPN installieren, zu kommerziellen anbieter verbienden.
#2 IP / DNS-Leaktest sagen: Alles i.O.
Ich würde diese Verbindung jetzt gerne von anderen Geräten im LAN mitnutzen wollen. Ich dachte dabei an Bidirektionales routing, NAT oder sowas. Wie gesagt - ich bin da eher Laie.
Dabei bin ich Gefühlt jeden Tutorial nachgelaufen, dass ich gesehen habe. Und wenn mich jemand fragt (und die Kommentare dieser) so scheinen wirklich ALLE obsolet zu sein
Das einzige Tutorial, dass ich fand, dass tatsächlich den Verkehr (Gateway only!) routed, ist dieses: https://www.novaspirit.com/2017/06/22/ras…n-router-w-pia/ )
Allerdings musste ich auch hier sowohl bei den Autostart-Vorgängen improvisieren, als dass es mir wie gesagt auch nicht möglich ist, den Raspberry als DNS zu verwenden. Nur als Gateway.
a) Gebe ich auf einem Clienten die Beere als Gateway UND Dns an, so ist das Resultat: Kein Internet.
b) Gebe ich auf einem Clienten die Beere als Gateway UND meinen Router als DNS an, so habe Internet und die IP der Beere - LEAKE aber DNS wie hulle.
c) Gebe ich auf einem Clienten die Beere als Gateway an und Cloudflare als DNS (1.1.1.1), so habe Internet und die IP der Beere - habe aber halt einen weiteren DNS im Boot.
Der Trick den Verkehr ans eth zu verteilen ist eigentlich nur folgender:
sudo nano /etc/sysctl.conf
net.ipv4.ip_forward = 1
sudo sysctl -p
sudo iptables -A INPUT -i lo -m comment --comment "loopback" -j ACCEPT
sudo iptables -A OUTPUT -o lo -m comment --comment "loopback" -j ACCEPT
sudo iptables -I INPUT -i eth0 -m comment --comment "In from LAN" -j ACCEPT
sudo iptables -I OUTPUT -o tun+ -m comment --comment "Out to VPN" -j ACCEPT
sudo iptables -A OUTPUT -o eth0 -p udp --dport 1198 -m comment --comment "openvpn" -j ACCEPT
sudo iptables -A OUTPUT -o eth0 -p udp --dport 123 -m comment --comment "ntp" -j ACCEPT
sudo iptables -A OUTPUT -p UDP --dport 67:68 -m comment --comment "dhcp" -j ACCEPT
sudo iptables -A OUTPUT -o eth0 -p udp --dport 53 -m comment --comment "dns" -j ACCEPT
sudo iptables -A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth0 -o tun+ -m comment --comment "LAN out to VPN" -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o tun+ -j MASQUERADE
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
Alles anzeigen
Weiss jemand aus Intuition oder Erfahrung, was ich übersehe? Kennt jemand ein gutes AKTUELLES Tutorial oder einen AKTUELLEN Weg (idealerweise double failsafe selbst geprüft), wie man seine kommerzielle Verbindung (OPENVPN) auf dem Raspberry an Geräte im LAN ohne einen Clienten Verfügbar machen kann? Zur Not auch mit! Ich hätte auch noch einen Pi3b und einen Pi3b+ zum Testen.
Danke und Gruß
Kreis