Cisco Networkers 2009 – Tag 1 und 2

Tag 1

Ich habe mich getäuscht! Und das gleich zweifach.
Zum einen war der Konferenz-Raum nicht eisig kalt, sondern angenehm temperiert. Man konnte den Pullover gut weglassen und im kurzen Shirt sitzen, ohne zu erfrieren.

Des weiteren war meine Lästerei mit den Wasserdosen von gestern (fast) unberechtigt. Es gab wieder Wasserspender anstelle Wasserdosen und das wurde explizit mit dem “going green” begründet. Dieses Mal allerdings gab es nur Pappbecher, was irgendwie die schlechteste aller Lösungen in überfüllten Konferenz-Räumen ist. “Hoppla, war das Ihr Notebook?”.

Zum Mittag gab es nicht Sandwiches wie die letzten Jahre, sondern richtige warme Gerichte. Das war recht gut.

In der NetVet-Lounge (ist man nach drei Networkers-Besuchen innerhalb der letzten 5 Jahre) habe ich mein Bonus-Buch abgeholt. IPv6 Security (Cisco Press Networking Technology) sieht auf den ersten Blick sehr interessant aus und evtl. schreibe ich mal was dazu.

Ansonsten war ich heute im ersten Techtorial; “Enterprise Quality of Service”. Den offiziellen Cisco QoS-Kurs habe ich zwar schon zigmal gegeben, aber in der letzten Zeit — ab 12.4(22)T — hat sich da im IOS eine Menge getan und ich habe mir erhofft, da ein paar nähere Informationen zu erhalten. Leider war das meiste doch eher bekannter Stoff und die neuen Sachen wurden nur angerissen. Die Unterlagen waren wieder Cisco Schulungs-typisch: Konfigurationen mit Syntax-Fehlern, die Konfig passt nicht zum folgenden Output oder aber unvollständige Konfigs, die die folgenden Show-Befehle nicht erklären. Leider rege ich mich über sowas selbst nach acht Jahren Cisco-Trainings noch auf.

Tag 2

Erst einmal stand das zweite Techtorial an. “Design and Deployment of Enterprise WLANs with Centralized Controllers” war sehr gut vorgetragen und enthielt auch etliche neue Informationen. Die Ablösung von LWAPP zugunsten von CAPWAP, die neue Controller-Software Version 6 und viele wichtige Kleinigkeiten waren die Themen. Eine sehr gute Erklärung von 802.11n haben das Thema abgerundet.
Apropos CAPWAP: Auf meine Nachfrage, ob das schon über IPv6-Transport laufen kann, kam nur ein “naja, der Standard sieht das schon vor, dass man das machen kann … Aber es ist nicht implementiert”. Das fällt mir gerade ein, da CiscoLive “if you’re cool jump on iPv6” getwittert hat.

Danach war die “World of Solution Reception”. An diesem Eröffnungs-Abend geht es primär um zwei Sachen: Die Aussteller wollen Kontakte sammeln und die Teilnehmer wollen “Free Shirts”. Zusammen mit “Free Meals and free Beer” passt das gut zusammen. Ernsthafte Gespräche mit den Ausstellern können dann immer noch in den nächsten Tagen geführt werden.
Ich wollte dieses Jahr eigentlich keine neuen T-Shirts mitbringen (hat mir meine Frau gesagt). Aber teilweise werden die einem auch aufgedrängt und die Höflichkeit gebietet es, die Shirts nicht abzulehnen … 😉

Und so gab es dann das offizielle CiscoLive-Shirt mit einem sehr schicken Aufdruck:
shirts1
Splunk (“Finding your faults, just like mom”, das ziehe ich lieber nicht bei Kunden an …), OP-NET, Dorado Software: shirts2

Blackberry, New Horizons und Firefly:
shirts3
In der “Certification Launge” konnte man sich als CCIE sein Badge wieder mit einem Ribbon “pimpen” lassen, und Global Knowledges (der kleine Boxhandschuh) und Fast Lanes (ein Kapselheber) Werbegeschenke hängen einträchtig nebeneinander.
ribbon

To be continued …

Cisco Networkers 2009 – Tag 1 und 2

Cisco Networkers 2009 in San Francisco – Tag 0

Morgen startet die Networkers bzw. CiscoLive 2009.
ciscolive1
ciscolive2
Wenn ich wieder zu Hause bin, werde ich die Bilder wohl noch einmal nachbearbeiten. Da ich mit meinem Reisenotebook unterwegs bin, habe ich dafür keine Tools dabei. Wird doch Zeit für ein MacBook Air. 🙂

Vor ein paar Tagen bin ich schon nach San Francisco geflogen, um mich im Vorwege etwas zu akklimatisieren. Eine Zeitdifferenz von neun Stunden erzeugt halt schon etwas Jetlag.

Hingeflogen bin ich mal wieder mit United (wenn auch über Lufthansa gebucht). Ein kostenloses Upgrade auf EconomyPlus gab es zwar dieses Mal nicht, aber ein Platz am Notausgang ist auch nicht schlecht. Meine zwei amerikanischen Nachbarn haben mich komisch angeguckt, als ich mir die Anweisungen zum Öffnen der Tür im Notfall durchgelesen habe. Während des Fluges hat mir eine der Stewardessen erzählt, daß sie nur für die Flugzeit bezahlt werden. Wir hatten einen um eine gute Stunde verspäteten Abflug und in der Zeit haben die Stewardessen natürlich schon kräftig gearbeitet. Diese Zeit wird dennoch nicht bezahlt. Bisher habe ich das nur von RyanAir gehört, die ja häufig als “Ausbeuter-Fluglinie” in den Medien ist. Anscheinend ist das aber doch verbreiteter, als ich dachte.

Zu San Francisco: Keine Angst, jetzt kommt nicht das Gleiche wie in den letzten Jahren zu Anaheim und Orlando
San Francisco ist schon eine Reise wert. Eine Änderung zu meinem letzten Aufenthalt hier vor gut einem Jahr gibt es aber schon. Es kommt mir so vor, als hätte sich die Zahl der Bettler und Obdachlosen mindestens verdoppelt. Meine fünf Ein-Dollar-Scheine, die ich mir jeden Morgen einstecke, waren da meist schon auf dem morgendlichen Weg zum Starbucks verteilt. Und irgendwie beschleicht mich das Gefühl, daß das, was man hier sieht, nur der Vorgeschmack ist auf das, was uns auch noch erwartet. Ein Land, dem die sozial Schwachen egal sind.

Weiter:
Die Touri-Schlange vor der Cable Car ist jeden Tag mal wieder ca. 100 Meter lang. Auch dieses Mal werde ich also nicht dazu kommen, mit ihr zu fahren. Schade!
Vor den Apple-Stores sind ebenfalls Warteschlangen eingerichtet. Die sind aber meist nur so drei bis vier Meter lang. Ob die alle das neue iPhone kaufen wollen?

Und dann habe ich natürlich auch noch zwei Versionen eines meiner Lieblingsmotive fotografiert:
selbstverstaendlich1 selbstverstaendlich2

In den letzten Tagen war es laut Wetterbericht (und gefühlt) deutlich zu kalt für die Jahreszeit. Ab heute soll es aber wärmer werden. Klasse, haben die Amis noch einen Grund, die Konferenzräume auf 0 Grad Celsius runterzukühlen. Ich friere da jedes Jahr und bin nicht der Einzige. Aber das ist hier halt einfach so, der warme Pullover gehört dazu.

Heute habe ich dann auch schon mein Registration-Package abgeholt:
regpackage
Der Rucksack erinnert an den vom letzten Jahr, ausser daß er schwarz ist und das Notebookfach zur Seite aufgeht. Eine Trinkflasche war nicht dabei. Die gab es letztes Jahr, um die Menge des Getränkedosen-Mülls zu reduzieren. An den Wasserständern hat man die Flasche einfach aufgefüllt und dann daraus getrunken. Vielleicht haben aber zu viele Amis den Zweck der Aktion nicht verstanden … 😉

Der Bericht wird fortgesetzt …

Cisco Networkers 2009 in San Francisco – Tag 0

Per Tunnel ins IPv6-Internet

Da bei vielen DSL-Anbietern IPv6 ein Fremdwort ist, muss man sich oft mit einem Tunnel behelfen. Die Erweiterung einer IOS-Umgebung (Router und Switch) um IPv6 ist zwar nicht sehr aufwendig, umfasst aber doch etliche Schritte, die ich hier beispielhaft zusammenfasse.
Dabei gehe ich von der folgenden Umgebung aus:

Beispiel-Netzwerk
Beispiel-Netzwerk

Die notwendigen Schritte:

  1. Registrieren eines IPv6-Tunnels bei einem Tunnel-Broker:
  2. Sehr leicht hat man die Einrichtung bei dem (kostenlosen) Anbieter Hurricane Electric: http://tunnelbroker.net/
    Dort muss man sich registrieren und bekommt seine Zugangsdaten per Mail zugesendet. Nachdem man sich angemeldet hat, kann man einen neuen Tunnel konfigurieren:
    tunnelbroker-1
    In dem dann folgenden Dialog wird die eigene IPv4-Adresse eingetragen. Weiterhin wird angegeben, wo der Tunnel im Internet terminiert werden soll. In Deutschland bietet sich evtl. Frankfurt an.
    tunnelbroker-2
    Um den Tunnel einrichten zu können, muss der Router, über den man sich ins Internet verbindet, anpingbar sein! Wenn das gewährleistet ist, kann der Dialog mit “Submit” abgeschlossen werden.
    In der dann folgenden Bestätigung wählt man die “Tunnel Details” aus, wo man sich noch Beispielkonfigurationen für verschiedene Systeme ausgeben lassen kann. Standardmäßig bekommt man ein /64er Netz. Wenn man hinter dem Router noch mehr Infrastruktur hat (wie in diesem Beispiel), muss man noch das “Routed /48” aktivieren:
    Tunnelbroker3

  3. Tunnelkonfiguration auf dem IOS-Router
  4. Die grundsätzliche Router-Konfiguration ist recht simpel und kann als Vorlage von der obigen Webseite generiert werden:

    
    interface Tunnel0
     description Hurricane Electric IPv6 Tunnel Broker
     no ip address
     ipv6 address [die zugewiesene /64-Adresse ]
     ipv6 enable
     tunnel source Dialer0        !!! <<----- 
     tunnel destination [Der ausgewählte Tunnelserver]
     tunnel mode ipv6ip
    end
    !
    ipv6 route ::/0 Tunnel0
    

    Abweichend von der vorgeschlagenen Konfiguration habe ich die “tunnel source” auf das verwendete Dialer-Interface geändert. Damit ist die Konfig unabhängig von der konfigurierten oder dynamisch empfangenen IP-Adresse.

    IPv6 muss auch noch global eingeschaltet werden:

    
    ipv6 unicast-routing
    ipv6 cef
    

    Die Access-Liste auf dem Public-Interface (Dialer0 bei mir) muss wie oben beschrieben anpingbar sein. Das lässt sich auch auf die richtige Source-IP (66.220.2.74) eingrenzen. Weiterhin muss das IP-Protokoll 41 für den Tunnel erlaubt sein:

    
    gw#sh ip access-lists interface Dialer 0 | i 41|icmp
        40 permit icmp any any echo (12 matches)
        50 permit 41 any any (3252 matches)
    
  5. Anpassungen bei der Verwendung dynamischer IP-Adressen
  6. Wenn man eine dynamsiche IP-Adresse hat, dann muss der Tunnel für jede neue IP neu registriert werden. Sehr einfach geht das mit einem EEM-Script von der Cisco EEM Scripting Community (danke an meinen Blogger-Kollegen Jens Link für den Tip):

    ipv6-tunnel-update

    Dieses Script wird heruntergeladen und muss um die eigenen Tunnel-Parameter ergänzt werden:

    set user    "USER_ID"
    set md5pass "MD5-PASSWORD"
    set tid     "TUNNEL-ID"
    

    Die User-ID ist nicht der Login sondern die Zeichenkette, die nach dem Login auf der Tunnelbroker.net-Seite zu sehen ist (32 Stellen).
    Die Tunnel-ID ist die “Global Tunnel ID” aus den Tunnel-Details der Tunnelbroker.net-Seite.
    Das MD5-Password ist das eigene Password, das mit MD5 gehashed wird. Auf dem Mac kann dafür das Programm “md5” verwendet werden, jedes andere anständige Betriebssystem bringt sicher ein entsprechendes Tool mit:

    karstens-macbook-pro:~ karsten$ md5 -s "Mein Password"
    MD5 ("Mein Password") = 4d3b73493102972e8b989fa5b563b150
    karstens-macbook-pro:~ karsten$ 
    

    Dieses Script wird ins Flash des Routers geladen und muss für den Embedded Event-Manager (EEM) aktiviert werden:

    event manager directory user policy "flash:/"
    event manager policy ipv6-tunnel-update.tcl type user
    

    Der erste Befehl gibt an, wo die Scripte liegen, der zweite meldet das gerade hochgeladene Script im System an.
    Als Nächstes steuert man, wann man die Aktualisierung der IP vornehmen möchte. Dafür habe ich das Script so modifiziert, dass es die Syslog-Ausgaben überwacht und immer dann aktiv wird, wenn der Dialer an das Ausgangs-Interface gebunden wird (ich habe nur einen Dialer im System, daher kann ich das recht einfach halten):

    ::cisco::eem::event_register_syslog pattern "%DIALER-6-BIND" priority all
    namespace import ::cisco::eem::*
    namespace import ::cisco::lib::*
    
    set url     "http://ipv4.tunnelbroker.net"
    set php     "ipv4_end.php"
    set ip      "ipv4b=AUTO"
    set user    "USER"
    set md5pass "PASS"
    set tid     "TUNNEL-ID"
    
    append url "/$php?$ip&pass=$md5pass&user_id=$user&tunnel_id=$tid"
    
    after 5000
    
    if {[catch {http::geturl $url -queryblocksize 50 -type "text/plain" } token]} {
      action_syslog priority info msg "http request failed"
    } else {
      action_syslog priority info msg "Response: [http::data $token]"
    }
    
    exit 0
    

    Damit wird die neue IP-Adresse auch bei einem Router-Neustart registriert, was das Original-Script nicht macht.

  7. Konfigurieren der Firewall
  8. Natürlich wird man auch für IPv6 eine Firewall aktivieren. Hier offenbart sich dann leider das Grauen bei Cisco. Zum einen unterstützt die Zone-Based-Firewall kein IPv6, und auch die traditionelle IOS-Firewall (CBAC) unterstützt nur TCP, UDP, ICMP und FTP. Keine weiteren Protokolle und auch keine Erweiterungen, wie das Inspizieren von Router-eigenem Traffic.
    Als erstes wird die FW-Policy angelegt und im Tunnel aktiviert:

    ipv6 inspect name FW tcp
    ipv6 inspect name FW udp
    ipv6 inspect name FW icmp
    ipv6 inspect name FW ftp
    !
    interface Tunnel0
     ipv6 inspect FW out
    

    Als Nächstes muss der eingehende Traffic gefiltert werden. Dabei muss man aufpassen, kein einfaches “deny ipv6 any any” zu konfigurieren, da dann das Neighbor-Discovery nicht mehr funktioniert. So könnte es aber aussehen:

    ipv6 access-list OUTSIDE-IN-v6
     permit icmp any any nd-na
     permit icmp any any nd-ns
     deny ipv6 any any
    !
    interface Tunnel0
     ipv6 traffic-filter OUTSIDE-IN-v6 in
    
  9. Konfigurieren der weiteren Router-Interfaces
  10. Aus dem zugewiesenen /48er Netz wird jedem Netz ein Subnet zugewiesen. Welche Subnet-Adressen man nehmen könnte, habe ich hier schon mal angedeutet. Da alle diese Netze die ersten 48 Bit gemeinsam haben, kann man sich die Konfiguration mit Hilfe der “General-Prefixes” erleichtern. Diese haben einen Namen (hier HE1) und beinhalten die ersten 48 Bit der IP-Adresse.

    ipv6 general-prefix HE1 2001:aaaa:bbbb::/48
    

    Auf den Interfaces kann bei der Konfiguration der IP-Adressen dieser Prefix referenziert werden:

    interface Vlan250
     ipv6 address HE1 ::250:0:0:0:1/64
     ipv6 enable
    

    Mit dieser Konfig kündigt sich der Router automatisch an, und der PC sollte sich mit einer IPv6-Adresse selbst konfigurieren. Die Funktion kann per Ping (“ping6 ipv6.google.com”) oder per Webbrowser (“http://ip6.me&#8221;) überprüft werden.

  11. Einbinden des internen Switches
  12. Um auf dem verwendeten Cisco Catalyst 3560 IPv6 konfigurieren zu können, muss der Switch erst vorbereitet werden. Das Default-“Switch Database Management-Template” unterstützt kein IPv6:

    
    c3560(config)#sdm prefer dual-ipv4-and-ipv6 default 

    Je nachdem, was man mit seinem Catalyst alles machen möchte, ist evtl. auch ein anderes Template nötig. Diese sind im Configuration-Guide beschrieben. Dieser Befehl taucht später nicht in der Konfiguration auf, kann aber mit “sh sdm prefer” kontrolliert werden.

    Der Rest der Konfiguration ist dann dem Router sehr ähnlich. IPv6 aktivieren, General-Prefix konfigurieren und Interfaces mit einer IPv6-Adresse versehen:

    
    ipv6 general-prefix HE1 2001:aaaa:bbbb::/48
    ipv6 unicast-routing
    !
    interface Vlan250
     ipv6 address HE1 ::250:0:0:0:2/64
    !
    interface Vlan255
     ipv6 address HE1 ::255:0:0:0:1/64
    

    Der Router muss jetzt natürlich noch die internen Netze lernen und der Switch eine Default-Route bekommen. In einem kleinen Netz reichen dafür ohne weiteres statische Routen, die mit “ipv6 route” anstelle “ip route” konfiguriert werden. Bei Bedarf kann man natürlich auch RIP, OSPF, EIGRP oder IS-IS benutzen.

Per Tunnel ins IPv6-Internet

Ein neuer Akku von eBay?

Ich kann mich für mein altes Dell X1 noch nicht dazu durchringen:

Vorsichtsmaßnahmen bei der Verwendung dieser akku
1. Nicht zu modifizieren oder zu zerlegen sie.
2. Nicht verbrennen, oder setzen diese Laptop akku zu übermäßiger Hitze, was dazu führen kann, in einer Exposition.
3. Setzen Sie diesen Akku in das Wasser oder anderen feuchten / nassen Stoffen.
4. Vermeiden Sie Piercing, Schlagen, Zerkleinern oder Missbrauch Nutzung der Batterie.
5. Vergessen Sie nicht, nehmen Sie den Akku aus dem Gerät, wenn Sie es nicht für eine lange Zeit.
6. Vermeiden Sie Kurzschluss des Terminals, indem Sie Ihren Akku entfernt von metallischen Gegenständen wie Halsketten oder Haarnadeln

Ein neuer Akku von eBay?