Router mit CARP; Irgendwelche Erfolgsgeschichten?

schwerdy

Member
Hallo BSD-Fans,

mein Wunsch ist ein redundanter Router, den ich mit CARP realisieren möchte. Bei den Testaufbauten gab es jedoch (unter FreeBSD 5.4, FreeBSD6.0, pfsense und auch OpenBSD 3.8) immer eine unlösbare Problemsituation, die sich mit folgenden Schritten nachvollziehen lässt:

1. Der Router (Router 1) verbindet zwei Netzwerke NETZ1 und NETZ2. Dieser Router wird geklont, zu Router 2 umbenannt, die "echten" IP Adressen abgeändert. Nun wird Router 2 paralell zu Router 1 ans Netzwerk angeschlossen. Auf beiden Routern wird CARP eingerichtet und 'sysctl -w net.inet.carp.preempt=1' ausgeführt.

2. CARP wird auf beiden Routern aktiviert, Router 1 ist mit beiden CARP Interfaces MASTER, Router 2 mit beiden BACKUP. Soweit ganz gut.

3. Ich trenne das Netzwerkkabel von Router 1 ins NETZ1. Da er auf diesem Interface keine Advertisments mehr von Router 2 sieht, bleibt Router 1 dort weiterhin Master.

4. Router 2 sieht mit seinem Interface in NETZ1 auch keine Advertisments mehr von Router 1 und und wird dort MASTER. Mit dem zweiten Interface bleibt er allerdings BACKUP.

5. Folgende Katastrophale Situation ist enstanden:

Code:
Router 1:
    carp0 (ins NETZ1): MASTER (kabel nicht angeschlossen!)
    carp1 (ins NETZ2): MASTER 
    
Router 2:
    carp0 (ins NETZ1): MASTER 
    carp1 (ins NETZ2): BACKUP

Für Datenpakete also zwei Sackgassen!

Meine Frage: Gibt es hier jemanden der CARP für Router einsetzt? Wie verhält sich euer "Cluster" in dieser Situation? Oder habe ich einen Denk- oder gar Konfigurationsfehler gemacht?
 
Hier die relevanten Zeilen aus /etc/rc.conf von Router1:

Code:
hostname="router1"
ifconfig_lnc0="inet 192.168.0.241/24"
ifconfig_lnc0="inet 172.16.16.241/24"

Bei Router 2 ist 241 durch 242 ersetzt.

Den Rest mache ich bisher von Hand:
Code:
sysctl -w net.inet.ip.forwarding=1
sysctl -w net.inet.carp.allow=1
sysctl -w net.inet.carp.preempt=1
sysctl -w net.inet.carp.log=1

ifconfig carp0 create
ifconfig carp0 192.168.0.240/24 advbase 1 vhid 1 pass asdf
ifconfig carp1 create
ifconfig carp0 172.16.16.240/24 advbase 1 vhid 2 pass asdf

ifconfig carp0 up
ifconfig carp1 up
 
Moin

ifconfig carp0 create
ifconfig carp0 192.168.0.240/24 advbase 1 vhid 1 pass asdf
ifconfig carp1 create
ifconfig carp0 172.16.16.240/24 advbase 1 vhid 2 pass asdf

Wahrscheinlich nur ein Tipfehler. Wenn die Carp-Device richtig zugeordnet werden, müsste es funzen.
 
Problem gelöst: Die Netzwerkkarten (Netgear) erkannten ein abgezogenes Kabel nicht. Netzwerkkarten getauscht (gegen 3Coms): funktioniert
 
Zurück
Oben