Ressourcen

Die »haresources«-Datei enthält die Definition des primären Knotens und die zu überwachenden Ressourcen. Als Ressourcen bezeichnet Heartbeat alle Einstellungen und Dienste, welche im Falle eines Falles von einem Knoten zum anderen wechseln. Eine Ressource besteht aus dem Namen des Ressourcen-Skripts (vergleichbar zu Init-Skripten) und optional einer durch »::« getrennten Parameterliste. Heartbeat startet die definierten Ressourcen von links nach rechts und stoppt sie in umgekehrter Reihenfolge.

Der in diesem Beitrag besprochene Aufbau benötigt folgende Ressourcen:

  • »vpngw1a« als primärer Knoten,
  • »IPaddr2« mit der IP-Adresse des Gateway inRichtung Außenstelle,
  • »openvpn« für den OpenVPN-Dienst,
  • »SendArp«, um bei einem Wechsel des Knotens der Gegenstellen die MAC-Adresse desneuen Node mitzuteilen.

Damit sieht der Inhalt der »haresources«-Datei wie folgt aus:

vpngw1a IPaddr2::10.0.0.1/24/eth1/10.1.0.255 openvpn::vpn SendArp::10.128.0.25/tap0

Abschließend fehlt noch die zentrale Konfiguration von Heartbeat. Sie steht in »ha.cf«. Der Inhalt der Datei ist auf beiden Knoten bis auf eine einzige Zeile (der »ping«-Parameter) identisch:

serial /dev/ttyS0
auto_failback on
node vpngw1a
node vpngw1b
ping 62.91.24.1 62.91.24.2

Der »serial«-Parameter wählt die serielle Schnittstelle des Nullmodemkabels. Fällt der primäre Knoten aus, und hat anschließend der sekundäre Knoten übernommen, so regelt »auto_failback on«, dass der primäre Knoten automatisch wieder übernimmt, sobald er wieder funktionsfähig ist. Mit der Direktive »node« werden die Hostnamen beider Knoten hinterlegt.

Ping-Überwachung

Der letzte Parameter »ping« ist der eigentliche Kniff in diesem Setup. Über die konfigurierten IP-Adressen überprüft Heartbeat, ob der Knoten noch mit dem Netzwerk verbunden ist. Er nutzt dazu die IP-Adressen der Firewalls der Außenstelle. So überprüft der jeweilige Knoten, ob seine Anbindung an die Außenstelle noch vorhanden und durchgängig ist.

Gewöhnliche VPN-Devices erkennen das Vorhanden- oder Nichtvorhandensein einer Leitung am Linkstate des jeweiligen Anschlusses. Ist das Gerät jedoch via DSL-Modem am Netz, so ist das VPN-Gerät bezüglich der DSL-Anbindung blind. Das VPN-Gateway wird nicht merken, ob die DSL-Leitung gestört ist oder nicht. Aus Sicht des Geräts besteht die Netzwerkverbindung so lange, wie es eine Ethernet-Verbindung zum DSL-Modem hat. Auch die Konfiguration von OpenVPN ist für den beschriebenen Aufbau sehr überschaubar. Listing 1 zeigt den Inhalt der ».conf«-Datei.

Listing 1: VPN-Konfiguration

dev tun
ifconfig 172.16.0.1 172.16.0.2
route 10.128.0.0 255.255.255.0 172.16.0.2
remote 62.91.24.1
remote 62.91.24.2
persist-tun
secret vpn.key
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023