Fortinet – ein bisschen Shell für alle

Auch Fortinet kocht nur mit Wasser und man kann einen eingeschränkten Blick hinter die Kulissen werfen:


FG100A############ # fnsysctl ls -al
drwxr-xr-x 14 0 0 Sun Oct 4 21:42:01 2015 320 .
drwxr-xr-x 14 0 0 Sun Oct 4 21:42:01 2015 320 ..
drwxr-xr-x 2 0 0 Sun Oct 4 21:41:44 2015 2740 bin
drwxr-xr-x 8 0 0 Sun Oct 4 21:41:56 2015 1024 data
drwxr-xr-x 2 0 0 Wed Sep 4 10:38:16 2013 40 data2
drwxr-xr-x 5 0 0 Sun Oct 4 21:42:21 2015 16920 dev
lrwxrwxrwx 1 0 0 Sun Oct 4 21:41:31 2015 8 etc -> data/etc
lrwxrwxrwx 1 0 0 Sun Oct 4 21:41:31 2015 1 fortidev -> /
drwx------ 2 0 0 Sun Oct 4 21:42:01 2015 40 ipc_quar
drwx------ 2 0 0 Sun Oct 4 21:42:01 2015 40 ipc_quar_backup
drwxr-xr-x 2 0 0 Sun Oct 4 21:41:32 2015 380 lib
drwxr-xr-x 38 0 0 Sun Oct 4 21:41:44 2015 2280 migadmin
dr-xr-xr-x 74 0 0 Sun Oct 4 21:41:27 2015 0 proc
drwxr-xr-x 2 0 0 Sun Oct 4 21:41:44 2015 60 sbin
drwxrwxrwt 9 0 0 Wed Oct 28 06:32:41 2015 2260 tmp
drwxr-xr-x 9 0 0 Sun Oct 4 21:42:01 2015 180 var

Alcatel AOS7 debuggen von high CPU

Generell: hier geht es um debuggen in der Superuser Shell, es kann etwas kaputt gehen, ich übernehme keine Verantwortung!

Sollte man auf einem AOS7/8 Switch mal hohe CPU Last haben kann man über folgende Befehle einige Debug Daten für das TAC ziehen

su
- top –n 1 (mehrfach)
- Hat man die TOP drei der CPU fresser nimmt man "bt" und sammelt Daten. Vorsicht walten lassen, mindestens 5 mal pro Task, jeweils 3-5 Sekunden warten

debug $(pidof ) "thread apply all bt full"
z.B.: debug $(pidof bcmd) "thread apply all bt full"

Daten aus dem Pakettreiber ziehen
- “cat /proc/pktdrv”. folgendes zieht 6 Sekunden lang Daten, daraus lassen sich dann durchs TAC Durchsatz-Raten bestimmen.

cnt=1;while [ $cnt -le 6 ]; do echo "Iteration:$cnt"; cat /proc/pktdrv; cnt=`expr $cnt + 1`; sleep 1; done

Auf der "normalen" CLI:
- show health 
- show health all cpu
- debug qos internal "chassis  slot  list 1 verbose"
z.B.: debug qos internal "chassis 0 slot 1 list 1 verbose"  bei einem Standalone Chassis (wobei mei mir slot 2 zumindest in einem 6900 mit Einschubmodul NICHT funktionierte)

Das sind dann ein paar Basiswerte, die dem TAC für weitere Analysen als Grundlage dienen können.

Nochmal: Alles auf eigene Gefahr.

Verbinden von Alcatel und HP 6125G/XG Bladeswitch mit LACP

Die Welt besteht ja nicht nur aus Alcatel, sondern auch aus anderen Herstellern.
So gibt es zum Beispiel auch Bladeswitche in HP Bladecentern, mit denen man uU eine Verbindung eingehen muss bzw will.

Hier beschreibe ich die notwendigen Befehle um ein LACP zwischen einem Alcatel Omniswitch 6450 und einem HP 6125G/XG im IRF Modus zu erstellen.

Auf Alcatel-Seite alles wie gehabt:

lacp linkagg 1 size 2 actor admin key 1 name "To HP Blade" admin state enable
lacp agg 1/25 actor admin key 1
lacp agg 2/25 actor admin key 1
vlan 3000-304 802.1q 1

Auf dem HP Switch sucht man sich die passenden Ports raus (hier TenGig 1/1/1 und 2/1/1) und befreit sie von allen alten Lasten:

system-view
interface ten 1/1/1
default
quit
interface ten 2/1/1
default

Danach legen wir das Aggregat an (heißt hier bridge-aggregation) und machen es zum LACP.

interface bridge-aggregation 10
link-aggregation mode dynamic
quit

Warum es einmal bridge aggregation heiß und dann mit link-aggragation weiterkonfiguriert wird.. HP Logik. Früher hieß das ganze trnk (Für Trunk) es wird also besser.

Danach bringen wir die physischen Interface in das Aggregat;

interface Tengig 1/1/1
port link-aggregation group 10
quit
interface tengig 2/1/1
port link-aggregation group 10
quit

Erst jetzt konfigurieren wir auf dem bridge-Aggregation die VLANs etc.

interface bridge-aggre 10
description "To ALU"
 port link-type trunk
 port trunk permit vlan 1 3000 to 3004

Hält man sich nicht an die Reihenfolge bzw. haben die Interfaces noch Konfiguration kommt es uU zu Fehlern beim konfigurieren:

 port trunk permit vlan 3004    
 Please wait... Done.
 Error: Failed to configure on interface Ten-GigabitEthernet1/1/1!
 Error: Failed to configure on interface Ten-GigabitEthernet2/1/1!

Alcatel Dynamic Auto fabric Konfiguration entfernen

In vielen Fällen ist die auto-fabric Funktionalität, welche in den 6900 eingebaut ist nicht gewollt. Trotzdem hat man auf einmal einen Berg von Konfiguration, den man nicht haben will, es ist MVRP aktiviert, daher auch Flat Spanning Tree (sonst geht MVRP nicht) etc.

Will man alle dies wieder Rückgängig machen sollten folgende Befehle helfen:
auto-fabric admin-state disable remove-global-config
mvrp disable
spb isis admin-state disable
no spb bvlan 4000-4015
spantree mode per-vlan

Anzahl der Resets auf OS7 Geräten 6900/10k/6860 zurücksetzen

Hat man ausgiebig getestet kann es sein, dass man bei show chassis mehr resets sieht als man vielleicht wahrhaben möchte.

Konnte man das im AOS 6 Stack noch in der Datei „boot.params“ ändern muss man auf AOS 7 Geräten im Proc-Verzeichnis hantieren:

su
TOR # -> echo 1 > /proc/nvram/numberOfResets
TOR # -> echo 1 > /proc/nvram/systemReboots

Danach rebooten.

Uptime von Alcatel Stack-Membern

Hin und wieder möchte man gern die Uptime einzelner Switche innerhalb eines Stacks wissen.
Kann man es beim Primary bzw. secondary über
show system
noch einfach anzeigen, versagen diese Methoden bei den Idle units.

Aber auch da gibt es Abhilfe, Taschenrechner vorausgesetzt:

Wir verbinden uns auf die dShell der Idle Geräte und lesen die Uptime in mSec aus:
telnet 127.2.[Stack-Unitnummer].1

> show stack topology 
                                         Link A  Link A          Link B  Link B
NI      Role      State   Saved  Link A  Remote  Remote  Link B  Remote  Remote
                          Slot   State   NI      Port    State   NI      Port
----+-----------+--------+------+-------+-------+-------+-------+-------+-------
   1 PRIMARY     RUNNING    1    UP          2   StackB  UP          5   StackB
   2 SECONDARY   RUNNING    2    UP          3   StackB  UP          1   StackA
   3 IDLE        RUNNING    3    UP          4   StackB  UP          2   StackA
   4 IDLE        RUNNING    4    UP          5   StackA  UP          3   StackA
   5 IDLE        RUNNING    5    UP          4   StackA  UP          1   StackB

> telnet 127.2.4.1
Trying 127.2.4.1...
Connected to 127.2.4.1.
Escape character is '^]'.

Working: [Kernel]->d &vxAbsTicks,4                  
007f0840:  0000 0000 102b 4810                       *.....+H.........*
value = 21 = 0x15
Working: [Kernel]-> exit
>

Relevant ist die Dezimaldarstellung der Zahl 0x0000 0000 102b 4810
-> Windows Taschenrechner -> Programmierer -> Hex
102b 4810 eingeben und umrechnen in Dezimal (271271952).

Das ganze dann noch durch 60 teilen um die Sekunden (4521199) zu bekommen.
Von hier an ist es eine Reste Rechnung um an Tage, Stunden und Minuten zu kommen:

Tage = 4521199/(3600 *24) = 52
    Rest = 4521199 Mod (3600*24) = 28399
Stunde = 28399/3600 = 7
    Rest = 28399 Mod 3600 = 3199
Minuten = 3199/60 = 53
    Rest = 3199 % 60 = 19
Sekunden = 19

Also in diesem Fall 52 Tage, 7 Stunden, 53 Minuten und 19 Sekunden