Challenges with the SM-X Layer 2/3 EtherSwitch Service Module in a 4331 router

It was my task to replace old Cisco 2811 Routers with a new generation. The WAN connection at one branch office had been upgraded to 50 Mbit, but the crypto performance of the old router was too low for the bandwidth. We decided to use the Cisco 4331 with the SM-X EtherSwitch Service Module (SM-X-ES3-16-P ).

Until I had a running system, there were some major challenges I had to deal with. Since there was not that much documentation available and not so many public support cases that had been solved, I will present my experiences here to help others to avoid the problems.

The first problem I had, was to find the right image. In the download section on the cisco.com page there is no section for the SM-X-ES3-16-P. Instead I had to take an image from the 3560-X series.

Unfortunately the image I downloaded (c3560e-universalk9-mz.152-4.E1) lead to my first bug. After every reboot of the switch, interface vlan 1 was in shutdown state. The switch commented this with following output:

SETUP: new interface vlan 1 placed in „shutdownstate.

This seems to be a bug that was fixed in version c3560e-universalk9-mz.152-4.E2 . After I installed this version, the output was still there but vlan 1 went directly to the up state. However before I used this release, I tried the suggested release c3560e-universalk9-mz.150-2.SE9 . Unfortunately the switch does not boot with this release and keeps rebooting. The only way to interrupt the boot process is to force a password recovery from the router!:

hw-module subslot 1/0 error-recovery password_reset

The switch then gets to the rommon and you can decide which image to boot.

The next goal I wanted to achieve was the communication between the switch and the router. You can use the Ethernet-Internal interfaces for this. In the documentation of the switch module you can only find a difficult configuration using BVI interfaces. With recent images Cisco implemented a new command so that you can create SVIs on the router. The command is:

ethernet-internal subslot 1/0
platform switchport svi

After entering this command you have to reboot the router. When the router is up again, you are able to create SVIs with the command “Interface vlan 1” and use the internal ports as trunk ports. This has been described in this post: supportforums.cisco.com

Then I encountered a problem caused by our configuration. We use dhcp snooping in combination with ip source guard. For this combination it is necessary to use dhcp snooping with option 82. All our other switches are connected to catalyst switches, which act as layer 3 switches. On them you can define the trunk ports as trusted (“ip dhcp snooping trust”). On the router however this command is not available. So my dhcp requests were not redirected by the “ip helper address” command because of the option 82 information. Turning off option 82 allowed the dhcp requests to reach the dhcp server, but the dhcp replies then got stuck at the switch because without the option 82 information it does not know to which interface it should forward the packet. To solve this I activated option 82 again and on the router I entered following command:

ip dhcp relay information trust-all

This is the router equivalent to the “ip dhcp snooping trust”.

But still my setup was not working. No traffic was going through the internal ports after I reentered my full configuration. The reason for this seems to be another bug. I had activated rapid spanning tree “spanning-tree mode rapid-pvst” (while using default STP the problem did not occur). With the command “show spanning-tree” on the switch I found that the Gi0/18 was in “P2p Dispute” state. Comparing the output from switch and router I saw that both claimed to be the root bridge and had the same priority. However the mac address of the switch was lower so the behavior of the switch was totally correct. I fixed this by lowering the priority of the router and making it root bridge:

spanning-tree vlan 1-4094 root primary

Finally everything was working, but the debugging and searching for information had cost me several hours. I hope I can help others avoid having the same problems and getting stuck.

Streaming auf AppleTV über Subnetzgrenzen hinweg

airplay_appletvMit dem Update auf Softwareversion 6.1 bekam das AppleTV in Verbindung mit iOS 7.1 und höher ein neues Feature: AirPlay Discovery via Bluetooth. Dies ermöglicht nun viel einfacher die Verbindung zwischen AppleTV und AirPlay-Klienten, wenn sich diese nicht im selben IP-Subnetz befinden. Einrichtungen mit vielen IT-Anwendern sind gezwungen, einzelnen Abteilungen oder Arbeitsgruppen eigene getrennte IP-Subnetze zuzuordnen. Oft wird dem WLAN-Netz auch ein eigener IP-Bereich zugewiesen. Befindet sich das AppleTV dann netztechnisch im IP-Bereich einer Arbeitsgruppe, müssen die Klienten einige Barrieren überwinden.

Haben beide Geräte Bluetooth aktiviert und die aktuelle Softwareversion installiert, wird auf dem iPad/iPod/iPhone das AppleTV angezeigt. Unter Umständen ist jedoch keine Kommunikation zwischen den Klienten möglich. AirPlay erfordert, dass vom AppleTV eine neue TCP/UDP-Session zum Endgerät aufgebaut werden kann, obwohl die ursprüngliche Session vom Endgerät initiiert wurde.

Damit schließt AirPlay Umgebungen aus, die NAT mittels Port-Addresstranslation durchführen. Diese Hürde kann man jedoch durch Aufbau einer VPN-Verbindung überwinden. Verteilt das VPN-Gateway jedem Endgerät eine eigene IP, kann so doch AirPlay eingesetzt werden.

Nun müssen gegebenenfalls noch Freigaben eingerichtet werden, wenn die Subnetze durch eigene Firewalls abgesichert sind. Leider verwendet AirPlay dynamische Ports, so dass ganze Bereiche freigegeben werden müssen. Dabei verläuft die Kommunikation von hohen Ports (49152 – 65535) zu hohen Ports.

Folgende Freigaben sollten eingerichtet werden:Firewallregeln

Je nach Firewall-Typ müssen auch die Rückantworten zu den fünf Freigaben eingetragen werden, also Quellnetz/-port und Zielnetz/-port vertauscht.

Mit diesen Freigaben sollte AirPlay funktionieren. Wir konnten mit den gewählten Einstellungen Videos, Musik und den Bildschirminhalt erfolgreich auf das AppleTV streamen.

VPN-Unterstützung für Android-Endgeräte – Konfiguration der Klienten

Die letzten Tage habe ich mit der Integration von VPN für Android-Geräte verbracht. An dieser Stelle entschuldige ich mich vorab für mehrere Verbindungsabbrüche bei den Nutzern, die den IPSec-Klienten verwenden, denn durch die Umstellung der Verschlüsselungskonfiguration musste ich mehrmals morgens die IPSec-Verbindungen trennen.

Einige der Android-Smartphones von Samsung haben schon vor einigen Monaten VPN-Unterstützung in Form des AnyConnect-Klienten erhalten. Dieser verwendet als Protokoll SSL-VPN und sollte somit die wenigsten Probleme mit Firewalls etc. haben, da die Kommunikation nur über den Port 443 (TCP und UDP) und alle Sessions nur vom Klienten aufgebaut werden. Ich empfehle daher, diesen weiterhin zu verwenden, wo dieser verfügbar ist.

Um die restlichen Android-Endgeräte ua. auch  Tablets mit VPN zu versorgen, musste ein völlig anderer Typ von VPN aktiviert werden, L2TP-IPSec.  Dabei wird zuerst eine IPSec-Verbindung aufgebaut, in der wiederum ein L2TP-Tunnel erstellt wird.

Wie dies auf den Endgeräten konfiguriert wird habe ich exemplarisch unter http://rrzk.uni-koeln.de/vpnandroid.html dokumentiert. Da die Hersteller teilweise die Bezeichnungen und Menüstruktur verändern, können diese unter Umständen abweichen.

Bei der Verschlüsselung habe ich mich für mehr Sicherheit und damit für AES gegenüber 3DES entschieden. In der Literatur wird AES oft als ressourcenlastiger bezeichnet, was gerade bei den leistungsschwächeren Mobilgeräten in einem höheren Energiebedarf und somit einer kürzeren Batterielaufzeit resultieren könnte. Dazu habe ich aber keine Informationen gefunden und kann die Problematik daher nicht bewerten.

Ich bin gespannt, wie hoch die Nutzung von VPN über Android sein wird. Leider dauert es ja oft, bis sich die Nachricht über die neue Unterstützung von Endgeräten herumspricht.

 

Anleitung zur Einrichtung von L2TP-IPSec unter Android: http://rrzk.uni-koeln.de/vpnandroid.html

Enabling VPN for Android devices – configuration of Cisco ASA

With the new ASA versions 8.3.2.12 or 8.4.1 Cisco announced the support for native VPN on Android devices. Implementing the configuration changes in an existing and running environment can be quite tricky.

For the Android devices the ASA has to offer a L2TP/IPSec tunnel. The IPSec tunnel has to be in transport mode. Since normally the IPSec tunnels are configured in tunnel mode you will encounter the problems of having a mixture of tunnel and transport mode.

The document https://supportforums.cisco.com/docs/DOC-17798 gives a good example on how to configure the tunnel in a new environment.

If you already have an existing crypto-map or dynamic-map for the other IPSec clients and try to add a second one with a higher or lower priority you will end up with an IPSec phase 2 that fails with the error message “All IPSec SA proposals found unacceptable!” for clients using the map with the lower priority.

You can solve this problem only through implementing the two modes via two transform-sets using one single dynamic map.

Example:

crypto ipsec ikev1 transform-set ESP-AES-256-SHA esp-aes-256 esp-sha-hmac

crypto ipsec ikev1 transform-set l2tptransform-set esp-aes esp-md5-hmac

crypto ipsec ikev1 transform-set l2tptransform-set mode transport

crypto dynamic-map public_dyn_map 30 set ikev1 transform-set ESP-AES-256-SHA l2tptransform-set

The order of the transform-sets in the dynamic-map defines their priority with the highest from the left.

Have in mind that changing the dynamic-map results in disconnection of all IPSec sessions.

Webseiten und Webanwendungen als Icon auf dem Startbildschirm des iPhone / iPod touch

Wie man Webseiten mit dem iPhone / iPod touch auf dem Home-Bildschirm ablegt.

eingebundene Webanwendungen

Eine nützliche App ist sicherlich Wikipedia. Doch deutsche Benutzer beklagen natürlich sofort: „Ist ja alles auf Englisch!“ Eine deutsche Anwendung, bzw. eine lokalisierte Version gibt es nicht. Braucht man ja auch nicht. Wozu eine App installieren, wenn man die Webanwendung direkt in den Startbildschirm einbinden kann.

Man kann beliebige Webseiten und Webanwendungen als Icon auf den Startbildschirm legen. Dazu besucht man im Safari einfach die jeweilige Webseite. Nach Drücken auf das +-Symbol erscheinen drei Auswahlbuttons.  Mit „Zum Home-Bildschirm“ wird diese Webseite als Icon abgelegt.

Mit dieser Funktion kann man häufig genutzte Webseiten noch schneller öffnen und erhält Funktionen, die durch Apps nicht abgedeckt sind. Im Beispielbild sieht man die Webseiten des Kölner Studentenwerks, Wikipedia und Wiktionary als Symbol abgelegt auf dem Home-Bildschirm.

Das Problem mit der digitalen Ausleihe – E-Books in wenigen Arbeitsschritten herunterladen

Um digitale Bücher schnell auszuleihen benötigt man Hilfsmittel, die automatisch die einzelnen Kapitel herunterladen um dann die einzelnen Dokumente zu einem einzigen PDF zusammenzufügen.

E-Books sind der Traum eines Bibliotheksnutzers. Einmal heruntergeladen kann das Buch sofort, überall und so lange man will gelesen werden. Weil das Ausleihen damit viel zu einfach wird, hat man dem willigen Benutzer jedoch noch ein paar Steine in den Weg gelegt.

Viele PDF-Dateien müssen einzeln heruntergeladen werden
Viele PDF-Dateien müssen einzeln heruntergeladen werden

Wer schon einmal ein digitales Buch ausgeliehen hat kennt das Problem wahrscheinlich. Man landet beispielsweise auf der Seite des Anbieters www.springerlink.com bei dem der Download lizenziert ist und hat dann lediglich die Möglichkeit alle Kapitel des Buches einzeln als PDF herunter zu laden. Noch dazu heißt dann jede Datei „fulltext.pdf“ und muss nach dem herunterladen umbenannt werden, damit man die Kapitel noch auseinanderhalten kann. Bei Büchern mit mehr als 20 Kapiteln hört die Freude am digitalen Download aber auf.

Wenn man sich die vielen Arbeitsschritte ersparen will muss man automatisieren. Eine Möglichkeit dazu ist die Nutzung des Firefox Add-ons „DownThemAll!“ und des PDF-Konverters „FreePDF“.

Mit DownThemAll! kann man alle Kapitel auf einmal herunterladen. Dazu muss das Add-on zuerst im Firefox installiert werden. Neustart des Browsers nicht vergessen! Anschließend bekommt man auf der Seite mit den PDF-Dokumenten nach einem Rechtsklick und Klick auf „DownThemAll!“ alle Links auf dieser Seite angezeigt. Nun müssen wir zuerst die Einstellungen bearbeiten (ganz unten rechts). Den Schieberegler „Max. Anzahl gleichzeitiger Downloads“ ganz nach links schieben, damit nur noch eine Datei  gleichzeitig heruntergeladen wird. Dadurch erreichen wir, dass die PDFs in der richtigen Reihenfolge auf unserem Rechner landen. Nun noch „Falls ein Dateiname…“ auf „Umbenennen“ stellen, damit nicht bei jedem PDF erneut  nachgefragt wird. Nach Klick auf „OK“ müssen wir nun auf das Pluszeichen vor „Schnelles Filtern“ klicken und dort folgenden Eintrag einfügen:“*.pdf“. Noch die Checkbox „Andere Filter deaktivieren“ auswählen und gegebenenfalls den Pfad ändern, an dem die Dateien gespeichert werden sollen. Es empfiehlt sich einen eigenen Ordner anzulegen indem man einfach an die bestehende Adresse einen Zusatz wie „buchxy“ hinzufügt. Alle Dateien landen dann nach Klick auf „Starten!“ in dem Ordner buchxy unter den Eigenen Dateien.

Nun wäre es ja praktisch, wenn wir anstatt der vielen einzelnen Dateien ein einziges Dokument hätten. Das Zusammenfügen erledigt FreePDF für uns. Damit FreePDF funktioniert muss erst Ghostscript installiert werden. Danach kann FreePDF durch Klick auf die aktuellste Versionsnummer heruntergeladen und installiert werden. Jetzt befindet sich im Startmenü unter FreePDF das Programm FreePDF Join. Oben Rechts wählt man durch Klick auf das Ordnersymbol den Ordner mit den heruntergeladenen Dateien aus, markiert alle Dateien und klickt auf „Öffnen“. Jetzt sollte man darauf achten, dass die Dokumente auch ja in der richtigen Reihenfolge sind und anschließend auf das Disketten Symbol klicken. Nun muss man nur noch einen Namen für die zusammengefügt Datei eingeben, am besten den Titel des Buches und fertig ist man.

Nun hat man das  Buch in einem Dokument und kann es komplett nach Stichwörtern durchsuchen.

Informationsaggregation durch Webseiten

Wie viel Zeit verliert man täglich mit dem Besuchen verschiedener Webseiten, nur um zu überprüfen, ob es neue Informationen gibt. Oder sei es, dass man immer auf dem neuesten Stand sein möchte, was aktuell in der Welt los ist.

Anstatt jede Seite immer einzeln anzusteuern gibt es Dienste, die Informationen von verschiedenen Webseiten in einer Übersicht sammeln. Möglich machen dies RSS-Feeds, Widgets und die Funktionen des Web 2.0. Auf Webseiten wie netvibes.com, igoogle.com oder live.com können Sie die Informationen von Spiegel Online, Kölner Stadtanzeiger, heise und welche Seite Sie auch immer interessiert in einer Übersicht bündeln. Dabei sind die Themen nicht nur auf das aktuelle Weltgeschehen begrenzt, sondern selbst Webseiten der Unterhaltungskultur liefern Ihre neuesten Beiträge per RSS, z.B. failblog.org. Zusatzfunktionen ermöglichen Ihnen das Einbinden weiterer Übersichten, sei es das E-Mail-Postfach oder das aktuelle Wetter.

Um diese Dienste nutzen zu können müssen Sie sich bei einem der Anbieter kostenlos registrieren und einfach die gewünschten Inhalte hinzufügen. Sie werden überrascht sein auf wie vielen Webseiten Sie das orangefarbene RSS-Symbol entdecken werden, wenn Sie erst einmal danach suchen.

Wie eine solche Seite aussehen kann sehen Sie unter www.netvibes.com/galileo5

netvibes1