AVM, der Hersteller der FRITZ!Box beschreibt auf seinen Supportseiten: "VPN-Verbindung zur FRITZ!Box mit Shrew Soft VPN Client einrichten".

Folgt man dieser Anleitung, muss man bei jeder Verbindung Benutzernamen und Passwort eingeben, was eine sichere Sache ist, da neben Benutzernamen und Passwort auch noch ein Pre-Shared-Key zum Einsatz kommt.

Dieser Artikel beschreibt ein alternatives Verbindungs-Setup ohne Passworteingabe, die sich auch leicht automatisieren lässt.

Bitte beachte, dass dieses Szenario weniger Sicherheit bietet, als die von AVM beschriebene Konfiguration - Du solltest also wissen was Du tust!

Es geht hier nicht darum, 2 Netzwerke miteinander zu verbinden, sondern wir wollen im Kontext eines Benutzers eine Verbindung herstellen. Denkbar wäre dies an einem Client, der sich automatisch verbinden soll und normalerweise unbeaufsichtigt läuft, wo also niemand Benutzernamen und Passwort eingeben kann.

Als Authentifizierung benutzen wir einen fiktiven Benutzernamen und ein Passwort (Pre-Shared-Key) und vergeben auch eine feste Remote-IP-Adresse innerhalb der IP-Range der FRITZ!Box. Außerdem benutzen wir den DNS-Server der Remote-FRITZ!Box und können so auch Namensauflösung, beispielsweise für den Zugriff auf Netzlaufwerke oder Drucker, benutzen.

Diese Daten legen wir im Vorfeld fest

Folgende Daten legen wir im Vorfeld fest und ersetzen Sie dann in den nachfolgend gezeigten Dateien:

  1. Remote-Host: my.dyndns.host
    Zum Herstellen der VPN-Verbindung muss die FRITZ!Box irgendwie über das Internet erreichbar sein. Wir richten deswegen hier einen DynDNS-Dienst ein. Die FRITZ!Box unterstützt diverse Anbieter, auch AVM selbst betreibt einen solchen Dienst.
  2. Benutzername: me@domain.com
    E
    s ist eigentlich egal, was hier steht, sollte aber aussagekräftig sein
  3. PreSharedKey (PSK): .....................<your-psk-here>............................
    Ein geheimer Schlüssel, hier sozusagen das Passwort
  4. Die IP-Range Deiner FRITZ!Box
    Hier siehst Du die IP-Range Deiner FRITZ!Box
    Hier siehst Du die IP-Range Deiner FRITZ!Box
  5. Remote IP-Adresse des zugreifenden Clients
    Eine IP-Adresse aus der Range der FRITZ!Box (standardmäßig ist das Netzwerk 192.168.178.0 in vielen FRITZ!Boxen eingerichtet, ich ändere dies aber immer).
    Diese IP-Adresse muss außerhalb der DHCP-Range liegen und sollte pro hier erstellter Konfiguration eindeutig sein, falls man mehrere eingehende VPN-Verbindungen gleichzeitig benutzen möchte
  6. Remote IP-Adresse der FRITZ!Box für Eintrag "DNS-Server"

Einrichten der Fritz!box

Erstelle eine Datei " FRITZ!Box-vpn.cfg" mit diesem Inhalt:

vpncfg {
        vpncfg_version = 1;
        connections {
                enabled = yes;
                editable = no;
                conn_type = conntype_user;
                name = "me@domain.com";
                boxuser_id = 0;
                always_renew = no;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip = 0.0.0.0;
                remote_virtualip = 192.168.2.231;
                keepalive_ip = 0.0.0.0;
                remoteid {
                        user_fqdn = "me@domain.com";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "LT8h/all/all/all";
                keytype = connkeytype_pre_shared;
                key = ".....................<your-psk-here>............................";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.2.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipaddr = 192.168.2.231;
                }
                phase2ss = "LT8h/esp-all-all/ah-none/comp-all/pfs";
                accesslist =
                             "permit ip 0.0.0.0 0.0.0.0 192.168.2.231 255.255.255.255";
                app_id = 0;
        }
        ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",
                            "udp 0.0.0.0:4500 0.0.0.0:4500";
}

Ersetze folgende Werte mit den von Dir festgelegten Werten:

  1. me@domain.com
    diesen Wert musst Du 2mal ersetzen und zwar bei "name" und bei "user_fqdn"
  2. .....................<your-psk-here>............................
    Hier trägst Du Deinen geheimen Schlüssel ein, Du kannst irgendetwas eintragen, ich habe allerdings Probleme gehabt, wenn der Key eine andere Länge als 64 Zeichen hatte.
  3. 192.168.2.0
    Hier trägst Du die IP-Range Deiner FRITZ!Box ein
  4. 192.168.2.231
    Hier trägst Du die von Dir festgelegte Remote IP-Adresse des zugreifenden Clients ein

Anschließend kannst Du die Datei in Deine FRITZ!Box einlesen unter "Internet -> Freigaben -> VPN -> VPN-Verbindung hinzufügen -> Eine VPN-Konfiguration aus einer vorhandenen VPN-Einstellungsdatei importieren" einlesen.

Importiere die eben erstellte Datei in Deine FRITZ!Box
Importiere die eben erstellte Datei in Deine FRITZ!Box

 

Einrichten des Shrewsoft VPN Client

Erstelle eine Datei "meine-vpn-verbindung.vpn" (ich würde Dir raten, hier den Hostnamen zu verwenden) mit diesem Inhalt:

n:version:4
n:network-ike-port:500
n:network-mtu-size:1380
n:client-addr-auto:1
n:network-natt-port:4500
n:network-natt-rate:15
n:network-frag-size:540
n:network-dpd-enable:1
n:client-banner-enable:1
n:network-notify-enable:1
n:client-dns-used:1
n:client-dns-auto:0
n:client-dns-suffix-auto:1
n:client-splitdns-used:1
n:client-splitdns-auto:1
n:client-wins-used:1
n:client-wins-auto:1
n:phase1-dhgroup:2
n:phase1-keylen:256
n:phase1-life-secs:3600
n:phase1-life-kbytes:0
n:vendor-chkpt-enable:0
n:phase2-keylen:256
n:phase2-life-secs:3600
n:phase2-life-kbytes:0
n:policy-nailed:1
n:policy-list-auto:1
s:network-host:my.dyndns.host
s:client-auto-mode:pull
s:client-iface:virtual
s:network-natt-mode:enable
s:network-frag-mode:enable
s:client-dns-addr:192.168.2.1
s:auth-method:mutual-psk
s:ident-client-type:fqdn
s:ident-server-type:address
s:ident-client-data:me@domain.com
b:auth-mutual-psk:
s:phase1-exchange:aggressive
s:phase1-cipher:aes
s:phase1-hash:sha1
s:phase2-transform:esp-aes
s:phase2-hmac:sha1
s:ipcomp-transform:disabled
n:phase2-pfsgroup:2
s:policy-level:auto

Ersetze folgende Werte mit den von Dir festgelegten Werten:

  1. my.dyndns.host
    Hinter "network-host:" musst Du den Namen Hostname Deiner FRITZ!Box eintragen
  2. 192.168.2.1
    Hinter "client-dns-addr:" gehört die interne IP-Adresse der FRITZ!Box als DNS-Server
  3. me@domain.com

Nun importierst Du die Konfiguration in der Software "VPN Access Manager" unter "File -> Import" und legst danach einen Namen der Verbindung fest.

Bearbeite diese nun, indem Du die Verbindung einmal anklickst und dann auf "modify" klickst. Wechsele zu "Authentication" und dann auf "Credentials".
Trage bei "Pre Shared Key" Deinen "Pre Shared Key ein und speichere.

Trage Deinen PSK ein und speichere
Trage Deinen PSK ein und speichere

Anschließend kannst Du die Verbindung herstellen - fertig.

Wurde die Verbindung korrekt hergestellt, dann zeigt die FRITZ!Box einen grünen Punkt in der VPN-Übersicht:

Erfolgreiche VPN-Verbindung in der FRITZ!Box
Erfolgreiche VPN-Verbindung in der FRITZ!Box

Automatische Verbindung bei Windows Login

Willst Du Dich beim Start Deines Computers automatisch verbinden?

Erstelle eine Datei "meinevpnverbindung.cmd" und speichere diese irgendwo.

Trage in die Datei ein:

timeout /T 30  > nul
c:
cd "C:\Program Files\ShrewSoft\VPN Client\"
start ipsecc.exe -r <Name Deiner VPN-Verbindung> -a

Packe eine Verknüpfung zu dieser Datei in Deinen Autostart. Diesen erreichst Du, indem Du gleichzeitig die Tasten "Windows" und "r" drückst. Es öffnet sich ein kleines Fenster und Du tippst dort ein: "shell:startup". Im, sich dann öffnenden, Explorer-Fenster kannst Du die Verknüpfung oder gleich die Datei einfügen.