traller
Goto Top

Zwei Standorte über OpenVPN vernetzen

Hallo,
ich möchte zwei Standorte über OpenVPN vernetzen, so dass die Netze gegenseitig erreichbar sind. Die Problematik ergibt sich aus den nachgelagerten VPN-Gateways und einem Mischmasch an IPv4 und IPv6 Netzen. Die "Übersetzung" von IPv4 nach IPv6 soll ein Internetserver mit 6tunnel übernehmen. Das sollte ja funktionieren.
Die Netzwerke gestalten sich wie folgt:
Als Router werden verschiedene Fritzboxen eingesetzt (6490 vom Kabelnetzbetreiber auf der rechten Seite und 7050 auf der linken Seite). Zu beachten ist, dass sich immer die linke Seite zur rechten verbinden muss (reell sind es dort 2 IPv4 Router, wobei auf den letzteren kein Zugriff besteht und es sollen sich auch immer nur der eine VPN-Gateway zum nächsten verbinden ... Die VPN-Gateways basieren auf Ubuntu Server 14.03.
8c41050a6a5a1179fd6e68e8a9733dd6

Jetzt die Fragen:
  • Funktioniert das so überhaupt?
  • Was muss ich den Clients beibringen (Windows 7), wenn dieser 192.168.0.2 ist, und auf die Daten von 192.168.1.2 zugreifen soll oder auf 192.168.2.4 drucken soll?
  • Wie bekomme ich das hin, dass der sich in diesem Fall über 192.168.0.3 und 192.168.1.3 verbindet?
  • Wie müsste iptables für die Gateways eingerichtet werden?


Als Konfiguration ist folgendes geplant:
server.conf
port 1194
proto tcp6-server
dev tun
ca ./easy-rsa/2.0/keys/ca.crt
cert ./easy-rsa/2.0/keys/server.crt
dh ./easy-rsa/2.0/keys/dh1024.pem
server 10.0.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "route 192.168.1.0 255.255.255.0"  
client-config-dir ccd
route 192.168.0.0 255.255.255.0
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

client.conf
client
dev tun
proto tcp
remote adresse.de
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
comp-lzo
verb 3

Content-ID: 280298

Url: https://administrator.de/forum/zwei-standorte-ueber-openvpn-vernetzen-280298.html

Ausgedruckt am: 22.12.2024 um 15:12 Uhr

orcape
orcape 15.08.2015 um 09:40:14 Uhr
Goto Top
Hi,
Funktioniert das so überhaupt?
...warum sollte das nicht funktionieren.
Was muss ich den Clients beibringen (Windows 7), wenn dieser 192.168.0.2 ist,
...eigentlich nichts, der Client hat ja mit dem eigentlichen Tunnel nichts zu tun.
Du musst den OpenVPN-Server auf dem Ubuntu im 192.168.0.0/24 Netz unterbringen, der OpenVPN-Client läuft auf dem Ubuntu auf Light Seite.
Feste-IP oder DynDNS auf der 192.168.0.1 Fritte.
- Der client-to-client Eintrag ist kontraproduktiv. Du hast hier eine reine Standortvernetzung und kein Multiclientnetz.
- push "route 192.168.1.0 255.255.255.0" + route 192.168.0.0 255.255.255.0 sind die Netze falsch.
...müsste genau umgekehrt sein.
Gepusht wird, um das Netz auf Serverseite vom Client aus erreichbar zu machen, der Route-Eintrag verweist auf 's Clientnetz.
proto tcp6-server ? ...der Tunnel ist doch IPv4, oder sehe ich das falsch.
Portfreischaltung 1194 auf der 192.168.0.1 Fritte und gut.
Weitaus einfacher wäre natürlich, OpenVPN auf dem Router unter zu bringen, dazu sind aber die Fritten nicht wirklich gut geeignet. Es sei denn man Freetzt die Dinger.
Gruß orcape
108012
108012 15.08.2015 um 09:45:07 Uhr
Goto Top
Hallo,

Die "Übersetzung" von IPv4 nach IPv6 soll ein Internetserver mit 6tunnel übernehmen.
Das sollte ja funktionieren.
Feste IP & DSLlight

Die VPN-Gateways basieren auf Ubuntu Server 14.03.
Schau mal unter dem Link nach und dann kannst Du eventuell mit den Scripten von denen
arbeiten! Sind das beides RaspBerry PI2 VPN Gateways?

Funktioniert das so überhaupt?
Alles steht und fällt mit dem Dienst Fest-IP.net!

Was muss ich den Clients beibringen (Windows 7), wenn dieser 192.168.0.2 ist, und auf
die Daten von 192.168.1.2 zugreifen soll oder auf 192.168.2.4 drucken soll?
Da gibt es mehrere Möglichkeiten, denn man kann in Windows Ordner freigeben
und dann via Ubuntu als Share einbinden lassen und anbieten oder aber direkt
in Windows die Verzeichnisse einfach freigeben, nur dann ist der andere auch
direkt auf Deinem PC mit drauf!!! Wäre hier DropBox oder TeamViewer
nicht besser dazu geeignet?

Gruß
Dobby
mrtux
mrtux 15.08.2015 aktualisiert um 13:16:53 Uhr
Goto Top
Hi!

Hast Du in dem Szenario überhaupt schon mal einen VPN Kanal (auch nur zum Test) etablieren können? Denn wenn ich "Kabelnetzbetreiber" lese, gehen bei mir gleich die Alarmglocken an... face-wink Stichwort: Provider NAT....Und das wäre dann meine Antwort auf die Frage warum es evt. auch nicht funktionieren könnte... face-wink

mrtux
orcape
orcape 15.08.2015 um 14:33:14 Uhr
Goto Top
Denn wenn ich "Kabelnetzbetreiber" lese,
Na ja, so wirklich klar ist das nicht....
(6490 vom Kabelnetzbetreiber auf der rechten Seite und 7050 auf der linken Seite)
7050 auf der Linken Seite sollte wohl DSL+ISDN sein, aber dazu sollte sich der TO mal äußern.
Gruß orcape
traller
traller 15.08.2015 aktualisiert um 18:46:46 Uhr
Goto Top
Hallo,
bei dem Kabelnetzbetreiber gibt es ja IPv6, deshalb wird dass über einen in der Zeichnung nicht vorhandenen Server mit 6tunnel verbunden (Verbindung vonm IPv4 links auf IPv6 rechts). Die 7050 wird einfach auf "Internet über LAN A" eingestellt, fertig ...

Deshalb soll der Tunnel ja auch auf tcp basieren ...
traller
traller 15.08.2015 um 22:41:39 Uhr
Goto Top
Hallo,
ich habe das nun soweit geschafft und glaube schon, dass es laufen wird:
server.conf
port 1194
proto tcp6-server
dev tun
ca ca.crt
cert server.crt
key server.key
dh dh2048.pem
tls-auth ta.key 0
server 10.0.0.0 255.255.255.0
client-config-dir ccd
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status /var/log/openvpn-status.log
verb 1
log-append /var/log/openvpn.log

#Gesperrte Zertifikate
crl-verify crl.pem

#Server LAN erreichbar machen
push "route 192.168.1.0 255.255.255.0"  

#Lager LAN erreichbar machen
route 192.168.0.0 255.255.255.0
route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.0.0.2 dev tun0
die ccd sieht mit <common-name> so aus:
ifconfig-push 10.0.0.2 255.255.255.0
client-to-client
iroute 192.168.0.0 255.255.255.0
push route "192.168.1.0 255.255.255.0"  

client.ovpn (+ die Zertifikate)
client
dev tun
proto tcp
remote adresse 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ns-cert-type server
comp-lzo
verb 4
key-direction 1

dazu ist auf beiden Geräten noch ip_forward = 1 gesetzt und iptables in der rc.local wie folgt:
iptables -t nat -A POSTROUTING -j MASQUERADE
iptables -I INPUT 3 -i tun0 -j ACCEPT
und in den Fritzen sind entsprechende feste Ipv4 Routings hinterlegt.

Jetzt stellt mich zweck Sicherheit folgende Frage: Das MASQUERADE ist doch = DMZ oder? Wie beschränke ich das auf "lokale LAN und tun0?? ich will ja nicht, dass über die externe IPv6 plötzlich jeder auf das Netzwerk / den Server zugreifen kann ...
orcape
orcape 16.08.2015 um 10:27:08 Uhr
Goto Top
Das MASQUERADE ist doch = DMZ oder?
Was hat das mit der DMZ zu tun.
http://www.tcp-ip-info.de/TschiTschi/ip_masquerading.htm
https://de.wikipedia.org/wiki/Demilitarized_Zone
Ich habe bei mir folgende Regeln auf einem DD-WRT Linksys am laufen....
iptables -I INPUT -p udp --dport 1194 -j ACCEPT
iptables -I INPUT -i tun1 -j ACCEPT
iptables -I FORWARD -i br0 -o tun1 -j ACCEPT
iptables -I FORWARD -i tun1 -o br0 -j ACCEPT
br0 = LAN
tun1 =Tunnel
Wobei das bei Dir entsprechend anzupassen ist.
Den Masquerade Eintrag brauchst Du sicher nur, wenn Du von remote über Deinen OpenVPN-Server ins Internet willst.
Gruß orcape