Frage zu OpenVPN
Frage zu OpenVPN
Hallo, ich weis, der Titel ist nicht gerade aussagekraeftig.
Eine OpenVPN im internen Netzwek habe ich bereits hinbekommen. Nun moechte ich aber folgendes machen:
Rechner "Notebook" ist per Wlan in der Firma in einem normalen Netzwek mit Internet. Nun moechte ich die "Daten" tunneln und zwar zum Rechner "Alpha", der wiederum per DSL zuhause im Netz ist. Ab hier moechte ich nun weiter ins Internet gehen und Mails abrufen, surfen etc. Kurz ich moechte ueber meinen Rechner zuhause ins Internet und nicht ueber das Firmennetzwerk.
In wie weit ist das moeglich?
Eine OpenVPN im internen Netzwek habe ich bereits hinbekommen. Nun moechte ich aber folgendes machen:
Rechner "Notebook" ist per Wlan in der Firma in einem normalen Netzwek mit Internet. Nun moechte ich die "Daten" tunneln und zwar zum Rechner "Alpha", der wiederum per DSL zuhause im Netz ist. Ab hier moechte ich nun weiter ins Internet gehen und Mails abrufen, surfen etc. Kurz ich moechte ueber meinen Rechner zuhause ins Internet und nicht ueber das Firmennetzwerk.
In wie weit ist das moeglich?
-
- Beiträge: 189
- Registriert: 11.08.2005 09:27:01
- DynaBlaster
- Beiträge: 958
- Registriert: 25.03.2004 18:18:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: DF0://dynablaster.adf
Jap, das ist durchaus möglich.
Als Ergänzung zum Vorposter sei hier noch angemerkt, daß du natürlich die IP-Adresse deiner DSL-Verbindung zu Hause irgendwie bekannt machen musst, um überhaupt aus dem Firmen-Netzwerk in dein Heimnetz zu kommen. Da bieten sich DynDNS.org und Co. an.
Was die Konfiguration deines Netzwerkes angeht, müsstest du schon mehr Informationen über dein Heim-Netz preisgeben.
Wie geht der PC Alpha ins Internet ? (Hardware-DSL-Router oder stellt Alpha die Verbindung mittels PPPOE(?) selbst her ?)
Daraus ergibt sich dann, ob du für OpenVPN den UDP-Port 1194 vom HW-DSL-Router an Alpha weiterleiten musst und wie du entsprechende Routing-Einträge und evtl. SNAT/Masqerading konfigurieren musst, damit dein Vorhaben klappt ....
Als Ergänzung zum Vorposter sei hier noch angemerkt, daß du natürlich die IP-Adresse deiner DSL-Verbindung zu Hause irgendwie bekannt machen musst, um überhaupt aus dem Firmen-Netzwerk in dein Heimnetz zu kommen. Da bieten sich DynDNS.org und Co. an.
Was die Konfiguration deines Netzwerkes angeht, müsstest du schon mehr Informationen über dein Heim-Netz preisgeben.
Wie geht der PC Alpha ins Internet ? (Hardware-DSL-Router oder stellt Alpha die Verbindung mittels PPPOE(?) selbst her ?)
Daraus ergibt sich dann, ob du für OpenVPN den UDP-Port 1194 vom HW-DSL-Router an Alpha weiterleiten musst und wie du entsprechende Routing-Einträge und evtl. SNAT/Masqerading konfigurieren musst, damit dein Vorhaben klappt ....
Hallo, danke fuer die schnellen antworten. Es sieht so aus, dass der Rechner zuhause (alpha) ganz normal an einem DSL 2000 haengt ueber einen Router. Mein Router kann btw VPN. Hinzuzufuegen waere noch, dass der Rechnner (alpha) eine statische IP vom Router bekommt. DynDNS ist natuerlich schon mittels ddclient installiert. Wenn ich das jetzt richtig verstehe, muss ich dem Notebook in der Firma die dyndns vernindung vom Rechner (alpha) klar machen und beim Rechner alpha muesste ja ebenfalls die Internetverbindung vom Notebook in der Konfiguration bekannt gemacht werden. Wie sieht denn jetzt das File in der /etc/openvpn/ aus?
-
- Beiträge: 189
- Registriert: 11.08.2005 09:27:01
Wenn es ADSL ist, ist Deine Uploadrate evtl. nur 128-384 kbit/s (aber das nur nebenbei).phoenix79 hat geschrieben:der Rechner zuhause (alpha) ganz normal an einem DSL 2000
Wenn er auch OpenVPN kann -- das können z. B. (modifizierte) Fritz!-Boxen oder OpenWRT-Router --, kannst Du alpha auch ausgeschaltet lassen. Bei IPSec und Co. müßtest Du mal nach nem passenden Client (open/free-swan) fürs Notebook schauen. Ich kann OpenVPN aber eigentlich empfehlen.Mein Router kann btw VPN
Das ist gut, dann kannst Du einfach im Router UDP-Port 1194 von außen an die interne IP von alpha weiterleiten (geht irgendwo im Router-Setup-Menü unter »Port Forwarding«, »NAT« o. ä.).. Hinzuzufuegen waere noch, dass der Rechnner (alpha) eine statische IP vom Router bekommt.
Dabei mußt Du nur drauf achten, daß ddclient auch die *externe* IP an den DNS-Server übermittelt.DynDNS ist natuerlich schon mittels ddclient installiert.
Korrekt (s. u.).Wenn ich das jetzt richtig verstehe, muss ich dem Notebook in der Firma die dyndns vernindung vom Rechner (alpha) klar machen
Nein, ist eigentlich nicht nötig, weil der OpenVPN-Server einfach auf die Pakete des -Clients antwortet.und beim Rechner alpha muesste ja ebenfalls die Internetverbindung vom Notebook in der Konfiguration bekannt gemacht werden.
Auf dem Server z. B.:Wie sieht denn jetzt das File in der /etc/openvpn/ aus?
Code: Alles auswählen
port 1194
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
Code: Alles auswählen
client
proto udp
dev tun
ca ca.crt
cert notebook.crt
key notebook.key
remote alpha.myhome.dyndns.org 1194
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
ns-cert-type server
comp-lzo
Viel Spaß
Schneiderlein
- DynaBlaster
- Beiträge: 958
- Registriert: 25.03.2004 18:18:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: DF0://dynablaster.adf
Um die Internetverbindung über die VPN-Verbindung zu nutzen, muss auf Alpha aber IP-Forwarding aktiviert sein.Nein, ist eigentlich nicht nötig, weil der OpenVPN-Server einfach auf die Pakete des -Clients antwortet.Zitat:
und beim Rechner alpha muesste ja ebenfalls die Internetverbindung vom Notebook in der Konfiguration bekannt gemacht werden.
Code: Alles auswählen
echo "1" > /proc/sys/net/ipv4/ip_forward
-
- Beiträge: 189
- Registriert: 11.08.2005 09:27:01
Ja, klar, siehe oben (»... als Router konfiguriert mit Masquerading ...«).DynaBlaster hat geschrieben:Um die Internetverbindung über die VPN-Verbindung zu nutzen, muss auf Alpha aber IP-Forwarding aktiviert sein.Code: Alles auswählen
echo "1" > /proc/sys/net/ipv4/ip_forward
Nein, das brauchst Du nicht. Die Antwortpakete von alpha an das Notebook gehen an dessen VPN-IP (vermutlich 10.8.0.6). Die Route für 10.8.0.0/24 setzt ovpn beim Start des Servers auf alphas Device tun0, so daß der DSL-Router davon gar nichts mitbekommt ...Darüberhinaus musst du beim DSL-Router eine Route ins VPN-Netz 10.8.0.0 konfigurieren, damit die Antwortpakete des Routers auch "den Weg ins VPN zurück finden".
Schneiderlein
Danke schonmal, aber die config- datei verwirrt mich etwas (eventuell mal kommentieren) da meine bisher ganz anderst aussah:
Beispiel vom Notebook
Beispiel vom Notebook
Code: Alles auswählen
remote 192.168.0.161
dev tun
ifconfig 192.168.10.2 192.168.10.161
secret meinedatei.txt
port 5000
-
- Beiträge: 189
- Registriert: 11.08.2005 09:27:01
phoenix79 hat geschrieben:die config- datei verwirrt mich etwas (eventuell mal kommentieren)
Code: Alles auswählen
#### Server ####
# Der Port, auf dem OpenVPN lauscht
port 1194
# das zu verwendende Protokoll
proto udp
# VPN-Typ: tun für IP-Tunnel, tap für virt. Ethernet
dev tun
# Auth über Keys und Zertifikate (zu empfehlen)
# (bei Dir vorher "secret meinedatei.txt")
# Das CA-Zertifikat (Datei ca.crt)
ca ca.crt
# Das Server-Zertifikat
cert server.crt
# Der Server-Key
key server.key
# Die Diffie-Hellman-Parameter (werden von den easyrsa-Skripten
# erstellt, glaub' ich)
dh dh1024.pem
# welches IP-Netz für das VPN (der Server nimmt sich selbst die *.1 und
# verteilt den Rest)
server 10.8.0.0 255.255.255.0
# den CLients möglichst immer dieselbe IP geben und deshalb Buch führen
ifconfig-pool-persist ipp.txt
# die Verbindung durch künstliche Pings aktiv halten (wichtig, damit evtl.
# NAT-Router zwischen den Endpunkten Pakete als Antwortpakete einstufen
keepalive 10 120
# Komprimieren der Daten
comp-lzo
# dem Server jegliche Rechte entziehen
user nobody
group nogroup
# Ressourcen wie Key und sowas im Speicher halten
persist-key
persist-tun
Code: Alles auswählen
#### Client ####
# ich bin der Client und initiiere die Verbindung
client
# mit diesem Protokoll
proto udp
# über ein TUN-Device
dev tun
# siehe Server (ca.crt ist auf allen beteiligten Systemen identisch)
ca ca.crt
cert notebook.crt
key notebook.key
# wohin soll ich mich verbinden: Dyndns-Adresse von zuhause auf Port 1194
remote alpha.myhome.dyndns.org 1194
# (bei Dir vorher "remote 192.168.0.161")
# immer mal wieder die dyndns-Adresse auflösen (weil die sich eben ändert)
resolv-retry infinite
# vermutlich nicht unbedingt nötig
nobind
# siehe Server
user nobody
group nogroup
# dito
persist-key
persist-tun
# nur Zertifikate mit gesetztem Server-Bit akzeptieren (als Schutz vor möglichen
# Man-in-the-Middle-Angriffen durch andere Teilnehmer des VPNs)
ns-cert-type server
# siehe Server
comp-lzo
Code-Tags angepasst.
- DynaBlaster
- Beiträge: 958
- Registriert: 25.03.2004 18:18:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: DF0://dynablaster.adf
Schon klar! Das Problem für den DSL-Router ist aber nun folgendes: Nehmen wir an, der DSL-Router hat die interne IP 192.168.0.1 - dann weiss er, daß er die Clients im Netz 192.168.0.0/24 über dieses Device, das an 192.168.0.1 gebunden ist, erreicht. Alle anderen IP-Adressen und Netze versucht er über sein Standard-Gateway zu erreichen (bei einer DSL-Verbindung bekommt er dieses Gateway und die Nameserver automatisch beim Verbindungsaufbau vom Provider mitgeteilt.).Nein, das brauchst Du nicht. Die Antwortpakete von alpha an das Notebook gehen an dessen VPN-IP (vermutlich 10.8.0.6). Die Route für 10.8.0.0/24 setzt ovpn beim Start des Servers auf alphas Device tun0, so daß der DSL-Router davon gar nichts mitbekommt ...
Folglich passiert ohne gesetzte statische Route auf dem DSL-Router folgendes: Das Notebook will eine Webseite ansurfen und stellt dafür über sein tun-Device (z.B. 10.8.0.6) eine entsprechende Anfrage an sein Standard-Gateway, welches ihm vom OpenVPN-Server mitgeteilt wurde (also z.B. 10.8.0.1). Soweit so gut. Das Paket kommt also bei tun0 von Alpha an. Alpha schickt das Paket nun über eth0 (z.B. 192.168.0.2) an sein eigenes Standard-Gateway weiter (also an den DSL-Router mit der IP 192.168.0.1). Der DSL-Router empfängt jetzt also ein Paket von der IP 10.8.0.6.
Und eben hier liegt das Problem: Woher soll der DSL-Router jetzt wissen, daß er seine Antwort an 10.8.0.6 an 192.168.0.2 schicken muss, damit es von da weiter geroutet wird ? Genau dafür braucht man eine statische Route oder eben SNAT/MASQUERADING
-
- Beiträge: 189
- Registriert: 11.08.2005 09:27:01
DynaBlaster hat geschrieben:Schon klar!Nein, das brauchst Du nicht. Die Antwortpakete von alpha an das Notebook gehen an dessen VPN-IP (vermutlich 10.8.0.6). Die Route für 10.8.0.0/24 setzt ovpn beim Start des Servers auf alphas Device tun0, so daß der DSL-Router davon gar nichts mitbekommt ...
[...]
Alpha schickt das Paket nun über eth0 (z.B. 192.168.0.2) an sein eigenes Standard-Gateway weiter (also an den DSL-Router mit der IP 192.168.0.1). Der DSL-Router empfängt jetzt also ein Paket von der IP 10.8.0.6.
Durch das Masquerading steht als Absender nicht 10.8.0.6 sondern 192.168.0.2 drin.
GenauGenau dafür braucht man eine statische Route oder eben SNAT/MASQUERADING
Schneiderlein
- DynaBlaster
- Beiträge: 958
- Registriert: 25.03.2004 18:18:57
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: DF0://dynablaster.adf
Ups !, wer lesen kann, ist klar im Vorteil.
Habe den kleinen, aber feinen Hinweis zum Router (mit Masquerading) doch glatt überlesen. Trotzdem denke ich, daß die Lösung mittels statischer Route schneller und vor allem einfacher zu realisieren ist. Es entfällt halt das Erstellen des init-Scripts.
Aber egal, wir meinen das Gleiche ...
Habe den kleinen, aber feinen Hinweis zum Router (mit Masquerading) doch glatt überlesen. Trotzdem denke ich, daß die Lösung mittels statischer Route schneller und vor allem einfacher zu realisieren ist. Es entfällt halt das Erstellen des init-Scripts.
Aber egal, wir meinen das Gleiche ...