19.14. Herstellen einer IP-Verbindung

IPsec steht für Internet Protocol Security. Es ist eine VPN-Lösung (Virtual Private Network), in der eine verschlüsselte Verbindung zwischen zwei Systemen aufgebaut wird (host-to-host) oder zwischen zwei Netzwerken (network-to-network).

TippTipp
 

Gehen Sie zu http://www.ipsec-howto.org/ für weitere Informationen zu IPsec.

19.14.1. Host-zu-Host-Verbindung

Eine Host-zu-Host IPsec-Verbindung ist eine verschlüsselte Verbindung zwischen zwei Systemen, die beide IPsec mit dem selben Authentifizierungs-Schlüssel laufen lassen. Mit der IPsec-Verbindung aktiv, ist jeglicher Netzwerkverkehr zwischen zwei Hosts verschlüsselt.

Um eine Host-zu-Host IPsec-Verbindung zu konfigurieren, benutzen Sie die folgenden Schritte auf jedem Host:

  1. Starten Sie Network Administration Tool.

  2. In der IPsec-Tab, wählen Sie Neu.

  3. Klicken Sie Vor, um mit der Konfiguration einer Host-zu-Host IPsec-Verbindung zu beginnen.

  4. Geben Sie einen aus einem einzelnen Wort bestehenden Namen, wie ipsec0, für die Verbindung an, und wählen Sie, ob die Verbindung beim Starten des Computers automatisch aktiviert werden soll. Klicken Sie Vor.

  5. Wählen Sie Host zu Host Verschlüsselung als Verbindungstyp und klicken Sie auf Vor.

  6. Wählen Sie den Verschlüsselungstyp: Manuell oder Automatisch.

    Wenn manuell gewählt ist, muss später ein Verschlüsselungsschlüssel angegeben werden. Wenn automatisch gewählt ist, wird der racoon-Daemon diesen Schlüssel verwalten. Sollte racoon verwendet werden, muss das Paket ipsec-tools installiert werden.

    Klicken Sie auf Vor um fortzufahren.

  7. Geben Sie die IP-Adresse des anderen Host an.

    Wenn Ihnen die IP-Adresse des anderen Systems nicht bekannt ist, führen Sie den Befehl /sbin/ifconfig <device> auf dem anderen System aus, wobei <device> das Ethernet-Gerät ist, mit dem Sie zum anderen Host verbinden. Wenn lediglich eine Ethernet-Karte auf dem System ist, ist der Gerätename eth0. Die IP-Adresse ist die Nummer hinter der Bezeichnung inet addr:.

    Klicken Sie auf Vor um fortzufahren.

  8. Wenn manuelle Verschlüsselung in Schritt 6 gewählt wurde, geben Sie den Verschlüsselungsschlüssel an, oder Erstellen Sie einen neuen.

    Geben Sie den Authentifizierungsschlüssel an, oder Erstellen Sie einen neuen. Dieser kann jegliche Kombination von Zahlen und Buchstaben sein.

    Klicken Sie auf Vor um fortzufahren.

  9. Prüfen Sie die Informationen auf der Seite IPsec — Zusammenfassung und klicken Sie Anwenden.

  10. Wählen Sie Datei => Speichern, um die Konfiguration zu sichern.

  11. Wählen Sie die IPsec-Verbindung aus der Liste und klicken Sie auf Aktivieren.

  12. Wiederholen Sie dies für die anderen Hosts. Es ist sehr wichtig, dass der selbe Schlüssel wie in Schritt 8 verwendet wird, ansonsten wird IPsec nicht funktionieren.

Nach der Konfiguration der IPsec-Verbindung wird diese in der IPsec-Liste erscheinen, wie in Abbildung 19-7 gezeigt.

Abbildung 19-22. IPsec-Verbindung

Zwei Dateien werden in /etc/sysconfig/network-scripts/ erzeugt — ifcfg-<nickname> und keys-<nickname>. Ist automatische Verschlüsselung gewählt, wird zusätzlich /etc/racoon/racoon.conf erzeugt.

Wenn das Interface aktiviert wird, werden <remote-ip>.conf und psk.txt in /etc/racoon/ erzeugt und racoon.conf wird modifiziert, um <remote-ip>.conf zu enthalten.

Sehen Sie Abschnitt 19.14.3, um zu bestimmen, ob die IPsec-Verbindung erfolgreich aufgebaut wurde.

19.14.2. Netzwerk-zu-Netzwerk (VPN) verbindung

Eine Netzwerk-zu-Netzwerk IPsec-Verbindung verwendet zwei IPsec Router, einen pro Netzwerk, durch welche der Netzwerkverkehr für private Subnetze geleitet wird.

Wie in Abbildung 19-23 gezeigt, wenn, zum Beispiel, das 192.168.0/24 private Netzwerk Pakete zum 192.168.2.0/24 privaten Netzwerk senden will, gehen diese Pakete über gateway0, zum ipsec0, über das Internet, zum ipsec1, über gateway1 und dann zum 192.168.2.0/24 Subnetz.

Die IPsec-Router müssen öffentliche IP-Adressen haben, wie auch mit deren privaten Netzwerken verbunden Ethernet-Geräte. Netzwerkverkehr gelangt lediglich durch, wenn dieser für den anderen IPsec Router bestimmt ist, mit dem eine verschlüsselte Verbindung besteht.

Abbildung 19-23. Netzwerk-zu-Netzwerk IPsec

Alternative Netzwerk-Konfigurationsoptionen schließen eine Firewall zwischen den IPsec-Routern und dem Internet ein und eine Intranet-Firewall zwischen den IPsec-Routern und den Subnetz-Gateways. Der IPsec-Router und der Gateway für das Subnetz kann ein System mit zwei Ethernet-Geräten sein, wobei das eine eine öffentliche IP-Adresse hat, die als IPsec-Router agiert und das andere eine private IP-Adresse, die als Gateway zum privaten Subnetz agiert. Jeder IPsec-Router kann den Gateway für sein privates Netzwerk verwenden oder einen öffentlichen Gateway, um Pakete zum anderen IPsec-Router zu senden.

Führen Sie folgende Schritte aus, um eine Netzwerk-zu-Netzwerk IPsec-Verbindung zu konfigurieren:

  1. Starten Sie Network Administration Tool.

  2. In der IPsec-Tab, wählen Sie Neu.

  3. Klicken Sie Vor, um mit der Konfiguration einer Netzwerk-zu-Netzwerk IPsec-Verbindung zu beginnen.

  4. Geben Sie einen aus einem einzelnen Wort bestehenden Namen, wie ipsec0, für die Verbindung an, und wählen Sie, ob die Verbindung beim Starten des Computers automatisch aktiviert werden soll. Klicken Sie Vor.

  5. Wählen Sie Netzwerk zu Netzwerk Verschlüsselung (VPN) und klicken Sie Vor.

  6. Wählen Sie den Verschlüsselungstyp: Manuell oder Automatisch.

    Wenn manuell gewählt ist, muss später ein Verschlüsselungsschlüssel angegeben werden. Wenn automatisch gewählt ist, wird der racoon-Daemon diesen Schlüssel verwalten. Sollte racoon verwendet werden, muss das Paket ipsec-tools installiert werden. Klicken Sie Vor um fortzufahren.

  7. Auf der Seite Lokales Netzwerk, geben Sie folgende Informationen ein:

    • Lokale Netzwerk-Adresse — Die IP-Adresse des Geräts auf dem IPsec-Router, das mit dem private Netzwerk verbunden ist.

    • Lokale Subnet-Maske — Die Subnetz-Maske der IP-Adresse des lokalen Netzwerks.

    • Lokaler Netzwerk-Gateway — Der Gateway für das private Subnetz.

    Klicken Sie auf Vor um fortzufahren.

    Abbildung 19-24. Informationen zum lokalen Netzwerk

  8. Auf der Seite Remote-Netzwerk, geben Sie folgende Informationen ein:

    • Remote IP-Adresse — Die öffentliche IP-Adresse des IPsec-Router für das andere private Netzwerk. In unserem Beispiel, geben Sie die öffentliche IP-Adresse von ipsec1 für ipsec0 ein, und umgekehrt.

    • Remote Netzwerk-Adresse — Die Netzwerk-Adresse des privaten Subnetz hinter dem anderen IPsec-Router. In unserem Beispiel, geben Sie 192.168.1.0 bei ipsec1 ein und 192.168.2.0 bei ipsec0.

    • Remote Subnet-Maske — Die Subnetz-Maske der Remote IP-Adresse.

    • Remote Netzwerk-Gateway — Die IP-Adresse des Gateway für die Remote Netzwerk-Adresse.

    • Wenn manuelle Verschlüsselung in Schritt 6 gewählt wurde, geben Sie den Verschlüsselungsschlüssel an, oder Erstellen Sie einen neuen.

      Geben Sie den Authentifizierungsschlüssel an, oder Erstellen Sie einen neuen. Dieser kann jegliche Kombination von Zahlen und Buchstaben sein.

    Klicken Sie auf Vor um fortzufahren.

    Abbildung 19-25. Informationen zum Remote-Netzwerk

  9. Prüfen Sie die Informationen auf der Seite IPsec — Zusammenfassung und klicken Sie Anwenden.

  10. Wählen Sie Datei => Speichern, um die Konfiguration zu sichern.

  11. Wählen Sie die IPsec-Verbindung aus der Liste und klicken Sie auf Aktivieren.

  12. Aktivieren Sie IP-Forwarding als root am Shell-Prompt:

    1. Bearbeiten Sie /etc/sysctl.conf und setzen net.ipv4.ip_forward auf 1.

    2. Geben Sie den folgenden Befehl ein, damit die Änderung in Kraft tritt:

      sysctl -p /etc/sysctl.conf

Das Netzwerk-Skript zur Aktivierung der IPsec-Verbindung erzeugt die Routen über das Netzwerk automatisch, falls erforderlich, um Pakete über den IPsec-Router zu senden.

Sehen Sie Abschnitt 19.14.3, um zu bestimmen, ob die IPsec-Verbindung erfolgreich aufgebaut wurde.

19.14.3. Testen der IPsec-Verbindung

Verwenden Sie das tcpdump-Utility, um die zwischen den Hosts (oder Netzwerken) übertragenen Netzwerkpakete anzusehen und zu prüfen, ob diese über IPsec verschlüsselt wurden. Die Pakete sollten einen AH-Header enthalten und als ESP-Pakete angezeigt sein. ESP heisst, diese sind verschlüsselt. Zum Beispiel:

17:13:20.617872 pinky.example.com > ijin.example.com: \
	    AH(spi=0x0aaa749f,seq=0x335): ESP(spi=0x0ec0441e,seq=0x335) (DF)

19.14.4. Starten und Beenden einer Verbindung

Sollte die IPsec-Verbindung nicht dazu konfiguriert gewesen sein, zu Bootzeit zu aktivieren, starten und beenden Sie diese als root über die Befehlszeile.

Um die Verbindung aufzubauen, geben Sie den folgenden Befehl auf jedem Host (für Host-zu-Host IPsec) oder jedem IPsec-Router (für Netzwerk-zu-Netzwerk IPsec) ein (<ipsec-nick> ist hierbei mit dem vorher konfigurierten Namen, wie ipsec0, zu ersetzen):

/sbin/ifup <ipsec-nick>

Um die Verbindung abzubauen, geben Sie den folgenden Befehl auf jedem Host (für Host-zu-Host IPsec) oder jedem IPsec-Router (für Netzwerk-zu-Netzwerk IPsec) ein (<ipsec-nick> ist hierbei mit dem vorher konfigurierten Namen, wie ipsec0, zu ersetzen):

/sbin/ifdown <ipsec-nick>