Nachdem ich fast fertig eingezogen bin, schön schnelles Internet habe und auch alles drumherum stimmt, wollte ich mein langersehntes VPN-Gateway-Projekt starten. Dazu möchte ich jetzt ganz kurz erklären was das ist, warum ich es denke zu benötigen und wie es umgesetzt wird. Ich habe mir teilweise die praktischen Funktionen einer Fritzbox zunutze gemacht. Wenn man alle Schritte manuell und ohne Fritzbox ausführt, verlängert dies den Prozess sicher noch ein bisschen.
Also erstmal zur Erklärung. Das VPN-Gateway ist nicht mehr als ein kleiner Rechner, kann theoretisch sogar eine virtuelle Maschine sein, die jeglichen Traffic über eine Leitung meiner Wahl lenkt. Ich möchte also nicht länger dem Provider, der NSA, dem BKA oder dem Kollege der sich an meinen Telefonkasten hängt ermöglichen meinen Traffic ohne erhebliche Hindernisse mitzulesen. Deshalb hänge ich zwischen meinen Router und meinen Rechner (oder mein Smartphone oder mein Notebook) einen Rechner der dauerhaft laeuft, eine Verbindung zu einem VPN aufbaut und jeglichen entstehenden Traffic im Netzwerk über das VPN leitet. Außerdem soll es eine Leak-Protection geben, die vermeidet, dass Daten beim Abreißen der VPN-Verbindung durch die ungeschützte Leitung gehen. Außerdem soll ermöglicht werden, dass Rechner im Netzwerk nicht die Erlaubnis haben auf das Internet außerhalb des Gateway zuzugreifen. Hierbei bediene ich mich der tollen Kindersicherung von der Fritzbox die ich einfach für alle Rechner außer das Gateway einschalte – dauerhaft versteht sich.
Warum ich meine das zu brauchen? Weiß nicht ganz … ist so ein Gefühl. Außerdem bastel ich gerne. :)
Nun zur Umsetzung. Der Übersicht zuliebe teile ich das mal schön ein.
Vorbereitung
In der Vorbereitungsphase installieren wir den Server, erstellen virtuelle Netzwerkadapter und installieren (sofern gewollt) Webmin zur erleichterten Administration.
Mein Server läuft, wer hätte es gedacht, mit Debian. Hierzu habe ich einfach eine ganz normale Netzwerkinstallation durchgeführt und auf Desktopoberfläche etc. bewusst verzichtet. Während der Installation ist es gut gleich SSH mitzuinstallieren um bequem vom normalen PC Zugriff auf den Server zu haben. Das ermöglicht dann auch Copy and Paste und die ganzen Schnickschnackfunktionen.
Die Erstellung eines virtuellen Netzwerkanschlusses ist unter Linux enorm einfach. Wir benötigen diesen Anschluss, weil für das Gateway zwei IPs gebraucht werden. An einer soll alles rein, an einer soll alles raus gehen. Wir könnten auch mit zwei Netzwerkkarten arbeiten, da ich jedoch als Server nur ein Thinkpad T60 verwende und keine Steck- oder USB-Karte kaufen möchte, arbeite ich mir virtuellen Anschlüssen. Bei der Geschwindigkeit kann es hierbei zu Problemen kommen, da die gleiche Netzwerkkarte zweimal hintereinander den gleichen Traffic prozessieren muss. Allerdings löst sich das Problem in meinem Fall von selbst, da das Notebook mit 1 Gigabit angebunden ist und meine Internetverbindung ohnehin nur 50 Megabit hergibt. Da kann kein lokaler Falschenhals entstehen.
Zum dauerhaften Erstellen einer virutellen Netzwerkkarte editieren wir die Datei /etc/network/interfaces wie folgt:
auto eth0 iface eth0 inet static address 192.168.178.4 subnet 255.255.255.0 gateway 192.168.178.1auto eth0:0 iface eth0:0 inet static address 192.168.178.5
Diese Konfiguraion erlaubt es, das Interface eth0:0 mit der IP 192.168.178.5 zu verwenden. Die Fritzbox zeigt diese IP als weiteres verbundenes Gerät mit der gleichen Hardware-Adresse (MAC-Adresse) und dem gleichen Namen wie das Standardinterface an.
Zuguterletzt installieren wir der Bequemlichkeit halber Webmin (kann auch verworfen werden, sofern ein schlankes System gewünscht ist, Services lassen sich mit Webmin teilweise schneller einrichten als über die Kommandozeile).
Einrichtung VPN
Der komplizierteste Teil beim VPN ist eigentlich das Bezahlen des VPN-Anbieters. Alles andere ist ein Klacks.
Zu Anfang muss unter Debian und Ubuntu mittels
apt-get install openvpn
Nachdem ihr bei dem VPN-Anbieter eurer Wahl ein VPN bestellt habt, ich habe auf anraten von tux zu perfect-privacy gegriffen, bekommt ihr Konfigurationsdateien. Meist über ein Panel in das ihr euch einloggen müsst. Die Konfigurationsdateien sollten sowas sein wie .crt, .key und .ovpn. Diese legt ihr via SSH oder FTP auf euren VPN-Gateway-Server. Ich habe Sie allesamt nach /etc/openvpn geschoben. (Das Verzeichnis existiert erst nach der Installation von openvpn.)
Ist das alles getan, bleibt nicht mehr zu tun als in /etc/openvpn zu navigieren und mittels
openvpn Gigabit-NL.ovpn
OpenVPN zu starten. Während dem Start werdet ihr nach Zugangsdaten gefragt – gebt da einfach das ein, was euer VPN-Provider euch zugeschickt hat.
“Gigabit-NL.ovpn” müsst ihr mit den von eurem VPN-Provider erhaltenen Konfigurationsdateien ersetzen!
Das wars. Nach erfolgreichem verbinden existiert das Tunnel-Interface tun0 durch das im nächsten Schritt der Traffic geleitet wird. Möchtet ihr den Tunnel dauerhaft geöffnet lassen, so nutzt screen.
screen openvpn Gigabit-NL.ovpn
Einrichtung Gateway
Nachdem das Gateway mit dem VPN verbunden ist müssen wir nun die Regeln definieren, welche uns erstens die Weiterleitung ermöglichen, dann die ganze Sache so absichern das bei Verbindungsproblemen nichts abreisst und eventuell noch IPv6 (nur zur Sicherheit) deaktivieren. Wir bedienen uns hier zwei kleinerer Einstellungsmöglichkeiten des Kernel und iptables für alle Netzwerkangelegenheiten.
Zu allererst aktivieren wir IPv4-Forwarding im Kernel mit:
sysctl -w net.ipv4.ip_forward=1
Das blocken der Möglichkeit von eth0:0 an eth0 zu kommunizieren, also über die Verbindung ohne Tunnel wird geblockt mit:
iptables -A FORWARD -s 192.168.178.0/24 -i eth0:0 -o eth0 -m conntrack --ctstate NEW -j REJECT
Die Weiterleitung vom virtuellen Anschluss eth0:0 an unseren Tunnel tun0 wird realisiert mit:
iptables -A FORWARD -s 192.168.178.0/24 -i eth0:0 -o tun0 -m conntrack --ctstate NEW -j ACCEPT
Anschließend gibt es noch eine Regel auszuführen, die uns das Interface tun0 maskeriert (sagt man das so?):
iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE
Ist das getan, steht unsere Verbindung zwischen Port eth0:0 und tun0. Jetzt geht es an den bequemen Teil im Administrationspanel der Fritzbox.
Einrichtung Fritzbox
Wenn unser Gateway ausfällt oder die Verbindung gerade aus anderen Gründen nicht funktioniert, tendieren die meisten Rechner dahin, das Gateway zu wechseln. In dem Falle würden wir statt unserem Server die Fritzbox als Gateway nutzen und über die nicht VPN-isierte Verbindung surfen. Das kann ganz einfach über die in die Fritzbox eingebaute Kindersicherung vermieden werden. Sollten wir keine Fritzbox besitzen, ist es sinnvoller im VPN-Gateway zwei dedizierte Netzwerkkarten verwenden, die in unterschiedlichen Netzen agieren. Bei unserer Lösung agieren jedoch alle im gleichen Netz (192.168.178.x).
Im ersten Schritt aktivieren wir die Expertenansicht der Fritzbox um beim durcharbeiten meiner Anelitung nicht wie ein Maulwurf zu wirken.
Dann navigieren wir unter Internet -> Filter. Hier finden wir alle Geräte im Netzwerk. Der Haken bei “Computer, für die keine Zugangsregeln aktiv sind: haben keinen Internetzugang” sollte gesetzt werden. (Screenshot 1)
Nun haben wir die Möglichkeit für jeden Rechner eigene Freigaben zu definieren. Unser Gateway erscheint in der Übersicht doppelt (einmal mit dem echten, einmal mit dem virtuellen Netzwerkadapter). Für das echte Interface, wir erkennen das an der IP (Screenshot 2), schalten wir den Internetzugang frei. Für alles andere machen wir nichts – aufgrund dem Schritt zuvor sind die ja alle gesperrt.
Beendigung
Zum Schluss muss jedes Gerät als Standard-Gateway unseren Server zugeordnet bekommen. Das geschieht von Gerät zu Gerät unterschiedlich und alle gängigen Geräte unterstützen die manuelle Eingabe von Gateways. In meinem Fall ist mein Gateway 192.168.178.5. Es muss immer die IP des virtuellen Interfaces sein.
Zum Schluss empfehle ich noch vor dem surfen immer mal die IP mit den zahlreich im Internet verfügbaren IP-Check-Tools zu überprüfen. Es sollte stets die IP des VPN verwendet werden. Andernfalls liegt ein Fehler vor.
Nun bleibt nur noch zu sagen, dass die iptables-Regeln temporäre Einstellungen sind die beim nächsten Systemstart verloren sind. Wie ihr die Regeln dauerhaft definieren könnt, erkläre ich im nächsten Artikel, den ich dann hier verlinke. Auch die Automatisierung der Verbindung zum VPN werde ich in einem der folgenden Artikel erklären und hier verlinken.
PS
Nutzt die Kommentarfunktion wenn etwas nicht hinhaut. Ich helfe immer gerne und möchte, dass auch ihr problemlos und verschlüsselt im Netz surfen könnt. :)
Schöne Anleitung!
Werde ich bei Zeiten sicher noch mal brauchen…
10/10 würde wieder verschlüsseln.
Mal ne andere Anregung: Warum so viel Strom verballern und einen EXTRA Pc hinstellen, wenn ein Router in der Lage ist, selbst das VPN zu verwalten? Ich sehe du benutzt openVPN. Das kannste schön mit OpenWRT machen… Ist etwas weniger friemelei und vor allem: Der Router läuft so oder so. Das spart Strom. Wenn du mir jetzt aber sagst, dass du das mit dem RasPi gemacht hast, hoffe ich, dass du keine Internetleitung > 10MBit/s gekauft hast… Hab mal gelesen, dass man mit dem Teil nicht mehr reellen Durchsatz erzielen kann, weil USB Netzwerkkarte undso.
Wie gesagt – man braucht keinen PC. Eine VM tuts auch. Und so ein ThinkPad zieht nicht viel Saft. Werde demnaechst mal ein Messgeraet dranhaengen.
Der Raspberry schafft an Durchsatz locker 40 Mbit in beide Richtungen, allerdings nur ohne Verschluesselung. (Habe ich getestet.)
Der Router wird nie in der Lage sein bei 256-bit AES in Echtzeit mit passabler Geschwindigkeit (passabel = entsprechend meiner Internetverbindung 50 down, 10 up) zu ver- und entschluesseln. So ein Router ist nicht sehr viel leistungsstaerker als so ein Raspberry.
Softwaremaessig ist das wohl recht einfach zu bewaeltigen: http://wiki.openwrt.org/doc/howto/vpn.client.openvpn.tap
Wollte mir den Pi 2 kaufen und meine VDSL 50 Leitung mit einem 256-bit AES VPN permanent verschlüsseln. Die Geschwindigkeit entspricht bei mir mit VPN an ungefähr VDSL 45 Niveau am PC.
“Der Router wird nie in der Lage sein bei 256-bit AES in Echtzeit mit passabler Geschwindigkeit (passabel = entsprechend meiner Internetverbindung 50 down, 10 up) zu ver- und entschluesseln.”
Denkst du das immer noch? Ich meine der Pi 2 hat ja wesentlich bessere Hardware. Würde mir das Ding sonst nicht kaufen.
MfG
Julian
Es ging ja da um einen Router. In diesem speziellen Fall eine Fritzbox (meine Fritzbox). Und das Modell welches ich hier habe, wird das zu Lebzeiten nicht schaffen. Neuere haben da sicher schon mehr Leistung.
Der Raspi 2 ist laut Benchmarks ja recht stark. Der könnte solchen Durchsatz sicher bewältigen. Heute auch mit Verschlüsselung. Aber ich will da keine voreiligen Schlüsse ziehen, denn aktuell habe ich noch keinen Raspi 2 und kann das daher nicht selbst testen.
Grüße
Ich teste es einfach mal und AES 256 ist an und für sich kein Drama in der Theorie, gibt ja auch Schlüsselstärken von 2048-bit. Notfalls kaufe ich einen Kühlkörper und übertakte. Gibt aber schon VPN Router wie den Netgear R7000, der hat nur 1 GHz Dual Core und 256 MByte RAM – schafft aber trotzdem AES 256 bei 150 MBit/s. Hoffentlich klappt das alles so wie angedacht, morgen kommt der Pi 2. :)
Habe jetzt die iptables-Befehle abgeaendert, da WordPress aus — einen langen Bindestrich machte. Dies fuehrte logischerweise zu Fehlverhalten. Ist jetzt behoben.
Mach doch das Autostartscript fertig und ein Installscript. Das wäre sehr geil.
Tolle Anleitung, hat mir sehr geholfen mein VPN Gateway aufzusetzen.
Nur eines bekomme ich nicht hin:
Ich möchte auf ein paar Freigaben der Fritzbox nicht verzichten. Die Freigaben ‘zeigen’ bisher auf TCP-Ports des Servers und sind auch noch in der Fritzbox gesetzt. Daten auf der öffentlichen Internet-Provider-IP (mit DynDNS-Service public gemacht wird) kommen auch auf dem Server am jeweiligen Port an.
Es kommen aber keine Daten am aufrufenden Client (der irgendwo im Internet sitzt) zurück und ich habe keine Idee, ob das am Routing oder an der Firewall liegt.
Irgendeine Idee?
Hallo!
Hast du denn an der Fritzbox den Zugriff auf das virtuelle als auch das echte Network-Interface gestattet? In der Anleitung stelle ich dies ja mit Absicht ab.
Eventuell schickt der Server die Pakete nicht über die VPN-lose Verbindung sondern über deine normale Internetverbindung. Manche VPN-Anbieter bieten an, bestimmte Ports freizugeben. Bei Perfect-Privacy zum Beispiel ist dies möglich – man muss es aber alle 3 Tage neu einstellen (was nicht sehr bequem ist). Zudem die Freigabe des normalen Netzwerk-Interface das Sicherheitskonzept durcheinanderwirft.
Eine gute Lösung wäre Virtualisierung – eine VM, die von Außen erreichbar ist und die normale Internetleitung nutzt und eine, die das VPN-Gateway darstellt. Aber der Konfigurationsaufwand ist hierbei nicht zu verachten.
Gerne helfe ich persönlich – auch via VoIP und Fernsteuerung.
Das Problem lag daran, das Pakete zwar über das Interface eth0 reingekommen sind (und theoretisch darf dieses Interface auch zurück ins Internet), aber das Standardrouting für VPN hat nun dafür gesorgt, das die Rückantwort über (ja für VPN Nutzung gewollten) Weg eth0:0 -> tun0 geht – tun0 (und dessen NAT) kann aber mit diesen Paketen nichts anfangen und verwirft diese.
Lösung:
Wir bauen uns ein zweites Subnetz (hier 192.168.179.0/24) mit einem zusätzlichen Alias-Interface eth0:1 mit 192.168.179.4, welches auch ins Internet darf, auf das die Freigaben in der Fritzbox eingestellt werden und das einen separaten Standard-Gateway (nämlich die Fritzbox selbst) bekommt. Somit kommen (nur diese) Pakete direkt dort an und verlassen diese auch nur direkt über die Fritzbox ins Internet ohne den Umweg über das VPN zu gehen.
1. Subnetz in der Fritzbox bekannt machen
Wir müssen in der Fritzbox die Netzwerkmaske anpassen, damit das neue Subnetz von der Fritzbox erkannt wird. Um die Netzwerkmaske auszurechnen, kann man Tools wie den Netzwerk-Rechner von heise.de verwenden (http://www.heise.de/netze/tools/netzwerkrechner/). Wir tragen in der Fritzbox unter “Heimnetz” “Netzwerkeinstellungen” “IPv4 Adressen” als neue Subnetzmaske die 255.255.254.0 ein. Damit erkennt die Fritzbox nun die beiden Netze 192.168.178.0/24 und 192.168.179.0/24 – die Fritzbox befindet sich als nun im Netz 192.168.178.0/23
2. Interface für Subnetz erstellen
ifconfig eth0:1 192.168.179.4 netmask 255.255.255.0 up
erstellt das zusätzliche Alias-Interface eth0:1 mit der Adresse 192.168.179.4
3. Zusätzliche Routingtabelle erstellen
Die zusätzliche Routingtabelle wird direkt in /etc/iproute2/rt_tables eingefügt (wir nennen die zusätzliche Routingtabelle mit der Präferenz 1 “novpn”):
#
# reserved values
#
255 local
254 main
253 default
0 unspec
#
# local
#
1 novpn
4. Neue “novpn” Tabelle konfigurieren
ip route add 192.168.179.0/24 dev eth0:1 src 192.168.179.4 table novpn
ip route add default via 192.168.178.1 dev eth0:1 table novpn
Die erste Zeile legt fest, dass das neue Subnetz 192.168.179.0/24 über das Interface eth0:1 erreichbar ist, die zweite Zeile setzt das Default Gateway für dieses Interface.
5. Regel für das Routing festlegen
Wir müssen nun noch festlegen, wann die neue Routingtabelle “novpn” genutzt werden soll:
ip rule add from 192.168.179.4/32 table novpn
ip rule add to 192.168.179.4/32 table novpn
Die beiden Zeile legen fest, dass Traffic von/zu/über der Netzwerkschinttstelle 192.168.79.4 mit der Routingtabelle “novpn” zu behandeln sind.
6. Internet und Portfreigaben in der Fritzbox
Wie oben schon von Maltris bei der Internetfreigabe beschrieben, sollte der Server in der Fritzbox neben 192.168.178.4 und 192.168.178.5 jetzt zusätzlich mit einer dritten Netzwerkadresse 192.168.179.4 auftauchen. Der Adresse 192.168.179.4 müssen wir, wie oben von Maltris für die 192.168.178.4 bereits beschrieben, in der Kindersicherung auch den Zugang zum Internet erlauben.
Danach in der Fritzbox noch unter Portfreigaben die gewünschten Ports für 192.168.179.4 freigeben. Dabei darauf achten, dass man hier als Ziel den Server mit der Adresse 192.168.179.4 wählt, sonst kommen die Pakete von aussen auf dem falschen Interface an.
Die Freigaben sind dann unter der vom Internet-Provider vergebenen IP von aussen erreichbar.
7. Konfiguration dauerhaft speichern
Die Befehle “ifconfig”, “ip route” und “ip rule” von vorher sind nach einen Neustart des Servers ungültig. Daher schreiben wir sie dauerhaft nach /etc/network/interfaces:
auto eth0:1
iface eth0:1 inet static
address 192.168.179.4
netmask 255.255.255.0
post-up ip route add 192.168.179.0/24 dev eth0:1 src 192.168.179.4 table novpn
post-up ip route add default via 192.168.178.1 dev eth0:1 table novpn
post-up ip rule add from 192.168.179.4/32 table novpn
post-up ip rule add to 192.168.179.4/32 table novpn
Hallo,
wohin baust du denn den VPN auf? Also ich kenne mich da nicht sehr gut aus. Ich weis nur das ich über einen VPN auf meine heimische NAS zugreifen kann, wenn ich unterwegs bin. Das heist doch nur, das der Traffic zwischen mir und meinem Heimnetz verschlüsselt wird. Wenn ich jetzt aber auf Seiten aus dem Internet zugreifen will, verlasse ich ja den Tunnel. Verstehe ich da jetzt was falsch?
Hallo Kurz,
das VPN baue ich auf zu einem VPN-Anbieter meiner Wahl, dem ich vertraue. Natuerlich gehen bei ihm die Daten wieder unverschluesselt raus, sofern sie nicht End-to-End verschluesselt sind.
Aber es waere jetzt auch moeglich, in das VPN ein eigenes Gateway aufzunehmen, falls man dem VPN-Anbieter nicht vertraut.
Mehrere Clients verbinden ist bei den mir bekannten VPN-Anbietern nicht moeglich, die bieten ja nur ein Gateway ins Netz. Wenn du mehrere Clients miteinander verinden willst, musst du ein eigenes VPN mit OpenVPN und Konsorten aufbauen.
Wenn du persoenliche Hilfe brauchst, kannst du mir ja einfach mal per Mail oder Kontaktformular schreiben. :)
Hey,
erstmal super Anleitung, vielen Dank!
Ich scheitere gerade an dem letzten Schritt in der Fritzbox… Bei mir wird die virtuelle Adresse nicht angezeigt und somit kann ich die Richtlinien auch nicht generieren. Im Webmin wird die Adresse aber angezeigt, anpingen kann ich die virtuelle auch…
Hast du eine Idee?
Danke
Erik
Das dürfte nicht sein. Kannst du mal die Ausgabe von “ifconfig” posten?
Gerne sehe ich mir das auch mal aus nächster Nähe via Fernsteuerung an.
Wir können gern fernsteuerung mach machen, kontaktierst du mich via Mail?
root@debian:~# ifconfig
eth0 Link encap:Ethernet Hardware Adresse 00:e0:c5:5f:38:a9
inet Adresse:192.168.3.15 Bcast:192.168.3.255 Maske:255.255.255.0
inet6-Adresse: fe80::2e0:c5ff:fe5f:38a9/64 Gültigkeitsbereich:Verbindung
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
RX packets:6327 errors:0 dropped:0 overruns:0 frame:0
TX packets:6044 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:1000
RX bytes:3260053 (3.1 MiB) TX bytes:1477866 (1.4 MiB)
Interrupt:11 Basisadresse:0xe400
eth0:0 Link encap:Ethernet Hardware Adresse 00:e0:c5:5f:38:a9
inet Adresse:192.168.3.16 Bcast:192.168.3.255 Maske:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metrik:1
Interrupt:11 Basisadresse:0xe400
lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
UP LOOPBACK RUNNING MTU:16436 Metrik:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
Kollisionen:0 Sendewarteschlangenlänge:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
root@debian:~#
Schreib mir eine Mail, damit ich deine Adresse bekomme.
Grüße
Also ich habe genau dasselbe Problem, dass ich beim Schritt mit der Fritzbox hänge. Die virtuelle wird mir auch nicht angezeigt. Wenn ich das Gateway der VM eintrage, kommt naütrlich nur die Meldung der Fritzbox “blocked”.
Das scheint bei den neueren Versionen aufzutreten. Da ich jetzt mein Prinzip insofern gewechselt habe, dass ich auf jedem Client VPN laufen habe und in der Fritzbox Outgoing nur den einen oder mehrere OpenVPN-relevante Ports freigegeben habe, kann ich dieses Problem nicht mehr versuchen zu reproduzieren.
Wir (ich?) müssten mal herausbekommen, warum neue (Zweit-)Verbindungen neuerdings nicht mehr in der Fritzbox angezeigt werden.
Es könnte sich da von Softwareversion zu Softwareversion insofern etwas geändert haben, dass anhand von MAC-Adressen gebündelt wird. Oder, dass mehrere Verbindungen vom gleichen Rechner (gleicher MAC-Adresse) nicht mehr erlaubt werden.
Dann müsste es aber immerhin klappen, wenn eine Verbindung per WLAN realisiert wird. Da gibts ja in der Regel andere MAC-Adressen.
Verwirrend.
Danke für die Anleitung.
Ich kann meinen VPN-Gateway (Raspberry Pi) über meinen kabelgebundenen Rechner nutzen. Wenn ich aber per WLAN über den VPN-Gateway surfen möchte, bekomme ich keine Verbindung. Hast du eine Idee warum?
Ganz wild geraten: Hast du in der Fritzbox die Option “Clients (evtl. auch “Hosts” dürfen untereinander kommunizieren” deaktiviert? Die Fritzbox unterbindet sowas dann gerne mal.
Funktioniert auf dem Pi 2 nicht. Danke für gar nichts.
Wow … rude.
Wo hängt es? Kannst du pingen? Ich denke, es wird nicht am Pi 2 liegen. Denn diese Netzwerk-Konfiguration unterscheides sich nicht von Pi zu Pi (soweit ich weiß).
Hallo und vielen Dank für die Anleitung!
Ich nutze einen Banana Pi und es hat soweit alles geklappt. Zu Testzwecken nutze ich vpnbook.com, da es kostenlos ist …
Wenn ich nun via VNC auf den Pi zugreife, sehe ich eine Rumänische IP. So weit, so gut.
Es ist mir bislang nicht möglich, Windows so einzustellen, dass die Verbindung über den Pi läuft.
Ich kann sowohl eth0, als auch eth0:0 vom Windows-Rechner anpingen.
Muss beim DNS-Server etwas eingetragen werden? Wen ja, was?
Viele Grüße
Sebastian
Hallo Sebastian! :)
Das ist schonmal gut. Die Hürde ist jetzt womöglich nur, in der OpenVPN-Config die entsprechenden Routen zu pushen, nehme ich an?
Mit pushen ist dabei gemeint, dass der Server dem Client mitteilt, welche Routen er konfigurieren soll. Das ist relativ praktisch, wenn du mehrere Clients hast, die allesamt definitiv die gleiche Route (über den Ausgangsknoten, also den OpenVPN-Server) nehmen sollen.
Seit ich das das letzte mal gemacht habe, ist bereits einige Zeit vergangen. Daher entschuldige, wenn es nicht auf Anhieb funktioniert. Aber die Konfigurations-Direktive müsste lauten:
push “redirect-gateway def1 bypass-dhcp”
Mehr Informationen hier:
http://wiki.openvpn.eu/index.php/OpenVPN-Syntax#Server_Mode
https://forums.openvpn.net/topic12687.html
Viel Erfolg und berichte vielleicht mal, ob es geklappt hat. :)
Danke für die Antwort!
Ich habe herausgefunden, dass es funktioniert, wenn ich die UDP2500-Konfiguration des Anbieters nutze. So ist auch ein Zugriff von Windows möglich.
Im nächsten Schritt habe ich mich dann um das DNS-Leak gekümmert, da es bislang nur mit der Fritz Box als DNS-Server funktionierte.
Die Lösung habe ich dann recht zügig in Form von OpenDNS auf der Seite https://community.hide.me/threads/dns-leak-erkennen-und-verhindern.20/ gefunden.
Nun habe ich in der Grabbelkiste noch einen 300er WLAN-Stick gefunden, so dass ich im nächsten Schritt auf die virtuelle Netzwerkkarte verzichten will – hast Du auf die Schnelle hier einen Tipp?
Zusätzlich habe ich vor, ein GUI für die OpenVPN-Verbindung einzusetzen…
Wenn dann alles klappt, gehe ich auf die Suche nach einem kostenpflichtigen, logfreien Anbieter :D
Viele Grüße
Sebastian
Hallo und danke erstmal für die Rückmeldung!
Klar – wenn der Wlan-Stick einmal läuft, hast du ja meist ein Interface dafür (wlan0, wlan1 usw.). Beim konfigurieren ersetzt du dann jeweils einfach das virtuelle mit dem Wlan-Interface.
Wenn du den Wlan-Stick mit dem Banana Pi als Access-Point konfigurieren willst, wird es schon etwas schwerer. Und da muss ich leider auch passen. Das richige Stichwort wäre hierbei wohl “hostapd”.
Hier ist ein gutes Tutorial: http://wiki.ubuntuusers.de/wlan_router
Nach vielen Experimenten habe ich nun den WLAN-Stick in die Grabbelkiste zurückverfrachtet – alles wollte nicht so, wie es meiner Meinung nach sollte.
da die Banane jedoch ein Gigabit-LAN hat, sollte es keinen Unterschied machen, mit der hier präsentierten Möglichkeit zu arbeiten.
Eine Frage habe ich aber noch (auch wenn sie vielleicht schon beantwortet wurde):
Wie kann ich den Internetzugang abfangen, wenn die VPN-Verbindung (aus welchem Grund auch immer) nicht funktioniert?
Aktuell ist es ja so, dass dann normal und mit der realen IP der Zugang hergestellt wird, was m.E. eher kontraproduktiv ist …
LG
Sebastian
Super Anleitung, Danke!
Ich hab das auf NixOS gemacht.
Mit dieser Konfiguration und Cyberghost Einwahldaten kann man sich eine VM konfigurieren lassen. (NixOS wird funktional konfiguriert)
https://gist.github.com/davidak/9517fc1b9fa23cdd5806
Erst mal danke für deine Mühe!
Eine Frage zu deiner Aussage:
“Wenn unser Gateway ausfällt oder die Verbindung gerade aus anderen Gründen nicht funktioniert, tendieren die meisten Rechner dahin, das Gateway zu wechseln.”
Das verstehe ich nicht ganz…wenn ich z.B. einer weiteren Debian Kiste sage dein Gateway ist 192.168.178.5, dann sucht doch die Kiste nicht andere Gateways um ins Inet zu kommen?!?
Wo ich hin möchte:
Ich möchte ein VPN Gateway nutzen, um einige bestimmte Geräte bei Bedarf sauber hinter einem VPN zu haben. Der Rest soll weiterhin “normal” laufen. Das habe ich auch mit deiner und anderer Anleitung/en grundsätzlich hingekriegt. Wenn der VPN aktiv ist, dann geht der Traffic von Geräten mit diesem Gateway über den VPN. ABER, steht der VPN nicht, dann geht der Traffic laut traceroute zum Gateway und dann zum Router…
Ich checke nicht, wo hier das Problem ist oder habe ich einen Denkfehler? Ich will einfach nur, daß von dem Gateway (bzw. wenn das nicht möglich ist von allen Geräten die die Gateway IP nutzen) nur Traffic ins Inet per tun0 möglich ist. Mit der Anleitung von hier : https://gist.github.com/superjamie/ac55b6d2c080582a3e64
dachte ich ich wäre am Ziel, auf dem Gateway direkt ist kein Traffic mehr zum Inet möglich, wenn kein VPN, aber nutze ich die zweite Debiankiste, dann geht der Traffic auch zum Gateway und dann zum Router.
Macht mich wahnsinnig ;) Um komplett die ganzen iptables Möglichkeiten zu verstehen fehlt mir einfach die Zeit.
Hast du eine Idee, wo mein Problem liegen könnte oder habe ich wirklich ein Verständnisproblem?
Hallo,
wenn du die Regeln unter
“VPN Kill Switch”
von deinem o. g. Link (https://gist.github.com/superjamie/ac55b6d2c080582a3e64) ausgeführt hast, sollte das nicht passieren.
Hast du womöglich noch alte “ACCEPT”-Regeln in deinen iptables?
Viele Grüße :)
Ich schließe mich der Frage von meinem Vorredner an :)
Hoffe mal hier kommt noch was.
Schließe mich der Frage meines Vorredners an :)
Hoffe mal hier kommt noch was.
Du hast eine Antwort auf deine Nachricht via Kontaktformular! :)
Die Anleitung ist sehr Laienhaft. Zudem sehe ich hier die extreme Gefahr eines DNS-Leaks.
Auch wird hier in keinster Weise berücksichtigt, dass durch die Ende-Ende Verschlüsselung die Firewall des DSL Routers komplett ausgehebelt wird.
Dadurch ist eine Absicherung zwingend auf dem VPN Gateway einzurichten.
Auch wenn die Anleitung funktioniert ist von einer Verwendung abzuraten.