zwergenalarm
Goto Top

Raspberry openvpn local nicht mehr erreichbar

Hallo ich wieder!
Habe wieder ein Problem!
Habe auf einen meiner Pi's OpenVpn installiert!
Der Tunnel baut sich auf und der Pi ist über seine Tunnel_Ip
erreichbar!
Eigentlich perfekt wenn da nicht noch ein Aber wäre!
Leider kann ich den Pi aber sobald der Tunnel offen ist nicht mehr Lokal
über seine Ip erreichen! Auch kein Ping ist mehr möglich!
Was mache ich falsch? Wie kann ich meinem Problem auf die Pelle rücken?
Lg

Content-Key: 297828

Url: https://administrator.de/contentid/297828

Printed on: April 20, 2024 at 01:04 o'clock

Mitglied: 117471
117471 Mar 01, 2016 at 21:51:45 (UTC)
Goto Top
Bei jedem Routing solltest Du auch immer den Rückweg betrachten.

Wenn der Pi die Daten aus dem LAN bekommt und die Antworten in den VPN-Tunnel pustet, dann landen diese zumindest schon mal da, wo sie nicht hingehören.

Was Du genau vorhast, lässt sich nur mutmaßen. Soll der Pi alles aus dem LAN in den Tunnel schieben? Möchtest Du Netze koppeln? Willst Du Clients als RoadWarrior anbinden? usw. usf.
Member: zwergenalarm
zwergenalarm Mar 02, 2016 at 12:12:14 (UTC)
Goto Top
Vielen Dank für deine Antwort!
Also mein Vorhaben ist folgendes. Ich möchte das mein Pi zum einem ganz normal aus dem Netzwerk in dem er Physikalisch hängt erreichbar ist und zum anderem zu Fernwartungs Zwecken über Vpn aus der Ferne.
Der Fernzugriff funktioniert anstandslos!
Nur direkt vom Netzwerk an dem der Pi physikalisch hängt geht es nicht mehr!
Was mache ich falsch?
Welche Infos braucht ihr?
Lg
Mitglied: 117471
117471 Mar 02, 2016 at 12:49:38 (UTC)
Goto Top
Zitat von @zwergenalarm:

Welche Infos braucht ihr?

Alle, die Du hast?!?

  • Konfigurationsdatei vom Server und vom Client (inklusive evtl. vorhandener ccd-Konfigurationsdatei)
  • Angaben zum Netzwerk Server und Client (IP-Adresse, Subnetzmaske, Gateway usw.)
  • Vollständige Routing-Tabelle vom Server und vom Client (jeweils vor und nach dem Aufbau der VPN-Verbindung)

Verschwindet der RasPi nur dann aus dem LAN wenn der Client verbunden ist oder bereits dann, wenn Du den OpenVPN-Serverdienst startest?
Member: zwergenalarm
zwergenalarm Mar 03, 2016 at 12:07:04 (UTC)
Goto Top
Sorry das ich erst jetzt antworte!
Hier die Server Config.
port 443
proto tcp-server
dev tun1
ca keys/test/ca.crt
cert keys/test/servertest.crt
key keys/test/servertest.key
dh keys/test/dh2048.pem
server 10.98.1.0 255.255.255.0
crl-verify keys/test/crl.pem
cipher BF-CBC
user nobody
group nogroup
status servers/serverMy/logs/openvpn-status.log
log-append servers/serverMy/logs/openvpn.log
verb 9
mute 20
max-clients 100
management 127.0.0.1 2000
keepalive 10 120
client-config-dir /etc/openvpn/servers/serverMy/ccd
client-to-client
comp-lzo
persist-key
persist-tun
ccd-exclusive
port-share 127.0.0.1 50443
local qayw.eu
script-security 3
route 10.99.11.0 255.255.255.0 #WRT Home
push "route 10.99.99.0 255.255.255.0"  

route 10.99.113.0 255.255.255.0 #raspi

route 10.99.1.0 255.255.255.0 #Notebook
route 10.99.2.0 255.255.255.0 #Xpiria


Die config des PI:
client
proto tcp-client
dev tun
ca ca.crt
dh dh2048.pem
cert raspisauna.crt
key raspisauna.key
remote xxxxxx.eu 443
cipher BF-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind



Das ccd des Pi:
ifconfig-push 10.99.113.1 10.99.113.2 #raspiSauna
#iroute 10.2.1.0 255.255.255.0
push "route 10.99.1.0 255.255.255.0" #Notebook  
push "route 10.99.2.0 255.255.255.0" #Xpiera  


Der Pi ist sobald der Tunnel einmal aufgebaut wurde nicht mehr im lokalen Netz mehr erreichbar!
Die ausgabe des ROUTE commands auf dem Pi wärend der Tunnel aktiv ist!
root@raspberrypi:~# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         10.99.99.10     0.0.0.0         UG    202    0        0 eth0
10.2.1.0        10.99.113.2     255.255.255.0   UG    0      0        0 tun0
10.98.1.0       10.99.113.2     255.255.255.0   UG    0      0        0 tun0
10.99.1.0       10.99.113.2     255.255.255.0   UG    0      0        0 tun0
10.99.2.0       10.99.113.2     255.255.255.0   UG    0      0        0 tun0
10.99.99.0      10.99.113.2     255.255.255.0   UG    0      0        0 tun0
10.99.99.0      *               255.255.255.0   U     202    0        0 eth0
10.99.113.2     *               255.255.255.255 UH    0      0        0 tun0
192.168.20.0    10.99.113.2     255.255.255.0   UG    0      0        0 tun0


das ifconfig des PI
root@raspberrypi:~# ifconfig
eth0      Link encap:Ethernet  HWaddr b8:27:eb:f0:be:76
          inet addr:10.99.99.16  Bcast:10.99.99.255  Mask:255.255.255.0
          inet6 addr: fe80::eeed:3476:f632:375b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18664 errors:0 dropped:8 overruns:0 frame:0
          TX packets:15198 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1356548 (1.2 MiB)  TX bytes:1678243 (1.6 MiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:5691 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5691 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:277444 (270.9 KiB)  TX bytes:277444 (270.9 KiB)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:10.99.113.1  P-t-P:10.99.113.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:177 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1741 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100
          RX bytes:16092 (15.7 KiB)  TX bytes:166469 (162.5 KiB)


Vielen Dank für eure Hilfe
Mitglied: 117471
117471 Mar 03, 2016 at 12:56:08 (UTC)
Goto Top
Also hast Du drei Netze, die Du mit einem VPN-Server verbinden möchtest?
  • WRT Home
  • xperia
  • Notebook

?
Member: zwergenalarm
zwergenalarm Mar 03, 2016 at 13:40:11 (UTC)
Goto Top
Zitat von @117471:

Also hast Du drei Netze, die Du mit einem VPN-Server verbinden möchtest?
  • WRT Home
  • xperia
  • Notebook

?

Ja die Drei Openvpn Netze funktionieren! Ich kann von überrall durch den Tunnel auf den Pi zugreifen! Nur im Netzwerk des Pi kann ich Lokal nicht auf den Pi zugreifen!!

Also im Lokalen Netz wo der Pi die IP 10.99.99.16 hat erreiche ich ihn nicht mit dieser Adresse!
LG
Mitglied: 117471
117471 Mar 03, 2016 updated at 14:31:25 (UTC)
Goto Top
Und welcher von den vieren (Notebook, Xperia, WRT Home, Raspberry) "spielt" den Server?

Edit:

Aber eigentlich ist es auch egal. Ich tue einfal mal so, als wenn Du noch eine fünfte Ressource (einen Roundcube-Server beim Hoster?) als Server betreibst und die vier erstgenannten als Netz-zu-Netz-Client anbinden willst.

Letztendlich geht es ja nur darum, die Theorie zu erklären. Lernen musst Du selber face-smile

Den Server konfigurierst Du erst einmal "ganz normal" über die Netzwerkeinstellungen (IP-Adresse, Subnetzmaske, Gateway).

Dann musst Du dem OpenVPN-Serverdienst sagen, für welche (entfernten) Netze er routen soll. Zum Beispiel so:
route 10.99.1.0 255.255.255.0 # Notebook
route 10.99.2.0 255.255.255.0 # Xperia
route 10.99.11.0 255.255.255.0 # WRT Home
route 10.99.113.0 255.255.255.0 # Raspberry Pi

Jetzt bist Du so weit, dass der OpenVPN-Server "erst einmal" Routing-Anfragen für diese Netze annimmt. Aber Du musst ja auch:
  • dem OpenVPN-Server sagen, auf welchem Client er die Route finden soll (das macht "iRoute")
  • jedem Client sagen, welche Netze "sonst noch so" über den OpenVPN-Server erreicht werden können (das macht "push route")

Also brauchst Du auf dem Server für jeden Client eine ccd-Konfiguration.

ccd.conf für das Notebook:
iroute 10.99.1.0 255.255.255.0
push route "10.99.2.0 255.255.255.0"  
push route "10.99.11.0 255.255.255.0"  
push route "19.99.113.0 255.255.255.0"  

ccd.conf für das Xperia:
iroute 10.99.2.0 255.255.255.0
push route "10.99.1.0 255.255.255.0"  
push route "10.99.11.0 255.255.255.0"  
push route "19.99.113.0 255.255.255.0"  

ccd.conf für den WRT Home:
iroute 10.99.11.0 255.255.255.0
push route "10.99.1.0 255.255.255.0"  
push route "10.99.2.0 255.255.255.0"  
push route "19.99.113.0 255.255.255.0"  

ccd.conf für den Raspberry:
iroute 10.99.113.0 255.255.255.0
push route "10.99.1.0 255.255.255.0"  
push route "10.99.2.0 255.255.255.0"  
push route "10.99.11.0 255.255.255.0"  

Achja - eine Anmerkung noch: Die Verwendung von Port 443 und des TCP-Protokolls lässt vermuten, dass Du mit deiner Maßnahme Firewalls umgehen möchtest. Du solltest dich ggf. mit dem Betreiber des Netzes absprechen.
Member: zwergenalarm
zwergenalarm Mar 03, 2016 at 14:49:14 (UTC)
Goto Top
Vielen Dank für deine Mühe und deinen guten Erklärungen!face-smile)
Leider reden wir immer noch an einander vorbeiface-sad Das heißt wahrscheinlich drücke ich mich zu doof aus!
Alles was das Open Vpn angeht funktioniert! Routing und so weiter!
Ich versuche das Szenarium etwas banaler dar zu stellen. Also der Pi hängt an einen Hub über den er auf das Internet zugriff hat. In diesem Netz ist auch ein Pc! dieses Netzwerk ist ein 10.99.99.0 Netz. Der Pi hat die statische Adresse 10.99.99.16 sobald der Pi einmal den Tunnel zum Open Vpn Server aufgebaut hat (der Server ist irgendwo im Internet) ist der Pi aus dem 10.99.99.0 Netz vom andern pc nicht mehr erreichbar.!
Also der Pc kann keinen erfolgreichen ping zu 10.99.99.16 machen1

Nochmal Entschuldigung für meine schlechte Frage Stellung!

Lg
Mitglied: 117471
117471 Mar 03, 2016 at 16:13:38 (UTC)
Goto Top
Wie gesagt - die Logik ist immer die Gleiche.
  • Mit dem route-Befehl in der server.conf sagst Du dem VPN-Server, welche routen er grundsätzlich annehmen und zu seinen VPN-Clients schicken soll.
  • Mit dem iroute-Befehl in der jeweiligen ccd.conf sagst Du dem VPN-Server, auf welchem seiner Clients er das Netz dann endgültig findet.
  • Mit der push-route-Option in der jeweiligen ccd.conf sagst Du dem dazugehörigen VPN-Client, welche Netze er zum VPN-Server schicken soll.

Vielleicht solltest Du dir das wirklich noch einmal "in Ruhe" aufmalen und das Aufgemalte dann entsprechend konfigurieren. Anders würde ich es bei einem Kunden auch nicht machen. Eine vollständige, individuelle Konfiguration werde ich Dir nicht bauen. Zumal es für Dich als Betreiber des VPN essentiell erforderlich ist, dass Du weißt, was das Teil macht und wie es funktioniert.

Ich habe mich auch gerade 2-3 Wochen in so ein Thema hineingefuchst. 2 Wochen lang geflucht, danach einen Plan gemalt und diesen dann mit den gewonnenen Erkenntnissen umgesetzt. Anders geht es leider nicht, "wenn man 's selber macht".
Member: zwergenalarm
zwergenalarm Mar 03, 2016 at 17:07:56 (UTC)
Goto Top
Zeichnung

So habe eine kleine Zeichnung gemachtface-smile
Nochmal Openvpn geht ich habe kein Problem mit dem Routing!!!
Mein Problem ist im Lokalen Netz! Die Verbindung die nicht funktioniert ist die grün markierte in der Zeichnung!
Danke und Lg
Member: BirdyB
Solution BirdyB Mar 03, 2016, updated at Mar 04, 2016 at 19:58:28 (UTC)
Goto Top
Zitat von @zwergenalarm:
Nochmal Openvpn geht ich habe kein Problem mit dem Routing!!!
Doch, du hast ein Problem mit dem Routing. In deiner Routingtabelle oben steht:
10.99.99.0      10.99.113.2     255.255.255.0   UG    0      0        0 tun0 
Ergo routet der Raspi seine Antwortpakete in des 10.99.99.0 Netz über den VPN-Tunnel und nicht in das lokale Netz. Also verschwinden die Pakete ins Nirvana. Häng einen Wireshark rein und schau es dir an.
Versuche mal zu analysieren, wie du die Routen konfiguriert hast.
Mein Problem ist im Lokalen Netz! Die Verbindung die nicht funktioniert ist die grün markierte in der Zeichnung!
Auch dafür gibt es Routen... Routen haben nicht immer etwas mit einem Router zu tun.
Danke und Lg

Beste Grüße!


Berthold
Member: zwergenalarm
zwergenalarm Mar 03, 2016 at 20:41:11 (UTC)
Goto Top
Habe den Fehler gefunden mit Eurer Hilfe!
das
push "route 10.99.99.0 255.255.255.0"   
in der Server conf war zu viel!

Eine Frage habe ich noch. Kann man eigentlich auch den Pi mit dhcp im Netzwerk betreiben und das erhaltene Dhcp Netz über Openvpn weiter routen?
ich meine Dynamisch?

Vielen Dank für Eure Hilfe!
Mitglied: 117471
117471 Mar 03, 2016 updated at 21:10:31 (UTC)
Goto Top
Die Gegenstellen müssten dafür ja wissen, welches Netz der Raspberry vorgefunden hat.

Abgesehen davon ist Routing mit einer Netzwerkschnittstelle eh' Pfusch - insbesondere auf einer Hardware, bei der sich das Netzwerk die Bandbreite mit vier USB-Anschlüssen teilt.

Ich meine, mal ernsthaft - der Rasberry bekommt ein Datenpaket über seine Netzwerkschnittstelle - danach schickt er es über die gleiche Netzwerkschnitstelle ins LAN - bekommt wieder über diese Netzwerkschnitstelle seine Antwort - und schickt die noch einmal über die gleiche Netzwerkschnittstelle raus.

Wohlgemerkt - auf einer Schnittstelle, die mit gefühlten 30MBit läuft und den größten Teil dieser 30MBit zugunsten der USB-Geräte opfert. Die Post dürfte da deutlich schneller sein.

Im Übrigen erweckt das alles den Eindruck, als wenn Du (heimlich?) ein Scheunentor in ein Netz reißen möchtest (wenn es dein Netz wäre, würdest Du mit einer statischen IP-Adresse und ggf. Portforwardings benutzen). Sry, aber da möchte ich mich lieber zurückhalten...
Member: BirdyB
BirdyB Mar 03, 2016 at 21:11:37 (UTC)
Goto Top
Zitat von @zwergenalarm:
Eine Frage habe ich noch. Kann man eigentlich auch den Pi mit dhcp im Netzwerk betreiben und das erhaltene Dhcp Netz über Openvpn weiter routen?
ich meine Dynamisch?
Du könntest dein OpenVPN im Bridge-Modus betreiben... Allerdings würde ich das nicht empfehlen, da dann der ganze Broadcast auch mit über das Netzwerk fließt...
Ansonsten fällt mir dazu nicht allzuviel ein...
Vielen Dank für Eure Hilfe!
Gerne!

Beste Grüße!


Berthold