PI als VPN-Router für lokale Rechner

18

Ich möchte einigen meiner Maschinen den Zugriff auf das Internet über eine VPN-Verbindung ermöglichen. Meine Idee ist, dass der PI einfach eine Verbindung herstellen und dann Anforderungen von den anderen Computern durch diese weiterleiten kann.

Ich denke, dass die Einrichtung eines Standard-Routers des Geräts auf die IP des PI.

Könnten Sie mir bitte Hinweise geben, welche Pakete / Dienste ich benötige, obwohl Sie schon Erfahrung mit der Konfiguration einer Vielzahl von Kommandozeilenfunktionen haben?

Zusammenfassung des Setups:

  • PI-Verbindung mit dem Internet direkt über den Standard-Router
  • PI erstellt eine VPN-Verbindung (OpenVPN) und überwacht den Datenverkehr auf seiner lokalen Schnittstelle
  • PI stellt die Verbindung bei Fehlern wieder her
  • Bei anderen Netzwerkgeräten ist das Standardgateway auf die IP des PI eingestellt, und der gesamte Datenverkehr wird über das VPN abgewickelt, sofern dieses aktiv ist (und keine Internetverbindung, wenn das VPN nicht aktiv ist).

Ich benötige keine NAT- oder DHCP-Dienste (DNS kann auch über das VPN gehen).

petr
quelle
Was ist der Punkt? Wenn Sie Ihren Pi in Ihrem lokalen Netzwerk verwenden, um eine ausgehende Verbindung herzustellen, warum verwenden Sie nicht Ihre anderen Computer, um eine ähnliche ausgehende Verbindung direkt herzustellen, wodurch Sie die Kosten für Pi und die Kopfschmerzen bei der Installation und Einrichtung von Software sparen? Bei der herkömmlichen VPN-Einrichtung handelt es sich um den Computer in Ihrem lokalen Netzwerk, der eingehende Verbindungen abhört und Kennwörter überprüft. Anschließend kann der Remotecomputer Ihr lokales Netzwerk direkt verwenden und nicht umgekehrt.
Lenik
1
@lenik der Punkt ist, dass ich eine Vielzahl von Maschinen habe, die die gleiche VPN-Verbindung verwenden. Außerdem ist es viel einfacher, eine einzelne Maschine zu konfigurieren, als die Konfiguration mehrerer Maschinen zu ändern, um sicherzustellen, dass sie erneut gewählt werden usw. Und Sie haben Recht - es ist keine Standardkonfiguration, wenn dies der Fall wäre, würde ich wahrscheinlich nach einem Tutorial suchen und nicht danach fragen
Petr
1
Ganz zu schweigen davon, dass durch die Verwendung eines anderen Geräts für das Routing sichergestellt werden muss, dass der gesamte Datenverkehr viel einfacher über das VPN geleitet wird
petr
3
Einige Geräte können auch keine Verbindung zu VPNs herstellen. Zu diesen Geräten gehören viele Spielekonsolen und andere Geräte, auf denen keine Standardbetriebssysteme ausgeführt werden, die leicht für die Verbindung mit einem VPN konfiguriert werden können.
Kibbee
@lenik Diese Konfiguration ist bei Netzwerkgeräten auf Unternehmensebene üblich. Es ist in Routern ab ca. 300 US-Dollar eingebaut. Das OP sucht nach einer Lösung für etwa ein Zehntel des Preises ... wie ich.
Philip Couling

Antworten:

15

Ich habe das gleiche Setup wie Sie:

Cable modem -> Router (192.168.1.1) +-> Raspberry Pi (192.168.1.11)
                                    |-> iPad (DHCP)
                                    |-> PC (DHCP)
                                    `-> AppleTV (DHCP)

Zuerst habe ich meine Netzwerkeinstellungen ( /etc/network/interfaces) auf dem RPi in eine statische Adresse geändert

iface eth0 inet static
address 192.168.1.11
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

Danach müssen Sie das OpenVPN auf dem RPi einrichten:

sudo apt-get install openvpn

Als nächstes müssen Sie die Konfigurationsdatei für den VPN einstellen /etc/openvpn/server.conf. Früher habe ich die von meinem vpn - Dienst (Witopia) und Änderung vorgesehen Probe dev tunzu dev tun0und fügte redirect-gatewayam Ende.

Ändern Sie im nächsten Schritt iptables, um NAT zuzulassen

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Speichern Sie es so, um es dauerhaft zu machen

sudo bash
iptables-save > /etc/iptables.up.rules
nano /etc/network/if-pre-up.d/iptables

Fügen Sie dies der neuen Datei hinzu:

#!/bin/bash
/sbin/iptables-restore < /etc/iptables.up.rules

Speichern und ausführbar machen mit chmod +x /etc/network/if-pre-up.d/iptables. Sie müssen jetzt die IP-Weiterleitung aktivieren, indem Sie /etc/sysctl.confdie Leitung bearbeiten und auskommentierennet.ipv4.ip_forward = 1

Starten Sie neu und das RPi sollte eine Verbindung zu Ihrem VPN herstellen und bereit sein, eingehenden Datenverkehr zu empfangen. Ich habe meinem DHCP-Dienst auf meinem Router (mit OpenWrt) eine neue Option hinzugefügt, um das an den Client gesendete Gateway anzugeben. Ich habe die Zeile list 'dhcp_option' '3,192.168.1.11'zur Datei hinzugefügt /etc/config/dhcpund den Router neu gestartet. Mein iPad, PC und AppleTV verbinden sich jetzt über das RPi, um auf externe URLs zuzugreifen.

Quellen:

StebQC
quelle
1
Ich habe gerade am vergangenen Wochenende eine ähnliche Konfiguration erstellt. Ich musste auch "net.ipv4.tcp_ecn = 0" zur Datei /etc/sysctl.conf hinzufügen. Ich bin nicht sicher, was es tut, aber das Gateway würde ohne es nicht richtig funktionieren.
Kibbee
Dies funktionierte für mich mit einer Modifikation: Die NAT-Regel sollte lauteniptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Regan Walsh,
0

Versuchen

https://help.ubuntu.com/community/OpenVPN

Raspbian sollte Ubuntu nahe genug sein, damit das Setup identisch ist, und ich habe gerade überprüft, ob das OpenVPN-Paket im Raspbian-Repo verfügbar ist.

Beachten Sie jedoch, dass Sie in den meisten VPN-Anweisungen erfahren, wie Sie einen Server zum Öffnen Ihres LAN für VPN-Clients im Internet erstellen, und nicht umgekehrt. Daher müssen Sie möglicherweise ein wenig mit den Routing-Einstellungen experimentieren.

Matt Thomason
quelle
Danke, das bisschen verstehe ich ein bisschen besser - was ich nicht sicher bin, ist, wie der PI Verbindungen abhören und über das VPN weiterleiten soll?
Petr
1
@petr Sie müssen nur sysctl -w net.ipv4.ip_forward = 1 ausführen und Ihre anderen Computer müssen das RPI als Standard-Gateway verwenden. Das RPI wird dann problemlos weitergeleitet.
Nr.
0

Ich weiß nicht, ob dies nützlich ist, aber ich verwende VPN auf Raspberry Pi von einem VPN-Anbieter, wenn ich von den USA nach China reise. Sie haben ein DD-WRT-Skript, das ich installiert habe und es hat vom ersten Mal an funktioniert. Vielleicht können Sie sich selbst viel Ärger ersparen, wenn Sie einen Anbieter mit bereits erstelltem dd-wrt-Skript suchen. Wenn jemand neugierig auf das Drehbuch ist, kann ich es hier posten.

Michael Donnahew
quelle
0

Hier ist mein Setup, das Ihren Anforderungen sehr ähnlich ist. Sie müssen lediglich den OpenVPN-Client installieren und einige Konfigurationen auf dem Raspbian vornehmen. Bildbeschreibung hier eingeben

Ich habe es in meinem Blog beschrieben. Einrichten des VPN-Gateways mit Raspberry PI

afelaho
quelle
Hallo und Willkommen! Im Moment denke ich nicht, dass die Frage "Könnten Sie mir bitte eine Wegbeschreibung zu den von mir benötigten Paketen / Diensten geben? Könnten Sie mir bitte eine Wegbeschreibung zu den von mir benötigten Paketen / Diensten geben?" wird in der Antwort angesprochen. Könnten Sie bitte etwas näher darauf eingehen, ohne dass die Leute dem Link folgen müssen (was eigentlich wieder nur die Zahl ist)?
Ghanima
@ Ghana, danke für deinen Kommentar. Ich habe meine Antwort geändert.
Afelaho