Alcatel stack recovery time minimieren

Wenn in einem Stack der Primary ausfällt übernimmt der bisherige Secondary die Managementaufgaben (wird primary) und ein neuer Secondary wird gewählt.

Im Zuge des wechsels ändern sich auch die MAC-Adressen des Stacks (es wird die des Secondarys übernommen).
Damit passiert folgendes:

  • Die Spanning-tree BridgeID ändert sich (ist ja Priority + Mac-Adresse) – Dadurch uU STP Rekalkulationen
  • LACPs brechen zusammen (das ist an die MAC-Adresse gebunden)
  • Vermutlich ändern sich auch die Mac-Adressen der IP Interfaces (vielleicht hat das Default-Gateway danach eine andere Mac als vorher?!)
  • Dadurch kann es auch bei Routingprotokollen zu Problemen kommen
  • Kunden rufen mit Pipi in den Augen an.
  • Terror und Panik bricht aus, Netzwerktechniker werden auf der Straße gelyncht.

Da ja grade die letzten 2 Punkte kritisch sind (und man die ersten Punkte auch erlegen will):

Bei Alcatel heißt das notwendige Kommando

mac-retention status enable

Dadurch bleibt die Mac-Adresse des Stacks bestehen und im besten Fall passiert (fast) garnichts.
Daher: Man sollte das Kommando auf Stacks immer aktivieren (per default ist es disabled).
Sieht dann so aus:

Stack > show mac-retention status 
Admin State         : Enabled,
Trap admin state    : Disabled,
EEPROM MAC address  : e8:e7:32:69:2e:9c,
Current MAC address : e8:e7:32:69:2c:fc,
MAC address source  : Retained,
Topology Status     : Ring Present

Die EEPROM MAC (des Switches) ist e8:e7:32:69:2e:9c, der Stack hat aber eine andere von früher. (Source = Retained)

Aber alles hat natürlich auch einen Nachteil:
Nimmt man den (ex)Primary raus und baut ihn woanders ein hat man doppelte MAC-Adressen (der ex-Primary und der Stack haben die gleiche) und man hat neue Probleme. wie z.B. verlorenen Traffic.

In einem solchen Fall: Im Wartungsfenster nach Rücksprache auf dem Stack mit „mac-retention release“ die gemerkte MAC freigeben und die des aktuellen Switches übernehmen.

STP/LACP Sachen werden dann auch auftreten, aber in einem geplanten Umfeld.

Laut einem Test eines Users im Alcatelunleashed Forum vermindert sich dadurch die Rekonvergenzzeit (unklar was er genau getestet wurde) von 3 Minuten auf 1 Sekunde.. egal: klingt gut.

Im 6900-VC ist die mac-retention (im Gegensatz zu den R6 Switchen) defaultmäßig enabled.

Bei Cisco gibt es das gleiche (Problem wie Lösung), das Kommando heißt hier

stack-mac persistent timer 0

und zum freigeben

no stack-mac persistent timer

Bei Cisco wichtig: ohne „stack-mac persistent timer 0“ kann man eine ASA-X nicht sauber an zwei Stack-Membern anschliessen, da nach einem fail des primarys die Verbindung (dauerhaft?) gestört wäre

Alcatel-Lucent OS6900 Virtual Chassis aktivieren

Mit dem neuen Firmware Release 7.3.1.632 kann man jetzt 2* 6900er oder 2* OS10k stacken.
Das ganze nennt sich dann Virtual Chassis und funktioniert (erstmal) nur für 2 Chassis.

Im Vergleich zu MC-LAG sollte das eine deutlich einfachere Konfiguration mit sich bringen, da man nur noch ein logisches Gerät hat und z.B. einen LACP agg nur noch da konfiguriert (statt vorher auf beiden Geräten identisch).

Vergleichbar also mit Cisco VSS bei den 6500 (und bald 4500).

Was ist notwendig?
1. eine Advanced Licence (zum testen kann man auch die 5 Tage Lizenz mittels

debug demo-license

einspielen.
Ein paar Zeilen Konfiguration.

Sinnvollerweise macht man sich ein Testverzeichnis und macht die Experimente da drinnen.

mkdir v_chassis
cp /working/* v_chassis

Man braucht natürlich das richtige AOS in dem Verzeichnis (7.3.1.632) und startet dann den Switch mit der 7.3.1.632
reload from v_chassis no rollback-timeout

Auf dem 1.Chassis gibt man als Chassis-ID die eins, auf dem zweiten die 2.
Plant man mehrere solcher Konstrukte sollte man unterschiedliche Gruppen wählen, damit die Split Brain Detection funktioniert (muss man ja bei MC-LAG auch)

Sinnvollerweise vergibt man auch gleich EMP Adressen – darüber wird später eine Split-Brain Detection gemacht, falls der VF-Link mal weg ist. Die Chassis müssen sich also über das EMP Interface gegenseitig erreichen können, eine 1:1 Direktverbindung ist aber nicht sinnvoll/machbar (zumindest nicht wenn man man mehr CMMs z.B. OS10k) verbinden muß.

1.Chassis

virtual-chassis configured-chassis-id 1
virtual-chassis vf-link 0 create
virtual-chassis vf-link 0 member-port 1/1
virtual-chassis chassis-group 2
ip interface emp address 192.168.252.1/24
write memory
convert-configuration to v_chassis

2.Chassis

virtual-chassis configured-chassis-id 2
virtual-chassis chassis-group 2
virtual-chassis vf-link 0 create
virtual-chassis vf-link 0 member-port 1/1
ip interface emp address 192.168.252.2/24
write memory
convert-configuration to v_chassis

Danach startet man beide Chassis mit der neu erstellten Virtual Chassis Konfiguration (siehe vcboot.cfg/vcsetup.cfg im v_chassis Ordner)

Auf beiden Chassis:

reload from v_chassis no rollback-timeout

Nach dem booten sieht man auf dem primären (Master) das andere Chassis Ports des anderen Gerätes und kann wie in einem gewöhnlichen Stack damit hantieren.

 show virtual-chassis topology 
Local Chassis: 1
                                        Config 
 Chas  Role         Status              Chas ID  Pri   Group  MAC-Address      
-----+------------+-------------------+--------+-----+------+------------------
 1     Master       Running             1        100   2      e8:e7:32:XX:XX:69
 2     Slave        Running             2        100   2      e8:e7:32:XX:XX:89

 show chassis 
Local Chassis ID 1 (Master)
  Model Name:                    OS6900-X40,
  Module Type:                   0x5062202,
  Description:                   Chassis,
  Part Number:                   902910-90,
  Hardware Revision:             B08,
  Serial Number:                 M366XXXX,
  Manufacture Date:              Sep 11 2011,
  Admin Status:                  POWER ON,
  Operational Status:            UP,
  Number Of Resets:              29,
  MAC Address:                   e8:e7:32:XX:XX:69

Remote Chassis ID 2 (Slave)
  Model Name:                    OS6900-X40,
  Module Type:                   0x5062202,
  Description:                   Chassis,
  Part Number:                   902910-90,
  Hardware Revision:             B08,
  Serial Number:                 M366XXXX,
  Manufacture Date:              Sep 11 2011,
  Admin Status:                  POWER ON,
  Operational Status:            UP,
  Number Of Resets:              42,
  MAC Address:                   e8:e7:32:XX:XX:89


->show interfaces status 
 Chas/                   DETECTED-VALUES         CONFIGURED-VALUES    
 Slot/    Admin  Auto  Speed   Duplex  Pause   Speed   Duplex  Pause  Link
 Port     Status Nego  (Mbps)                  (Mbps)                 Trap
---------+------+----+--------+------+-------+--------+------+-------+-----
  1/1/1      en   dis   10000   Full     -     10000    Full     -     dis
  1/1/2      en   dis     -      -       -     10000    Full     -     dis
  1/1/3      en   dis     -      -       -     10000    Full     -     dis
 [.. snip ..]
 1/1/40     en   dis     -      -       -     10000    Full     -     dis
  2/1/1      en   dis   10000   Full     -     10000    Full     -     dis
  2/1/2      en   dis     -      -       -     10000    Full     -     dis
 [.. snip ..] 
 2/1/40     en   dis     -      -       -     10000    Full     -     dis

Will man LACPs anlegen geht das „wie immer“:

linkagg lacp agg 1 size 2 admin-state enable name "To_DC" actor admin-key 1 
linkagg lacp agg 2 size 2 admin-state enable name "To_RZ" actor admin-key 2
linkagg lacp port 1/1/31 actor admin-key 1
linkagg lacp port 2/1/31 actor admin-key 1
linkagg lacp port 2/1/39 actor admin-key 2
linkagg lacp port 1/1/39 actor admin-key 2

->show linkagg port 

Chassis/Slot/Port  Aggregate   SNMP Id   Status    Agg  Oper   Link Prim
-------------------+----------+--------+----------+----+-----+-----+----
         1/1/31     Dynamic      1031   ATTACHED      1  UP   UP    YES
         1/1/39     Dynamic      1039   ATTACHED      2  UP   UP    NO 
         2/1/31     Dynamic    101031   ATTACHED      1  UP   UP    NO 
         2/1/39     Dynamic    101039   ATTACHED      2  UP   UP    YES

Alcatel Command-log aktivieren

Manchmal ist es recht spannend zu wissen, wer, wann was für Befehle eingegeben hat.

Bei Cisco gibt es dafür archive log, bei Alcatel heißt das ganze command-log.
Da man hin und wieder das auch am Syslog Server haben möchte kann man auch ein remote command-log aktivieren.

die notwendigen Befehle dafür sind:

swlog output socket 192.168.1.70 remote command-log
swlog remote command-log enable
swlog console level info
command-log enable

anschauen kann man das command-log mit:

show command-log

Command : command-log enable
  UserName : admin
  Date     : THU DEC 20 13:38:49 
  Ip Addr  : 192.168.1.11
  Result   : SUCCESS

Das beim Syslog die IP Adresse nicht mitgesendet wird ist ein bekannter Bug, der in einer der nächsten Maintanance Releases behoben wird.

Alcatel OmniSwitch 6250/6450 Password Recovery

Man verbindet sich mit der Konsole,

Unterbricht die boot Squence boot sequence indem man „s“ drückt.

Danach löscht man die Datei UserTable5 im Verzeichnis /networks

[Miniboot]->cd "network"
value = 0 = 0x0
[Miniboot]->ls
.
..
userTable5
lockoutSetting
policy.cfg
ssh_host_dsa_key
ssh_host_dsa_key.pub
value = 0 = 0x0
[Miniboot]->xdelete "userTable5"
value = 0 = 0x0
[Miniboot]->reboot
mgi0 Interface Down
mgi0 Interface Stopped
WARNING: "sysResetHardwareFlag" flag is SET, forcing CMM board reset.

Danach gibt es keine User mehr, d.h. mit admin/switch kann man sich einloggen, man muss aber sämtliche user neu anlegen, z.B. für SNMP o.ä.

Alcatel QoS als Dreizeiler

Um ein Voice VLAN auf Alcatel Switchen zu priorisieren reicht ein Dreizeiler:
Beispiel: Source VLAN 33, dscp soll auf 46 gesetzt werden.

policy condition from_voip_vlan source vlan 33
policy action set_dscp dscp 46
policy rule prio_voip condition from_voip_vlan action set_dscp
qos apply

DSCP 46 heißt bei Alcatel Queue 5.

Befehle zum überprüfen:

show active policy rules
show qos port
show qos queue X/Y show qos queue statistics X/Y

letztere Befehl zeigt bei mir nur auf nem 6250/6450 etwas auf 6850 war da immer 0…

Hat man nen Uplink (z.B. Leased Line) die nur 20 Mbit/s verkraftet kann es sinnvoll sein den letzten Port auf der eigenen Seite zu beschränken (wenn der Providerrouter kein QoS macht):

qos port 1/20 maximum egress-bandwidth 20M

oder

qos port 1/20 maximum bandwidth 20M

zurücksetzen mit

qos port 1/20 reset

Userauthentifizierung gegen Radius – Alcatel

Nach Cisco und Fortigate jetzt noch die Kurzanleitung um Alcaltel Switche gegen Radius zu Authentifizieren.

Bei Alcatel Der einfache Adminzugang für einen Switch ist schnell erledigt, wie es mit Routern oder Firewalls aussieht behandle ich später (wenn ich dazu komme).

Bei Alcatel ist das ganze ein bisschen komplexer, die Userberechtigungen handlet man über Bitmasken ab, so kann man z.B. FTP zulassen, aber ssh verbieten. oder lesend per ssh erlauben, aber nicht per Telnet.

Hier lassen wir im Beispiel lesenden Zugriff nur per ssh zu.
Der schreibende Zugriff (aluadmin) darf überall drauf zugreifen.

Im Radiusserver hinterlegt man die entsprechenden User/Rückgabe Werte in /etc/freeradius/users:

"aluadmin" Cleartext-Password:= "aluadmin"
        Xylan-Asa-Access = all, 
        Xylan-Acce-Priv-F-W1 = 0xffffffff,
        Xylan-Acce-Priv-F-W2 = 0xffffffff,
"aluread" Cleartext-Password:= "aluread"
        Xylan-Asa-Access = all, 
        Xylan-Acce-Priv-F-R2 =  0xffffffff, 
        Xylan-Acce-Priv-F-R1 =  0xffffffff, 
        Xylan-Acce-Priv-F-W1 =  0x00000002,
        Xylan-Acce-Priv-F-W2 =  0x00000000,

Für den lesenden Zugriff ist komischerweise auch „schreibend“ auf ssh nötig.
Dies braucht man damit show Kommandos abgeschickt werden können.

Der schreibende Zugriff auf die einzelnen Abschnitte der Konfiguration muss separat freigeschaltet werden.
Die Bitmasken sind kann man sich über

show aaa priv hexa

anzeigen lassen.

->show aaa priv hexa
file            = 0x00000001 0x00000000,
ssh             = 0x00000002 0x00000000,
scp             = 0x00000004 0x00000000,
telnet          = 0x00000008 0x00000000,
ntp             = 0x00000010 0x00000000,
dshell          = 0x00000020 0x00000000,
debug           = 0x00000040 0x00000000,
..
[snip]

De folgende Nutzer hat read-only Zugriff nur auf „vlan“. Es ist dem Benutzer nicht möglich z.B. „show ip interface“ einzugeben.

"vlanread" Cleartext-Password:= "vlanread"
        Xylan-Asa-Access = "all", 
        Xylan-Acce-Priv-F-R1 = 0x10000000, 
        Xylan-Acce-Priv-F-R2 = 0x00000000, 
        Xylan-Acce-Priv-F-W1 = 0x00000002, 
        Xylan-Acce-Priv-F-W2 = 0x00000000 

Ein Dokumentation von Alcatel findet man z.B.
in diesem PDF auf Seite 8

Die Konfigurationen auf dem Switch sind in wenigen Zeilen erledigt (der Radiusserver muss vom Switch aus erreichbar sein -> IP Adressen Routing etc. muss stimmen ..)

!Falls Radiusserver tot ist es praktisch noch einen lokalen Account haben
user localadmin password Rettemich read-write all
! aaa aktivieren, primär radius fallback auf local
aaa radius-server "RadiusServer" host 172.16.1.32 key 12345678 
aaa authentication telnet "RadiusServer" "local" 
aaa authentication ssh "RadiusServer" local
aaa authentication console "RadiusServer" local

Man kann natürlich auch mit

aaa authentication default RadiusServer local

alles abfrühstücken

Das sollte es gewesen sein.