[Bugfix] Upgrade 2.1.4 'vergisst' IFAliase auf CARP
-
Hallo zusammen,
wie ich gerade selbst schmerzlich erfahren musste, aber dankenswerterweise mit JimP sehr schnell gefixt kam, gibt es im Upgrade 2.1.4 von gestern wohl einen kleinen Bug:
Wer einen CARP Cluster am Start hat und auf diesem IFalias-type Interfaces auf CARP Interfaces gestapelt hat, ergibt sich das Problem, dass diese Aliase seit dem Update vergessen werden. Sie werden zwar in der WebGUI angezeigt, allerdings nicht mehr ins System rausgeschrieben.
Das betrifft gerade Admins wie mich, die - um nicht unendlich viele CARP Adressen für ein größeres Netz einrichten zu müssen - diesen Weg empfohlen bekamen:
- Gib jedem Knoten eine echte IP Adresse (bspw. 251, 252)
- Konfiguriere eine CARP VIP, die hochverfügbar zwischen den Knoten hin und hergereicht werden kann (bspw. 1)
- Wenn nun weitere IPs auf der Firewall gebraucht werden, bspw. für 1:1 NAT o.ä., spare dir zusätzliche CARP VIPs und nutze statt dessen den Typ "IFalias" und wähle als Interface statt bspw. WAN einfach die oben konfigurierte CARP VIP aus.
Damit können dann locker schnell ein Dutzend IPs angelegt werden, die alle als Alias der CARP VIP fungieren und somit auch redundant vom Master auf den Slave und wieder zurück wechseln, wenn es ein Problem mit einem Knoten gibt.
Leider ist genau Schritt 3) mit dem Upgrade auf 2.1.4 kaputt gegangen, da die Aliase nicht mehr an die CARP VIP gebunden werden, sondern schlicht verschwinden. Das kann dann leicht mal Ärger bei Kunden geben ;)
Um das zu Bugfixen (solltet ihr betroffen sein, sonst nicht nötig!), geht wie folgt vor:
-
Schaltet auf dem/n Slave Node(s) CARP ab (Disable CARP), ansonsten könnte während der Prozedur ein Split-Brain entstehen, bei dem beide/alle CARP Nodes meinen, Master für die VIP zu sein.
-
Installiert euch auf allen Knoten unter System/Packages das Paket "System Patches"
-
Geht in das neue Menü System/Patches
-
Klickt auf hinzufügen (+) und fügt folgendes ein:
-
Description: Rollback IFalias on CARP #1
-
URL: http://github.com/pfsense/pfsense/commit/466cabedd6646916965c8671a9eef1a7192901c4
-
speichern
-
-
Klick nochmal auf hinzufügen (+) und fügt nun den zweiten Patch ein:
-
Description: Rollback IFalias on CARP #2
-
URL: https://github.com/pfsense/pfsense/commit/8d6c5f6621417861cbf656ff867e03da3cef7926
-
speichern
-
-
klickt bei beiden Patches in der Liste auf "fetch"
-
klickt bei beiden Patches in der Liste auf "test"
-
klickt bei Patch #1 auf "Revert"
-
Jetzt sollte bei Patch #2 "Revert" ebenfalls möglich sein. Anklicken!
-
Nicht vergessen das gleiche auf dem zweiten Knoten ebenfalls zu machen!
Nun sollte in der Liste der Patch #2 mit "Apply" in der Liste stehen, Patch #1 weder Apply noch Revert aktiv haben. Das ist der Fall, da Patch 1 und 2 voneinander abhängen.
Anschließend müsst ihr unter Firewall/Virtual IPs euren IfAlias Eintrag, der nicht mehr funktioniert kurz editieren und einfach wieder speichern. Anschließend "Apply changes" drücken und kurz warten, dann müsste auch die IP wieder funktionieren. Wenn ihr die Änderungen auf allen Nodes des CARP Clusters ausgeführt habt, könnt ihr auf diesen auch CARP wieder enablen. Es sollte dann kein Split-Brain mehr auftauchen (war bei mir dann verschwunden).
Grüße an alle Leidgeplagten ;)
Jens