ubuntuusers.de

OpenVPN Bridge

Status: Ungelöst | Ubuntu-Version: Ubuntu 7.10 (Gutsy Gibbon)
Antworten |

Kranky

Anmeldungsdatum:
7. Januar 2007

Beiträge: 7

Wohnort: Kressbronn am Bodensee

Hallo,

ich habe schon wieder ein Problem - diesmal leider etwas komplexer. ☹
Und zwar benutze ich einen Ubuntu Server als Gateway und DNS und einen Ubuntu Server mit OpenVPN. Das OpenVPN soll im Bridge-Modus laufen. Zugegriffen wird auf den VPN-Server mit Windows.

Ich habe schon zig Tutorials gefunden, aber die erklären alle immer nur teilweise die Einrichtung und verweisen auf andere Artikel und wenn ich das zusammenpacke, widersprechen sich alle und ich weiß absolut nicht mehr, was richtig und falsch ist.

Ich habe meine gesamte aktuelle Konfiguration (server.conf, client.ovpn, bridge-start, bridge-stop und ifconfig's) angehängt. Am Anfang habe ich es testweise mit dev tun eingerichtet und das funktionierte. Da das aber nicht für den Zweck der Nutzung ausreicht, versuche ich schon seit einigen Tagen die Umstellung auf das tap Interface. ☹

Nur mal kurz zur Übersicht:

- DynDNS-Account besteht
- Router: 192.168.42.201 (Speedport W701V - 1194 UDP wird weitergeleitet)
- Server: 192.168.42.2 (Gateway, DNS, DHCP)
- DHCP auf Server: Soll IPs im Bereich von 100 - 199 an lokale Clients, den OpenVPN-Server und die VPN-Clients verteilen.
- OpenVPN-Server: 192.168.42.22 (testweise mit fester IP, um Fehler mit DHCP ausschließen zu können)

server.conf
Warum muss man bei server-bridge einen DHCP-Bereich angeben? Kann ich den Clients nicht von meinem richtigen DHCP-Server eine IP zuweisen?

port 1194
proto udp
dev tap0
ca ./easy-rsa2/keys/ca.crt
cert ./easy-rsa2/keys/server.crt
key ./easy-rsa2/keys/server.key    # Diese Datei geheim halten.
dh ./easy-rsa2/keys/dh1024.pem     # Diffie-Hellman-Parameter
tls-auth ./easy-rsa2/keys/ta.key 0 # This file is secret
ifconfig-pool-persist ipp.txt
server-bridge 192.168.42.22 255.255.255.0 192.168.42.80 192.168.42.99
keepalive 10 120
comp-lzo
max-clients 20
user openvpn
group openvpn
persist-key
persist-tun
status openvpn-status.log
verb 3

client.ovpn

client
dev tap
proto udp
remote blablabla.homeip.net 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert clt343.crt
key clt343.key
tls-auth ta.key 1
comp-lzo
verb 3

Dies ist das bridge-start Skript von openvpn.net. Muss die ETH0 und somit die Brücke eine feste IP bekommen oder ist es möglich, dass die IP vom DHCP bezogen wird?

#!/bin/bash

# Define Bridge Interface
br="br0"

# Define list of TAP interfaces to be bridged,
# for example tap="tap0 tap1 tap2".
tap="tap0"

# Define physical ethernet interface to be bridged
# with TAP interface(s) above.
eth="eth0"
eth_ip="192.168.42.22"
eth_netmask="255.255.255.0"
eth_broadcast="192.168.42.255"

for t in $tap; do
    openvpn --mktun --dev $t
done

brctl addbr $br
brctl addif $br $eth

for t in $tap; do
    brctl addif $br $t
done

for t in $tap; do
    ifconfig $t 0.0.0.0 promisc up
done

ifconfig $eth 0.0.0.0 promisc up

ifconfig $br $eth_ip netmask $eth_netmask broadcast $eth_broadcast

Und hier das bridge-stop Skript von openvpn.net.

#!/bin/bash

# Define Bridge Interface
br="br0"

# Define list of TAP interfaces to be bridged together
tap="tap0"

ifconfig $br down
brctl delbr $br

for t in $tap; do
    openvpn --rmtun --dev $t
done

ifconfig vor ausführen von bridge-start

eth0      Link encap:Ethernet  HWaddr 00:0C:29:65:0C:B6
          inet addr:192.168.42.22  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe65:cb6/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:7969 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2241 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:595871 (581.9 KB)  TX bytes:174126 (170.0 KB)
          Interrupt:16 Base address:0x1400

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:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

ifconfig nach ausführen von bridge-start

br0       Link encap:Ethernet  HWaddr 00:0C:29:65:0C:B6
          inet addr:192.168.42.22  Bcast:192.168.42.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe65:cb6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:89 errors:0 dropped:0 overruns:0 frame:0
          TX packets:41 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:7019 (6.8 KB)  TX bytes:6069 (5.9 KB)

eth0      Link encap:Ethernet  HWaddr 00:0C:29:65:0C:B6
          inet6 addr: fe80::20c:29ff:fe65:cb6/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:8307 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2398 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:624500 (609.8 KB)  TX bytes:198259 (193.6 KB)
          Interrupt:16 Base address:0x1400

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:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

tap0      Link encap:Ethernet  HWaddr 00:FF:DE:90:02:43
          inet6 addr: fe80::2ff:deff:fe90:243/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:52 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Ich hoffe, ihr könnt mir weiterhelfen. Und wenn ich das irgendwann zum Laufen gebracht habe, werde ich das von Anfang bis Ende dokumentieren, damit es anderen nicht mehr so schwer fallen muss.

MfG Jens

boing

Anmeldungsdatum:
29. August 2006

Beiträge: 158

Kranky hat geschrieben:

Warum muss man bei server-bridge einen DHCP-Bereich angeben? Kann ich den Clients nicht von meinem richtigen DHCP-Server eine IP zuweisen?

Wohl eher nicht. Dafür müssten die Clients ja erst einmal an den DHCP-Server rankommen und der liegt ja hinter der Firewall. Es gibt aber ein paar Optionen, mit denen werden Änderungen der IP-Adresse übernommen. Es wäre also eventuell möglich zuerst mit temporären IP-Adresse zu arbeiten, die vom VPN-Server zugewiesen wurde, und dann sich eine "richtige" IP-Adresse vom DHCP-Server zu holen.
Ansonsten erst einmal die Frage, was für OpenVPN-Meldungen stehen in den Logfiles (/var/log/syslog), sowohl auf Client als auch auf Serverseite, wenn Du einen Verbindungsaufbau von dem Client versuchst?

Kranky

(Themenstarter)

Anmeldungsdatum:
7. Januar 2007

Beiträge: 7

Wohnort: Kressbronn am Bodensee

Hier die Logs aus /var/log/syslog vom Server:

Feb 16 20:17:01 OpenVPN /USR/SBIN/CRON[4590]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Feb 16 20:19:54 OpenVPN ovpn-server[4354]: MULTI: multi_create_instance called
Feb 16 20:19:54 OpenVPN ovpn-server[4354]: 84.158.123.178:1606 Re-using SSL/TLS context
Feb 16 20:19:54 OpenVPN ovpn-server[4354]: 84.158.123.178:1606 LZO compression initialized
Feb 16 20:19:54 OpenVPN ovpn-server[4354]: 84.158.123.178:1606 Control Channel MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
Feb 16 20:19:54 OpenVPN ovpn-server[4354]: 84.158.123.178:1606 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Feb 16 20:19:54 OpenVPN ovpn-server[4354]: 84.158.123.178:1606 Local Options hash (VER=V4): '360696c5'
Feb 16 20:19:54 OpenVPN ovpn-server[4354]: 84.158.123.178:1606 Expected Remote Options hash (VER=V4): '13a273ba'
Feb 16 20:19:54 OpenVPN ovpn-server[4354]: 84.158.123.178:1606 TLS: Initial packet from 84.158.123.178:1606, sid=bd2457b7 c3162f52
Feb 16 20:19:54 OpenVPN ovpn-server[4354]: 84.158.123.178:1606 write UDPv4 []: Network is unreachable (code=101)
Feb 16 20:20:25 OpenVPN last message repeated 29 times
Feb 16 20:20:53 OpenVPN last message repeated 26 times
Feb 16 20:20:54 OpenVPN ovpn-server[4354]: 84.158.123.178:1606 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Feb 16 20:20:54 OpenVPN ovpn-server[4354]: 84.158.123.178:1606 TLS Error: TLS handshake failed
Feb 16 20:20:54 OpenVPN ovpn-server[4354]: 84.158.123.178:1606 SIGUSR1[soft,tls-error] received, client-instance restarting
Feb 16 20:20:57 OpenVPN ovpn-server[4354]: MULTI: multi_create_instance called
Feb 16 20:20:57 OpenVPN ovpn-server[4354]: 84.158.123.178:1609 Re-using SSL/TLS context
Feb 16 20:20:57 OpenVPN ovpn-server[4354]: 84.158.123.178:1609 LZO compression initialized
Feb 16 20:20:57 OpenVPN ovpn-server[4354]: 84.158.123.178:1609 Control Channel MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
Feb 16 20:20:57 OpenVPN ovpn-server[4354]: 84.158.123.178:1609 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Feb 16 20:20:57 OpenVPN ovpn-server[4354]: 84.158.123.178:1609 Local Options hash (VER=V4): '360696c5'
Feb 16 20:20:57 OpenVPN ovpn-server[4354]: 84.158.123.178:1609 Expected Remote Options hash (VER=V4): '13a273ba'
Feb 16 20:20:57 OpenVPN ovpn-server[4354]: 84.158.123.178:1609 TLS: Initial packet from 84.158.123.178:1609, sid=2d06750c 7a4445d2
Feb 16 20:20:57 OpenVPN ovpn-server[4354]: 84.158.123.178:1609 write UDPv4 []: Network is unreachable (code=101)
Feb 16 20:21:28 OpenVPN last message repeated 28 times
Feb 16 20:21:54 OpenVPN last message repeated 22 times
Feb 16 20:21:57 OpenVPN ovpn-server[4354]: 84.158.123.178:1609 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Feb 16 20:21:57 OpenVPN ovpn-server[4354]: 84.158.123.178:1609 TLS Error: TLS handshake failed
Feb 16 20:21:57 OpenVPN ovpn-server[4354]: 84.158.123.178:1609 SIGUSR1[soft,tls-error] received, client-instance restarting
Feb 16 20:21:59 OpenVPN ovpn-server[4354]: MULTI: multi_create_instance called
Feb 16 20:21:59 OpenVPN ovpn-server[4354]: 84.158.123.178:1611 Re-using SSL/TLS context
Feb 16 20:21:59 OpenVPN ovpn-server[4354]: 84.158.123.178:1611 LZO compression initialized
Feb 16 20:21:59 OpenVPN ovpn-server[4354]: 84.158.123.178:1611 Control Channel MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
Feb 16 20:21:59 OpenVPN ovpn-server[4354]: 84.158.123.178:1611 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Feb 16 20:21:59 OpenVPN ovpn-server[4354]: 84.158.123.178:1611 Local Options hash (VER=V4): '360696c5'
Feb 16 20:21:59 OpenVPN ovpn-server[4354]: 84.158.123.178:1611 Expected Remote Options hash (VER=V4): '13a273ba'
Feb 16 20:21:59 OpenVPN ovpn-server[4354]: 84.158.123.178:1611 TLS: Initial packet from 84.158.123.178:1611, sid=e169daa6 8e7b3890
Feb 16 20:21:59 OpenVPN ovpn-server[4354]: 84.158.123.178:1611 write UDPv4 []: Network is unreachable (code=101)
Feb 16 20:22:30 OpenVPN last message repeated 21 times
Feb 16 20:22:58 OpenVPN last message repeated 25 times
Feb 16 20:23:00 OpenVPN ovpn-server[4354]: 84.158.123.178:1611 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Feb 16 20:23:00 OpenVPN ovpn-server[4354]: 84.158.123.178:1611 TLS Error: TLS handshake failed
Feb 16 20:23:00 OpenVPN ovpn-server[4354]: 84.158.123.178:1611 SIGUSR1[soft,tls-error] received, client-instance restarting
Feb 16 20:23:02 OpenVPN ovpn-server[4354]: MULTI: multi_create_instance called
Feb 16 20:23:02 OpenVPN ovpn-server[4354]: 84.158.123.178:1629 Re-using SSL/TLS context
Feb 16 20:23:02 OpenVPN ovpn-server[4354]: 84.158.123.178:1629 LZO compression initialized
Feb 16 20:23:02 OpenVPN ovpn-server[4354]: 84.158.123.178:1629 Control Channel MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
Feb 16 20:23:02 OpenVPN ovpn-server[4354]: 84.158.123.178:1629 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Feb 16 20:23:02 OpenVPN ovpn-server[4354]: 84.158.123.178:1629 Local Options hash (VER=V4): '360696c5'
Feb 16 20:23:02 OpenVPN ovpn-server[4354]: 84.158.123.178:1629 Expected Remote Options hash (VER=V4): '13a273ba'
Feb 16 20:23:02 OpenVPN ovpn-server[4354]: 84.158.123.178:1629 TLS: Initial packet from 84.158.123.178:1629, sid=b1e4632d d08fc0f0
Feb 16 20:23:02 OpenVPN ovpn-server[4354]: 84.158.123.178:1629 write UDPv4 []: Network is unreachable (code=101)
Feb 16 20:23:33 OpenVPN last message repeated 24 times

Und hier die Log-Datei vom Client:

Sat Feb 16 20:12:25 2008 OpenVPN 2.0.9 Win32-MinGW [SSL] [LZO] built on Oct  1 2006
Sat Feb 16 20:12:25 2008 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Sat Feb 16 20:12:25 2008 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Sat Feb 16 20:12:25 2008 Control Channel Authentication: using 'ta.key' as a OpenVPN static key file
Sat Feb 16 20:12:25 2008 Outgoing Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Sat Feb 16 20:12:25 2008 Incoming Control Channel Authentication: Using 160 bit message hash 'SHA1' for HMAC authentication
Sat Feb 16 20:12:25 2008 LZO compression initialized
Sat Feb 16 20:12:25 2008 Control Channel MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
Sat Feb 16 20:12:25 2008 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Sat Feb 16 20:12:25 2008 Local Options hash (VER=V4): '13a273ba'
Sat Feb 16 20:12:25 2008 Expected Remote Options hash (VER=V4): '360696c5'
Sat Feb 16 20:12:25 2008 UDPv4 link local: [undef]
Sat Feb 16 20:12:25 2008 UDPv4 link remote: 84.158.123.178:1194
Sat Feb 16 20:13:25 2008 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sat Feb 16 20:13:25 2008 TLS Error: TLS handshake failed
Sat Feb 16 20:13:25 2008 TCP/UDP: Closing socket
Sat Feb 16 20:13:25 2008 SIGUSR1[soft,tls-error] received, process restarting
Sat Feb 16 20:13:25 2008 Restart pause, 2 second(s)
Sat Feb 16 20:13:27 2008 IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA.  OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Sat Feb 16 20:13:27 2008 WARNING: No server certificate verification method has been enabled.  See http://openvpn.net/howto.html#mitm for more info.
Sat Feb 16 20:13:27 2008 Re-using SSL/TLS context
Sat Feb 16 20:13:27 2008 LZO compression initialized
Sat Feb 16 20:13:27 2008 Control Channel MTU parms [ L:1574 D:166 EF:66 EB:0 ET:0 EL:0 ]
Sat Feb 16 20:13:27 2008 Data Channel MTU parms [ L:1574 D:1450 EF:42 EB:135 ET:32 EL:0 AF:3/1 ]
Sat Feb 16 20:13:27 2008 Local Options hash (VER=V4): '13a273ba'
Sat Feb 16 20:13:27 2008 Expected Remote Options hash (VER=V4): '360696c5'
Sat Feb 16 20:13:27 2008 UDPv4 link local: [undef]
Sat Feb 16 20:13:27 2008 UDPv4 link remote: 84.158.123.178:1194
Sat Feb 16 20:14:28 2008 TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
Sat Feb 16 20:14:28 2008 TLS Error: TLS handshake failed
Sat Feb 16 20:14:28 2008 TCP/UDP: Closing socket
Sat Feb 16 20:14:28 2008 SIGUSR1[soft,tls-error] received, process restarting
Sat Feb 16 20:14:28 2008 Restart pause, 2 second(s)
...usw...

Sorry wegen der Uhrzeit, die auf dem Server scheint zu schnell zu laufen (Virtual Machine).

Kranky

(Themenstarter)

Anmeldungsdatum:
7. Januar 2007

Beiträge: 7

Wohnort: Kressbronn am Bodensee

Kann mir irgendjemand vielleicht eine Seite empfehlen, auf der Bridging und OpenVPN behandelt wird? Ich bekomme es immer noch nicht hin.

boing

Anmeldungsdatum:
29. August 2006

Beiträge: 158

Kranky hat geschrieben:

Sorry wegen der Uhrzeit, die auf dem Server scheint zu schnell zu laufen (Virtual Machine).

Eventuell ist das schon Dein Problem. Ich hatte einmal das Problem, dass nach einer Zeitumstellung auf meinem Client die OpenVPN-Verbindung nicht mehr funktionierte. Ansonsten würde ich erst einmal langsam von "unten" anfangen. Versuche erst einmal eine Verbindung herzustellen bei der dem tap-Interface des Clients eine feste IP-Adresse aus Deinem lokalen Netz zugewiesen ist. Dem Server natürlich auch. Dann versuche eine Verbindung herzustellen.

Vor allem macht mich das hier stutzig:

Feb 16 20:19:54 OpenVPN ovpn-server[4354]: 84.158.123.178:1606 write UDPv4 []: Network is unreachable (code=101) 


Das bedeutet ja dann eigentlich, dass die Anfrage vom Client ankommt, der Server aber dann den Client nicht erreichen kann? Vielleicht auch mal die Routingtabelle des Servers posten?

gruhlke

Avatar von gruhlke

Anmeldungsdatum:
10. Januar 2006

Beiträge: 44

Wohnort: Berlin

Hi mich machen diese Zeilen stutzig

Sat Feb 16 20:13:25 2008 TLS Error: TLS handshake failed
Sat Feb 16 20:13:25 2008 TCP/UDP: Closing socket

Hast Du es mal versucht wenn Du

tls-auth ./easy-rsa2/keys/ta.key 0

auskommentierst?

BTW Krieg das mut dem Bridging auch nicht hin, werde sicher neugierig mitlesen.

Chief677

Anmeldungsdatum:
2. November 2008

Beiträge: 6

Ich weis das Thema ist alt, jedenfalls klappt der TLS Handshake nicht weil die Uhrzeiten nicht zusammenpassen, deswegen kommt auch keine Verbindung zustande. Zum DHCP Problem weis ich leider selber nichts, bin grad auf der suche und dabei auf diesen Thread gestossen, wo leider auch keine Lösung zu finden ist ☺

Antworten |