Tag Archives: Ping

VPN-Probleme aufgrund teilweisem Leitungsausfall im Backbone des Providers

Konfuzius spricht: “Nicht immer ist die Firewall des Kunden schuld, wenn ein VPN nicht (mehr) funktioniert und der Kunde sagt, er habe nichts geändert. Das kann auch wirklich mal den Tatsachen entsprechen.” 🙂

Die hier erlebte Ausgangs-Situation für den Support Call war äußerst seltsam: Der Internetanschluss funktioniert, nur die Verbindung zwischen zwei BOVPN-Standorten zeigte extrem unübliche Verhaltensweisen – Kommunikation auf einer IP eines Standorts funktionierte, eine weitere IP funktionierte nicht, ICMP Pakete kamen in eine Richtung an, in die andere nicht, aber dann auch wieder abhängig von der Ziel-IP.

Ist-Zustand: VPN zwischen zwei Standorten funktioniert nicht:

  • BOVPN wird aufgebaut.
  • Daten fließen aber nur in eine Richtung (received-packets auf der anderen Seite: 0, zu sehen im Firebox System Manager bei Aufblättern des VPNs).
  • Ping von Standort 1 zu Standort 2 geht nicht.
  • Ping von Standort 2 zu Standort 1 geht nicht – tcpdump zeigt aber, dass icmp request ankommt und icmp reply gesendet wird.
  • Ping von Standort 2 zu Standort 1 sekundäre IP geht
  • Ping von Standort 1 sekundäre IP zu Standort 2 geht nicht
  • Beide Standorte können problemlos im Internet arbeiten, empfangen E-Mail und können von einem dritten Standort per WatchGuard System Manager administriert werden.
  • WSM nur eben nicht vom jeweiligen anderen Standort aus.
  • Teamviewer-Sitzungen sind stabil.

Nach langer Suche und mehreren Telefonkonferenzen mit dem Internet Provider stellt sich heraus:

  • Eine Strecke zwischen zwei Routern im Backbone des Providers hat zwei 10G Interfaces zum nächsten Router
  • Diese sind mittels Link Aggregation zusammengeschaltet (also 1 logische Leitung, 2 physikalische Strecken)
  • Aufgrund dessen wird über die Pakete offenbar über (src-dest-type-port) ein Hash zusammengebaut, anhand dessen bestimmt wird, ob das Paket über die eine oder die andere physikalische Leitung geht.
  • Demzufolge geht Ping mal oder mal nicht (abhängig von der Ziel IP-Adresse), ein traceroute geht mal und mal nicht, und VPN baut sich auf oder auch nicht (udp/tcp) und/oder kann in eine Richtung keine Daten senden, empfängt aber aus der anderen Richtung, (weil diese Strecke mit Typ IPSec und den jeweiligen Ziel-IPs mal in die eine Richtung auf der richtigen und in die andere Richtung auf der falschen Leitung landet).

Nach Abschalten des 10G-Interfaces der defekten Strecke war sofort Traffic auf dem VPN sichtbar und ping / traceroute verrichteten wieder völlig normal ihren Dienst.
Trotz der anfänglichen Behauptung des Providers, es liege an der Firewall des Kunden, konnte gezeigt werden, dass die WatchGuard unschuldig war 🙂

Wie findet man so etwas?

  • Binden aller verfügbaren externen IPs als Secondary IP
  • Prüfen, welche IPs auf Ping antworten
  • Pingen aller Router im Traceroute
  • Pingen der Zwischeninterfaces aus dem Traceroute (Router Eingangs-IP, Router Ausgangs-IP aus dem Transfernetz, Auslesen/Zuordnen per traceroutes in beide Richtungen)
  • Unabdingbar: ein technisch kompetenter Ansprechpartner auf Seiten des Providers 🙂
  • Die richtige Eingebung zum richtigen Zeitpunkt beim richtigen Router nach Link Aggregation zu fragen 🙂

Diagnostic Tasks / Extended Ping / TCP Dump

Eine relativ unbekannte Funktion des Firebox System Managers sind dieDiagnostic Tasks, die im Traffic Monitor per Rechtsklick mit der Maus erreicht werden können:

Eine Funktion ist Extended Ping, mit dem z.B. pings von der Firewall selbst aus gestartet werden können – und zwar auch unter Angabe des tatsächlich zu verwendenden Interfaces! Das kann gerade im Multi-WAN Umfeld interessant sein, wenn geprüft werden muss, ob ein bestimmter Ziel-Host auch genau über das angegebene Interface erreichbar ist (Problematik vgl.http://de.watchguard-blog.com/2011/08/multi-wan-und-policy-based-routing.html). Ein weiterer Anwendungsfall kommt aus dem Umfeld Dynamic Routing, wenn geprüft werden muss, ob das Routing eben auch auf den alternativen Wegen/Interfaces möglich ist. Die Advanced Options werden erst angezeigt, wenn das entsprechende Häkchen gesetzt ist. Im u.g. Screenshot wird die Ziel-IP 10.10.10.200 direkt von der Quell-IP 192.168.1.1 (Firebox Interface) angepingt:

Mittels TCP Dump lässt sich z.B. rudimentär mit verfolgen, welche Datenpakete auf welchem Interface transportiert werden – auch ohne dass sie zwingend im Traffic Monitor angezeigt werden: