Domäne ToGo

Wer den Beitrag „VPN vom Home Office in die gehostete Domäne“ gelesen hat weiß, dass ich in meinem Home Office mit Hilfe einer pfSense und einer Fritz!Box 7390 mit einer Domäne verbunden bin, die in einem Rechenzentrum steht. In diesem Beitrag soll es darum gehen wie man von Unterwegs eine VPN Verbindung zu seiner Fritz!Box aufbaut und Zugriff auf alle angeschlossenen Subnetze erhält. Als VPN Client dient in diesem Fall ein iPhone.

Um einen Überblick zu erhalten was ich damit meine und um die benutzten IP-Adressen und Bereiche darzustellen, habe ich eine Übersicht erstellt.

Ich möchte also mit dem iPhone per VPN Verbindung auf die Fritz!Box gelangen und die Subnetze 192.200.200.0/24, 192.100.100.0/24 und das Netzwerk mit der Domäne 10.210.10.0/24 erreichen können. Welche Möglichkeiten gerade die Anbindung an das letzte Netzwerk bietet werde ich hier nicht beschreiben, das sind einfach zu viele. Als Hinweis hier einige Stichworte:

  • Sharepointseiten
  • Datenbank Administration
  • Remote Desktop Verbindungen

VPN Verbindung mit der Fritz!Box

Um eine einfache VPN Verbindung mit der Fritz!Box herzustellen, benötigt man als erstes einen DynDNS Account oder ähnliches, der auch auf der Fritz!Box eingerichtet ist. Da die einschlägigen Foren voll sind mit Anleitungen zu diesem Thema gehe ich hierauf nicht weiter ein. Ich möchte aber auf den neuen Dienst von AVM hinweisen, der sich MyFritz! nennt. Hiermit kann man seine FritzBox! ebenfalls mit einer eindeutigen URL vom Internet aus erreichbar machen. Wer hierzu Fragen hat, kann gern einen Kommentar hinterlassen. Ich werde dann mehr Informationen dazu nennen.

Sind die Voraussetzungen erfüllt, bietet AVM das Tool FRITZ!Fernzugang einrichten an. Mit Hilfe des Assistenten erstellt man eine Konfigurationsdatei die man später in der Fritz!Box hochladen soll. Ebenfalls erstellt es auf Wunsch eine Textdatei mit Anweisungen zur Konfiguration des iPhones. In Kurzform heißt das, man erstellt eine VPN Verbindung auf dem iPhone auf Basis von IPSec mit einem vorher definierten Benutzernamen, Passwort und Schlüssel (Shared Secret). Damit hat das Tool seine Pflicht und Schuldigkeit geleistet und kann geschlossen werden.

Bevor man nun die Konfigurationsdatei auf die Fritz!Box lädt, muss man sie noch bearbeiten, damit die verschiedenen Netze auch erreicht werden können. In dem folgenden Beispiel sind die markanten Stellen markiert.

vpncfg {
  connections {
    enabled = yes;
    conn_type = conntype_user;
    name = "<span style="color: #ff0000;">email@comp.com</span>";
    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 = <span style="color: #ff0000;">192.200.200.201</span>;
    remoteid {
      key_id = "<span style="color: #ff0000;">email@comp.com</span>";
    }
    mode = phase1_mode_aggressive;
    phase1ss = "all/all/all";
    keytype = connkeytype_pre_shared;
    key = "<span style="color: #ff0000;">J8OOO0f555e0a9a8bg9892e0c0[0009ghy</span>";
    cert_do_server_auth = no;
    use_nat_t = yes;
    use_xauth = yes;
    xauth {
      valid = yes;
      username = "<span style="color: #ff0000;">email@comp.com</span>";
      passwd = "<span style="color: #ff0000;">passwort</span>";
    }
    use_cfgmode = yes;
    phase2localid {
      ipnet {
        ipaddr = 0.0.0.0;
        mask = 0.0.0.0;
      }
    }
    phase2remoteid {
      ipaddr = <span style="color: #ff0000;">192.200.200.201</span>;
    }
    phase2ss = "esp-all-all/ah-none/comp-all/no-pfs";
    accesslist =
      <span style="color: #ff0000;">"permit ip 192.100.100.0 255.255.255.0 192.168.100.201 255.255.255.255",</span>
      <span style="color: #ff0000;">"permit ip 192.200.200.0 255.255.255.0 192.168.100.201 255.255.255.255",</span>
      <span style="color: #ff0000;">"permit ip 10.210.10.0 255.255.255.0 192.168.100.201 255.255.255.255",</span>
      <span style="color: #ff0000;">"permit ip any 192.168.100.201 255.255.255.0";</span>
  }
  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";
}

Die markierten Stellen im oberen Bereich:

  • name
  • remote_virtualip
  • key_id
  • key
  • username
  • passwd
  • ipaddr

sind die Stellen, die von dem Tool FRITZ!Fernzugang einrichten erstellt werden und sollten an dieser Stelle nicht verändert werden, da sonst eine Verbindung mit hoher Wahrscheinlichkeit nicht zustande kommt. Der Bereich ab „accesslist“ ist nach dem foglenden Muster anzupassen.
"permit ip <Subnetz> <Subnetzmaske> <Client IP> <Client Subnetz>"
Diese Einträge sind mit einem Komma zu trennen und nach dem letzten Eintrag wird kein Komma gesetzt, sondern ein Semikolon. Jetzt ist die Konfiguration bereit  für den Import. Der betreffende Menüpunkt ist auf der Konfigurationsoberfläche der Fritz!Box wie folgt zu finden: Internet -> Freigaben -> VPN. Nach erfolgreichem Import kann man den Tunnel nun aufbauen und mit seinem iPhone in die Subnetze navigieren.  In meinem Fall funktioniert sogar die Namensauflösung der Domäne. Man muß lediglich das Domänensuffix mit anhängen, wenn man in die Domäne möchte.

Kleiner Hinweis:

Man kann das iPhone auch als Hotspot für sein Notebook benutzen. Wenn man also mit seinem iPhone per VPN ins Home Office kommt und über das Heimnetz in die Domäne telefoniert, dann klappt auch der Domänenbeitritt des Notebooks über das iPhone. ;-)

Viel Spaß beim ausprobieren!

Nachtrag vom 25.08.2012:

Mit der Namensauflösung habe ich mich geirrt. Die Fritz!Box verbietet eine DNS Weiterleitung, da aber mein Chrome Browser auf dem iPhone die Anfragen gecached hat, war ich dem Irrglauben erlegen, dass die Namensauflösung bis in die Domäne funktioniert. Aber ich wäre kein Codingfreak, wenn ich nicht schon eine Lösung parat hätte. Es erscheint demnächst ein neuer Artikel in dem ich beschreibe wie die pfSense zum IPsec Server wird und damit den Weg für den Domänenzugriff für VPN Clients frei macht.

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.