mac | OpenVPN und Tunnelblick

Wie im OpenVPN-Server-Beitrag geschrieben, möchte ich, wenn ich unterwegs bin, eine gesicherte Verbindung von meinem Macbook zum Server herstellen. Das mache ich mit der Software Tunnelblick.

Nach dem Download, dem Mounten des Images und dem obligatorischen Drag and Drop des Programms in den Application-Ordner kann man das Tool schon starten. Nach dem Start kommt eine Warnung

tunnelblick-1-startmeldung

Es existieren keine Konfigurationsdateien im Pfad ~/Library/openvpn. Wenn man das Angebot von Tunnelblick annimmt (was man tun sollte), dann öffnet sich automatisch Textedit mit einer Beispielkonfigurationsdatei

tunnelblick-2-konfig-datei

Die editierte Datei sollte folgenden Inhalt haben

##############################################
# Sample client-side OpenVPN 2.0 config file #
# for connecting to multi-client server.     #
#                                            #
# This configuration can be used by multiple #
# clients, however each client should have   #
# its own cert and key files.                #
#                                            #
# On Windows, you might want to rename this  #
# file so it has a .ovpn extension           #
##############################################

# Specify that we are a client and that we
# will be pulling certain config file directives
# from the server.
client

# Use the same setting as you are using on
# the server.
# On most systems, the VPN will not function
# unless you partially or fully disable
# the firewall for the TUN/TAP interface.
;dev tap
dev tun

# Windows needs the TAP-Win32 adapter name
# from the Network Connections panel
# if you have more than one.  On XP SP2,
# you may need to disable the firewall
# for the TAP adapter.
;dev-node MyTap

# Are we connecting to a TCP or
# UDP server?  Use the same setting as
# on the server.
;proto tcp
proto udp

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote vpn.domain.de 1194
;remote my-server-2 1194

# Choose a random host from the remote
# list for load-balancing.  Otherwise
# try hosts in the order specified.
;remote-random

# Keep trying indefinitely to resolve the
# host name of the OpenVPN server.  Very useful
# on machines which are not permanently connected
# to the internet such as laptops.
resolv-retry infinite

# Most clients don't need to bind to
# a specific local port number.
nobind

# Downgrade privileges after initialization (non-Windows only)
;user nobody
;group nobody

# Try to preserve some state across restarts.
persist-key
persist-tun

# If you are connecting through an
# HTTP proxy to reach the actual OpenVPN
# server, put the proxy server/IP and
# port number here.  See the man page
# if your proxy server requires
# authentication.
;http-proxy-retry # retry on connection failures
;http-proxy [proxy server] [proxy port #]

# Wireless networks often produce a lot
# of duplicate packets.  Set this flag
# to silence duplicate packet warnings.
;mute-replay-warnings

# SSL/TLS parms.
# See the server config file for more
# description.  It's best to use
# a separate .crt/.key file pair
# for each client.  A single ca
# file can be used for all clients.
ca vpn.domain.de/cacert.pem
cert vpn.domain.de/client1-cert.pem
key vpn.domain.de/client1-key.pem

# Verify server certificate by checking
# that the certicate has the nsCertType
# field set to "server".  This is an
# important precaution to protect against
# a potential attack discussed here:
#  http://openvpn.net/howto.html#mitm
#
# To use this feature, you will need to generate
# your server certificates with the nsCertType
# field set to "server".  The build-key-server
# script in the easy-rsa folder will do this.
;ns-cert-type server

# If a tls-auth key is used on the server
# then every client must also have the key.
;tls-auth ta.key 1

# Select a cryptographic cipher.
# If the cipher option is used on the server
# then you must also specify it here.
;cipher x

# Enable compression on the VPN link.
# Don't enable this unless it is also
# enabled in the server config file.
comp-lzo

# Set log file verbosity.
verb 3

# Silence repeating messages
;mute 20

Anschließend legt man unter ~/Library/openvpn einen Unterordner für die Zertifikatdateien an – ich habe ihn vpn.domain.de genannt. Dahinein kopiert man das öffentliche Zertifikat der CA und das private und öffentliche Schlüsselpaar des Clients, welches vorher auf dem Server generiert wurde – als Kopierprogramm vom Server auf das Macbook bietet sich Cyberduck an.

Anschließend kann man die Verbindung starten.

Möchte man mehr über das zusätzliche private Netzwerk wissen, so kann man das Terminal benutzen:

Nach einem Aufbau des Tunnels kann man mit

netstat -nr

sich die aktuelle Routing-Tabelle anzeigen lassen.

$ netstat -nr
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.1.1        UGSc       14       39    en0
10.8.0.1/32        10.8.0.5           UGSc        0        0   tun0
10.8.0.5           10.8.0.6           UH          1        0   tun0
127                127.0.0.1          UCS         0        0    lo0
127.0.0.1          127.0.0.1          UH          7        0    lo0
169.254            link#4             UCS         0        0    en0
192.168.1          link#4             UCS         4        0    en0
192.168.1.1        0:10:10:10:10:10   UHLW       35        0    en0   1165
192.168.1.2        127.0.0.1          UHS         0        0    lo0
192.168.1.255      link#4             UHLWb       3        0    en0

2 thoughts on “mac | OpenVPN und Tunnelblick

Leave a Reply

Your email address will not be published. Required fields are marked *