117471
Goto Top

OpenVPN - no route to Host

Ich habe einen RaspberryPI hinter einer Fritz!BOX. Ein Windows-Rechner soll sich via OpenVPN verbinden und eine IP-Adresse aus dem Netz der Fritz!BOX erhalten.

Die Portfreigabe (UDP Port 1194) ist eingerichtet.

Die Konfiguration des Clients ist dahingehend "exotisch", dass dieser eine zweite Netzwerkkarte (kein Kabel angeschlossen) und einen VirtualBox "Host only" Adapter hat. Deshalb binde ich in der Clientconfig den dev-node an den Namen vom OpenVPN-Adapter.

Was mich momentan ein bisschen annervt, dass ich so etwas schon 100 Mal gemacht habe und es normalerweise eine reine Fleißarbeit ist. Ich finde den Fehler nicht und merke gerade, dass ich nur noch wild herumexperimentiere face-sad

Vielleicht habt Ihr einen Tipp.

Die Konfigurationsdatei des Servers:
local 192.168.178.22
port 1194
proto udp
dev tap0
ca /etc/openvpn/certstore/ca.crt
cert /etc/openvpn/certstore/xyz.crt
key /etc/openvpn/certstore/xyz.key
dh /etc/openvpn/certstore/dh1024.pem
ifconfig-pool-persist /etc/openvpn/ipp.txt
server-bridge 192.168.178.22 255.255.255.0 192.168.178.201 192.168.178.254
client-to-client
keepalive 10 120
cipher AES-256-CBC
comp-lzo
persist-key
persist-tun
log         /etc/openvpn/openvpn.log
verb 6

Die Konfigurationsdatei des Clients:
client
dev tap
dev-node OpenVPN
proto udp
remote xyz.zapto.org 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert xyz.crt
key xyz.key
ns-cert-type server
cipher AES-256-CBC
comp-lzo
verb 3

Die LOG-Datei sagt:
Sun Dec 21 14:57:17 2014 us=39842   port_share_port = 0
Sun Dec 21 14:57:17 2014 us=40008   client = DISABLED
Sun Dec 21 14:57:17 2014 us=40181   pull = DISABLED
Sun Dec 21 14:57:17 2014 us=40351   auth_user_pass_file = '[UNDEF]'
Sun Dec 21 14:57:17 2014 us=40540 OpenVPN 2.2.1 arm-linux-gnueabihf [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Dec  1 2014
Sun Dec 21 14:57:17 2014 us=41939 NOTE: when bridging your LAN adapter with the TAP adapter, note that the new bridge adapter will often take on its own IP address that is different from what the LAN adapter was previously set to
Sun Dec 21 14:57:17 2014 us=42878 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Sun Dec 21 14:57:17 2014 us=83310 Diffie-Hellman initialized with 1024 bit key
Sun Dec 21 14:57:17 2014 us=96257 TLS-Auth MTU parms [ L:1590 D:138 EF:38 EB:0 ET:0 EL:0 ]
Sun Dec 21 14:57:17 2014 us=96664 Socket Buffers: R=[163840->131072] S=[163840->131072]
Sun Dec 21 14:57:17 2014 us=97883 TUN/TAP device tap0 opened
Sun Dec 21 14:57:17 2014 us=98214 TUN/TAP TX queue length set to 100
Sun Dec 21 14:57:17 2014 us=98644 Data Channel MTU parms [ L:1590 D:1450 EF:58 EB:135 ET:32 EL:0 AF:3/1 ]
Sun Dec 21 14:57:17 2014 us=105206 UDPv4 link local (bound): [AF_INET]192.168.178.22:1194
Sun Dec 21 14:57:17 2014 us=105659 UDPv4 link remote: [undef]
Sun Dec 21 14:57:17 2014 us=105906 MULTI: multi_init called, r=256 v=256
Sun Dec 21 14:57:17 2014 us=106637 IFCONFIG POOL: base=192.168.178.201 size=54, ipv6=0
Sun Dec 21 14:57:17 2014 us=106874 IFCONFIG POOL LIST
Sun Dec 21 14:57:17 2014 us=107270 Initialization Sequence Completed
Sun Dec 21 14:57:36 2014 us=534799 MULTI: multi_create_instance called
Sun Dec 21 14:57:36 2014 us=535413 62.206.13.96:54147 Re-using SSL/TLS context
Sun Dec 21 14:57:36 2014 us=536000 62.206.13.96:54147 LZO compression initialized
Sun Dec 21 14:57:36 2014 us=537936 62.206.13.96:54147 Control Channel MTU parms [ L:1590 D:138 EF:38 EB:0 ET:0 EL:0 ]
Sun Dec 21 14:57:36 2014 us=538233 62.206.13.96:54147 Data Channel MTU parms [ L:1590 D:1450 EF:58 EB:135 ET:32 EL:0 AF:3/1 ]
Sun Dec 21 14:57:36 2014 us=538704 62.206.13.96:54147 Local Options String: 'V4,dev-type tap,link-mtu 1590,tun-mtu 1532,proto UDPv4,comp-lzo,cipher AES-256-CBC,auth SHA1,keysize 256,key-method 2,tls-server'
Sun Dec 21 14:57:36 2014 us=538892 62.206.13.96:54147 Expected Remote Options String: 'V4,dev-type tap,link-mtu 1590,tun-mtu 1532,proto UDPv4,comp-lzo,cipher AES-256-CBC,auth SHA1,keysize 256,key-method 2,tls-client'
Sun Dec 21 14:57:36 2014 us=539390 62.206.13.96:54147 Local Options hash (VER=V4): '1a6d5c5d'
Sun Dec 21 14:57:36 2014 us=539682 62.206.13.96:54147 Expected Remote Options hash (VER=V4): 'c6c7c21a'
Sun Dec 21 14:57:36 2014 us=540217 62.206.13.96:54147 UDPv4 READ [14] from [AF_INET]62.206.13.96:54147: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 [ ] pid=0 DATA len=0
Sun Dec 21 14:57:36 2014 us=540531 62.206.13.96:54147 TLS: Initial packet from [AF_INET]62.206.13.96:54147, sid=b7e9a5b9 b217d539
Sun Dec 21 14:57:36 2014 us=540998 62.206.13.96:54147 UDPv4 WRITE [26] to [AF_INET]62.206.13.96:54147: P_CONTROL_HARD_RESET_SERVER_V2 kid=0 [ 0 ] pid=0 DATA len=0
Sun Dec 21 14:57:38 2014 us=85441 62.206.13.96:54147 UDPv4 WRITE [14] to [AF_INET]62.206.13.96:54147: P_CONTROL_HARD_RESET_SERVER_V2 kid=0 [ ] pid=0 DATA len=0
Sun Dec 21 14:57:38 2014 us=618933 62.206.13.96:54147 UDPv4 READ [14] from [AF_INET]62.206.13.96:54147: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 [ ] pid=0 DATA len=0
Sun Dec 21 14:57:38 2014 us=620462 62.206.13.96:54147 UDPv4 WRITE [22] to [AF_INET]62.206.13.96:54147: P_ACK_V1 kid=0 [ 0 ]
Sun Dec 21 14:57:39 2014 us=532097 read UDPv4 [EHOSTUNREACH|EHOSTUNREACH|EHOSTUNREACH]: No route to host (code=113)
Sun Dec 21 14:57:41 2014 us=757548 62.206.13.96:54147 UDPv4 READ [14] from [AF_INET]62.206.13.96:54147: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 [ ] pid=0 DATA len=0
Sun Dec 21 14:57:41 2014 us=759505 62.206.13.96:54147 UDPv4 WRITE [22] to [AF_INET]62.206.13.96:54147: P_ACK_V1 kid=0 [ 0 ]
Sun Dec 21 14:57:42 2014 us=959844 62.206.13.96:54147 UDPv4 WRITE [14] to [AF_INET]62.206.13.96:54147: P_CONTROL_HARD_RESET_SERVER_V2 kid=0 [ ] pid=0 DATA len=0
Sun Dec 21 14:57:44 2014 us=801889 read UDPv4 [EHOSTUNREACH|EHOSTUNREACH]: No route to host (code=113)
Sun Dec 21 14:57:50 2014 us=118989 62.206.13.96:54147 UDPv4 READ [14] from [AF_INET]62.206.13.96:54147: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 [ ] pid=0 DATA len=0
Sun Dec 21 14:57:50 2014 us=119579 62.206.13.96:54147 UDPv4 WRITE [26] to [AF_INET]62.206.13.96:54147: P_CONTROL_HARD_RESET_SERVER_V2 kid=0 [ 0 ] pid=0 DATA len=0
Sun Dec 21 14:57:53 2014 us=111887 read UDPv4 [EHOSTUNREACH]: No route to host (code=113)
Sun Dec 21 14:58:05 2014 us=999016 62.206.13.96:54147 UDPv4 READ [14] from [AF_INET]62.206.13.96:54147: P_CONTROL_HARD_RESET_CLIENT_V2 kid=0 [ ] pid=0 DATA len=0
Sun Dec 21 14:58:05 2014 us=999707 62.206.13.96:54147 UDPv4 WRITE [22] to [AF_INET]62.206.13.96:54147: P_ACK_V1 kid=0 [ 0 ]
Sun Dec 21 14:58:06 2014 us=516 62.206.13.96:54147 UDPv4 WRITE [14] to [AF_INET]62.206.13.96:54147: P_CONTROL_HARD_RESET_SERVER_V2 kid=0 [ ] pid=0 DATA len=0
Sun Dec 21 14:58:08 2014 us=991905 read UDPv4 [EHOSTUNREACH|EHOSTUNREACH]: No route to host (code=113)
Sun Dec 21 14:58:36 2014 us=156339 62.206.13.96:54147 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sun Dec 21 14:58:36 2014 us=156724 62.206.13.96:54147 TLS Error: TLS handshake failed
Sun Dec 21 14:58:36 2014 us=157823 62.206.13.96:54147 SIGUSR1[soft,tls-error] received, client-instance restarting
Sun Dec 21 14:58:38 2014 us=497079 MULTI: multi_create_instance called
Sun Dec 21 14:58:38 2014 us=498423 62.206.13.96:57333 Re-using SSL/TLS context

[...]

Sun Dec 21 15:12:11 2014 us=998292 TCP/UDP: Closing socket
Sun Dec 21 15:12:11 2014 us=998614 Closing TUN/TAP interface
Sun Dec 21 15:12:12 2014 us=762 SIGTERM[hard,] received, process exiting
root@pinulldrei:/etc/openvpn#

Netzwerk des Servers:
root@pinulldrei:/etc/openvpn# route
Kernel-IP-Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
default         fritz.box       0.0.0.0         UG    0      0        0 eth0
192.168.178.0   *               255.255.255.0   U     0      0        0 br0
192.168.178.0   *               255.255.255.0   U     0      0        0 eth0
root@pinulldrei:/etc/openvpn# ifconfig
br0       Link encap:Ethernet  Hardware Adresse b8:27:eb:20:e2:41
          inet Adresse:192.168.178.22  Bcast:192.168.178.255  Maske:255.255.255.0
          inet6-Adresse: 2a02:8109:140:164c:ba27:ebff:fe20:e241/64 Gültigkeitsbereich:Global
          inet6-Adresse: fe80::ba27:ebff:fe20:e241/64 Gültigkeitsbereich:Verbindung
          inet6-Adresse: 4006:7516:c0a8:b22f:ba27:ebff:fe20:e241/64 Gültigkeitsbereich:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:758 errors:0 dropped:0 overruns:0 frame:0
          TX packets:270 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:126991 (124.0 KiB)  TX bytes:54369 (53.0 KiB)

eth0      Link encap:Ethernet  Hardware Adresse b8:27:eb:20:e2:41
          inet Adresse:192.168.178.22  Bcast:192.168.178.255  Maske:255.255.255.0
          inet6-Adresse: fe80::ba27:ebff:fe20:e241/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metrik:1
          RX packets:1091 errors:0 dropped:0 overruns:0 frame:0
          TX packets:644 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000
          RX bytes:178872 (174.6 KiB)  TX bytes:104961 (102.5 KiB)

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:65536  Metrik:1
          RX packets:49 errors:0 dropped:0 overruns:0 frame:0
          TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0
          RX bytes:3986 (3.8 KiB)  TX bytes:3986 (3.8 KiB)

tap0      Link encap:Ethernet  Hardware Adresse c2:8f:86:21:cd:f2
          inet6-Adresse: fe80::c08f:86ff:fe21:cdf2/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:485 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:100
          RX bytes:0 (0.0 B)  TX bytes:112258 (109.6 KiB)

root@pinulldrei:/etc/openvpn#

Netzwerk vom Client:
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\xyz>route print
===========================================================================
Schnittstellenliste
 21...00 ff aa 4a e9 38 ......TAP-Windows Adapter V9
 16...e0 91 f5 94 09 a1 ......Realtek PCI GBE Family Controller
 11...00 1b fc 88 97 cc ......Realtek PCIe GBE Family Controller
 20...08 00 27 00 74 6b ......VirtualBox Host-Only Ethernet Adapter
  1...........................Software Loopback Interface 1
 12...00 00 00 00 00 00 00 e0 Microsoft-ISATAP-Adapter
 13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 14...00 00 00 00 00 00 00 e0 Microsoft-ISATAP-Adapter #2
 18...00 00 00 00 00 00 00 e0 Microsoft-ISATAP-Adapter #3
 19...00 00 00 00 00 00 00 e0 Microsoft-ISATAP-Adapter #4
===========================================================================

IPv4-Routentabelle
===========================================================================
Aktive Routen:
     Netzwerkziel    Netzwerkmaske          Gateway    Schnittstelle Metrik
          0.0.0.0          0.0.0.0      192.168.1.1    192.168.1.142     10
        127.0.0.0        255.0.0.0   Auf Verbindung         127.0.0.1    306
        127.0.0.1  255.255.255.255   Auf Verbindung         127.0.0.1    306
  127.255.255.255  255.255.255.255   Auf Verbindung         127.0.0.1    306
      192.168.1.0    255.255.255.0   Auf Verbindung     192.168.1.142    266
    192.168.1.142  255.255.255.255   Auf Verbindung     192.168.1.142    266
    192.168.1.255  255.255.255.255   Auf Verbindung     192.168.1.142    266
    192.168.233.0    255.255.255.0   Auf Verbindung     192.168.233.1    276
    192.168.233.1  255.255.255.255   Auf Verbindung     192.168.233.1    276
  192.168.233.255  255.255.255.255   Auf Verbindung     192.168.233.1    276
        224.0.0.0        240.0.0.0   Auf Verbindung         127.0.0.1    306
        224.0.0.0        240.0.0.0   Auf Verbindung     192.168.233.1    276
        224.0.0.0        240.0.0.0   Auf Verbindung     192.168.1.142    266
  255.255.255.255  255.255.255.255   Auf Verbindung         127.0.0.1    306
  255.255.255.255  255.255.255.255   Auf Verbindung     192.168.233.1    276
  255.255.255.255  255.255.255.255   Auf Verbindung     192.168.1.142    266
===========================================================================
Ständige Routen:
  Keine

IPv6-Routentabelle
===========================================================================
Aktive Routen:
 If Metrik Netzwerkziel             Gateway
  1    306 ::1/128                  Auf Verbindung
 20    276 fe80::/64                Auf Verbindung
 11    266 fe80::/64                Auf Verbindung
 11    266 fe80::19d1:e79f:1731:8d71/128
                                    Auf Verbindung
 20    276 fe80::1c0e:b232:16a6:e85a/128
                                    Auf Verbindung
  1    306 ff00::/8                 Auf Verbindung
 20    276 ff00::/8                 Auf Verbindung
 11    266 ff00::/8                 Auf Verbindung
===========================================================================
Ständige Routen:
  Keine

C:\Users\xyz>ipconfig

Windows-IP-Konfiguration


Ethernet-Adapter OpenVPN:

   Medienstatus. . . . . . . . . . . : Medium getrennt
   Verbindungsspezifisches DNS-Suffix:

Ethernet-Adapter Realtek PCI:

   Medienstatus. . . . . . . . . . . : Medium getrennt
   Verbindungsspezifisches DNS-Suffix:

Ethernet-Adapter Onboard:

   Verbindungsspezifisches DNS-Suffix: fairtec.local
   Verbindungslokale IPv6-Adresse  . : fe80::19d1:e79f:1731:8d71%11
   IPv4-Adresse  . . . . . . . . . . : 192.168.1.142
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway . . . . . . . . . : 192.168.1.1

Ethernet-Adapter VirtualBox Host-Only Network:

   Verbindungsspezifisches DNS-Suffix:
   Verbindungslokale IPv6-Adresse  . : fe80::1c0e:b232:16a6:e85a%20
   IPv4-Adresse  . . . . . . . . . . : 192.168.233.1
   Subnetzmaske  . . . . . . . . . . : 255.255.255.0
   Standardgateway . . . . . . . . . :

Tunneladapter isatap.fairtec.local:

   Medienstatus. . . . . . . . . . . : Medium getrennt
   Verbindungsspezifisches DNS-Suffix: fairtec.local

Tunneladapter Teredo Tunneling Pseudo-Interface:

   Medienstatus. . . . . . . . . . . : Medium getrennt
   Verbindungsspezifisches DNS-Suffix:

Tunneladapter isatap.{F4A16450-EC5C-4790-895D-5A3A2BEFEFB0}:

   Medienstatus. . . . . . . . . . . : Medium getrennt
   Verbindungsspezifisches DNS-Suffix:

Tunneladapter isatap.{AA4AE938-8093-4D56-A908-24F090DA4E8B}:

   Medienstatus. . . . . . . . . . . : Medium getrennt
   Verbindungsspezifisches DNS-Suffix:

Tunneladapter isatap.{71F741F1-4D01-4D9A-9FB6-B1470B17AED7}:

   Medienstatus. . . . . . . . . . . : Medium getrennt
   Verbindungsspezifisches DNS-Suffix:

C:\Users\xyz>

Content-Key: 258280

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

Printed on: April 19, 2024 at 22:04 o'clock

Member: orcape
orcape Dec 21, 2014 at 15:18:43 (UTC)
Goto Top
Hi,
das wird wohl so nicht funktionieren.
Wenn Du das TAP-Device verwendest bedeutet das, Du bridgest die Netzwerke von Server und Client.
Diese sollten dann aber zwingend gleiche Netze haben, was bei Dir nicht zutrifft....
Netzwerk des Servers:
Kernel-IP-Routentabelle 
Ziel            Router          Genmask         Flags Metric Ref    Use Iface 

default         fritz.box       0.0.0.0         UG    0      0        0 eth0 
192.168.178.0   *               255.255.255.0   U     0      0        0 br0 
192.168.178.0   *               255.255.255.0   U     0      0        0 eth0  

Netzwerk des Clients:

192.168.1.0    255.255.255.0   Auf Verbindung     192.168.1.142    266 
192.168.1.142  255.255.255.255   Auf Verbindung     192.168.1.142    266 
192.168.1.255  255.255.255.255   Auf Verbindung     192.168.1.142    266 

192.168.233.0    255.255.255.0   Auf Verbindung     192.168.233.1    276 
192.168.233.1  255.255.255.255   Auf Verbindung     192.168.233.1    276 
192.168.233.255  255.255.255.255   Auf Verbindung     192.168.233.1    276 
Du solltest also das TUN-Device verwenden um entsprechend routen zu können.
Ausserdem hat bei einem einzelnen OpenVPN-Client der Eintrag...
client-to-client
...nichts in der Config verloren. Der ist einzig für Multiclientverbindungen gedacht, um dann mehrere Clients miteinander zu verbinden.
Aber das solltest Du ja eigentlich alles wissen, nachdem Du das schon 100 Mal gemacht hast....face-wink
Gruß orcape
Member: aqui
aqui Dec 21, 2014 at 16:49:57 (UTC)
Goto Top
Bridging ist immer tödlich in einem VPN denn das belastet den Tunnel mit dem gesamten Broad- und Multicast Traffic der beiden Netze. Ein gewichtiger Grund warum auch die OpenVPN Community generell von einem Bridging Szenario dringenst abrät !
Überlege dir also wirklich ob du so eine Konfig umsetzen willst ?!
Grundlagen zur Open VPN Konfig findest du hier:
OpenVPN Server installieren auf pfSense Firewall, Mikrotik. DD-WRT oder GL.inet Router
Die ist immer identisch und Plattform unabhängig. Allerdings ist die o.a. Konfig eine Routing Konfig wie es sein sollte.
Die Konfiguration des Clients ist dahingehend "exotisch", dass dieser eine zweite Netzwerkkarte (kein Kabel angeschlossen) und einen VirtualBox "Host only" Adapter hat.
Das spielt keinerlei Rolle wenn das Routing eindeutig ist ?
Allerdings ist nicht ganz klar ob der VPN Client nun auf dem VB Host rennt oder auf dem Rechner der den VB hostet ?
Bei letzterem kein Thema da ist alles egal und es wird der Adapter genommen der auch die Rouzte zum Tunnelziel hat.
Liegt der Client auf einer VM in der VB und arbeitest du mit einem "Host only" Adapter kann der nie raus und müsste über den VB Host geroutet werden.
Das wiederum erfordert dann ein Aktivieren von IP Forwarding im OS des VB Hosts.
Wie das geht steht unter anderem hier.
Alles andere steht im Tutorial oder hat der Kollege Orcape schon gesagt.
Mitglied: 117471
117471 Dec 21, 2014 at 20:57:16 (UTC)
Goto Top
Ihr habt Recht, ich hatte das nicht zuende gedacht. Eigentlich wollte ich die statischen Hosts aus dem Netz (hinter dem VPN) im DNS der Fritz!Box haben - und die kann ja nur Records aus ihrem eigenen Netz verwalten.

Ich bin jetzt so vorgegangen, dass ich mir einen eigenen DNS aufgesetzt habe, der für Einträge abseits seiner 5-6 statischen Hosts die Fritz!Box fragt.

Mein größtes Problem: Ich habe vergessen, das kaputte tap-Device zu löschen und hatte dann das Problem, dass das tun-Device auch nicht mehr funktioniert face-smile Da muss man erst mal drauf kommen...
Member: aqui
aqui Dec 22, 2014 at 13:48:02 (UTC)
Goto Top
Dafür gibts ja das Forum hier face-wink
Grundlegende Raspberry Pi Infos findest du auch hier:
Netzwerk Management Server mit Raspberry Pi