DPD - wie geht das ?

Veröffentlicht am 4 Feb 2006 um 3:28 pm. 2 Kommentare.
Gespeichert unter Tips & Tricks.

DPD (Dead Peer Detection) ist ein optionaler Mechanismus in vielen IPsec-Implementationen, der es IPsec ermöglicht, festzustellen, ob die Gegenseite noch verbunden ist, oder ob die Verbindung abgebrochen ist. Von Haus aus kann IPsec dies nur feststellen, wenn ein Rekeying stattfindet, was beim IPCop normalerweise nur alle 60 Minuten passiert.

Auch der IPCop unterstützt mit der Version 1.4.10 DPD, was vor allem den Usern mit Roadwarrior-Konfigurationen und den Usern ohne fixe IP zugute kommen kann.

Achtung, beide Seiten des Tunnels müssen DPD beherrschen und dafür konfiguriert sein (dpddelay oder dpdtimeout), damit DPD funktionieren kann. Wenn nur ein Parameter (dpddelay oder dpdtimeout) konfiguriert ist, wird für den anderen Parameter mit Defaultwerten (dpddelay=30, dpdtimeout=120) gearbeitet.

DPD benutzt “Keep-Alive” Nachrichten, die dann über den Tunnel geschickt werden, wenn für eine bestimmte Zeit kein sonstiger Verkehr stattgefunden hat (dpddelay=”Sekunden”). Dann werden von den Partnern “Keep-Alive” Pakete (R_U_THERE) verschickt und der VPN-Partner antwortet darauf mit einem “Ja” (R_U_THERE_ACK). Kommt keine Antwort vom VPN-Partner zurück, werden so lange “Keep-Alive” Pakete verschickt, bis der Timeoutwert erreicht ist (dpdtimeout=”Sekunden”>). Wenn auch dann noch keine Rückantwort (R_U_THERE_ACK) gekommen ist, wird der VPN-Partner für “tot” erklärt und eine von 3 möglichen Aktionen (dpdaction=”Aktion”) ausgeführt.

DPD ist keine globale Einstellung, sondern kann für jede Verbindung getrennt konfiguriert werden, ein Beispiel:

conn dpdbeispiel

    left=%defaultroute
    leftnexthop=%defaultroute
    right=192.168.0.1
    dpddelay=30
    dpdtimeout=120
    dpdaction=clear

Im obigen Beispiel wird nach 30 Sekunden Inaktivität auf der Leitung ein “R_U_THERE” Paket verschickt um die Verfügbarkeit des Partners zu überprüfen. Kommt innerhalb von 120 Sekunden kein “R_U_THERE_ACK” zurück, wird die Verbindung zurückgesetzt ,in diesem Beispiel mit “clear”, wodurch der gesamte Tunnel inclusive sowohl der SA (Security Association), als auch alle verbundenen eroute Einträge gelöscht wird.

Der Parameter dpdaction bestimmt, was mit einem Tunnel geschieht, wenn der Partner nicht mehr antwortet:

dpdaction=hold (Default) setzt die eroute Einträge auf %hold und wartet darauf, dass der Partner wieder online kommt.

dpdaction=clear löscht die gesamte Verbindung inclusive SA und eroute Tabelle.

dpdaction=restart führt einen Neustart der Verbindungsbeschreibung durch.

Bei Verbindungen mit fixer IP-Adresse (Net2Net) wird die Einstellung “hold” empfohlen. Für Roadwarrior dagegen ist “clear” die beste Wahl. “restart” kann bei Net2Net-Verbindungen mit dynamischen IP-Adressen helfen.

Gruss
Ecki

2 Kommentare zu ‘DPD - wie geht das ?’:

  1. Mentopolis am 13 Oct 2008 um 11:59 am: 1

    Hallo,

    ich habe eine VPN(IPSec) Verbindung zu einer Cisco ASA5500 aufgebaut. Nun muss ich mittels BOT den Verkehr einschränken. Regel hierfür erstellt. Alles OK.
    Allerdings bricht mir der Tunnel nach einer gewissen Zeit immer ab.
    Nach einigen Tests(deaktivierten BOT -> tunnel bleibt aufrecht), denke ich, dass BOT die DPD-Pakete blockt.
    Nun meine Frage, was muss ich über BOT freigeben, damit die DPD Paktet durch gehen?

    Vielen Dank für die Hilfe im Vorraus

  2. Ecki am 13 Oct 2008 um 8:11 pm: 2

    Leider kann ich dir hier mangles geeigneter Testumgebung keine direkte Hilfe anbieten :( Siehst du im Firewall Log keine gedroppten Pakete, die zu dem Tunnel gehören ?

    Wie lange bleibt der Tunnel denn offen ?

    Gruss
    Ecki

Kommentar/Ergänzungen schreiben

(wird nicht veröffentlicht)

:mrgreen: :| :twisted: :arrow: 8O :) :? 8) :evil: :D :idea: :oops: :P :roll: ;) :cry: :o :lol: :x :( :!: :?: