Mit RIP (RIPv2 wie RIPv1) werden standardmäßig keine statischen Default-Routen übermittelt. Meist handelt es sich bei dieser statischen Route um die Verbindung ins Internet. Damit netzwerkweit diese Route anderen Routern auch mitgeteilt wird, ist eine zusätzliche Einstellung nötig.
meinrouter# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
meinrouter(config)# ip route 0.0.0.0 0.0.0.0 192.168.23.254
meinrouter(config)# router rip
meinrouter(config-router)# default-information originate
meinrouter(config-router)# end
meinrouter#
Schon wird die statische Default-Route mit RIP auch zu den anderen Geräten übermittelt.
Die Neoware Box hat ein ganz normales BIOS. Es zeigt sich beim Bootup nicht so recht deutlich, kann aber leicht mit der Entf. Taste betreten werden, sobald der kurze Satz auftaucht.
Einige Einstellungen sind ganz sinnvoll. Das so gut wie nicht vorhandene Splash-Logo kann abgeschaltet werden. Es ist je nachdem nützlich den Halt bei Fehlern ein- oder abzuschalten. Soll die Box ohne Tastatur betrieben werden, sollte ‚Halt on Keyboard Error‘ abgeschaltet werden.
Das First und Second Boot Device sollte auf USB-CDROM und USB-HDD stehen. Auf diese Weise können externe Datenträger gebootet werden. Der SPD Chip weiß bescheid, was der DRAM Baustein liefern kann und was nicht, es ist sinnvoll das System selbst entscheiden zu lassen, was es an Einstellungen gerne einrichten möchte.
Die On-Board Grafikkarte scheint bei der Neoware Box eine AGP Karte zu sein. Daher habe ich die AGP Funktionen aktiviert und die AGP Aperture Size recht weit hochgestellt. Die Karte hat einen Shared Memory. Ich habe 8 MB eingestellt. Normalerweise reicht das, da ich keine großen Sachen in den Grafikspeicher laden möchte, außer eine einfache VGA Grafik für die Console.
Der DMA Transfer für den IDE Port sollte eingeschaltet werden, damit die Performance optimal ist. Obwohl der Flash wirklich nicht der schnellste ist, was solls. PIO und DMA Mode auf Auto und Block Mode auch. Die Blockgröße des Flashes ist 512 Byte, wie bei so ziemlich allen Geräten. Dazu wird der Flash als altertümliches CHS Device eingebunden, was bei der Größe auch egal ist.
USB Emulation muss eingeschaltet werden, damit der USB Stick auch als Festplattenlaufwerk booten kann. Das LAN Boot ROM ist auch nützlich für den PXE Bootup. Wer GRML auf seinem Netzwerk über PXE betreibt, kann die Box stark beschleunigen, wenn die Daten statt über den Flash übers Netzwerk an die Box herangeschippert kommen.
Der FDC Controller kann aus, schließlich gibt es das Gerät an sich nicht in der Box. Die Ports können klassisch eingerichtet werden, den Parallelport kann man ohne DMA einrichten, man nutzt ihn ohnehin selten oder gar nicht. Wer ihn gar nicht braucht, könnte ihn auch abschalten, allerdings verbraucht er so oder so kaum Resourcen, wenn er an ist.
ACPI macht bei mir hier und da manchmal Probleme. Die kann ich zwar nicht so genau bestimmen, aber irgendwie friert die Box hier und da ein. Ist ACPI unter Linux abgeschaltet, scheint es besser zu gehen. Der Linux Kernel 3.2 scheint am Besten zu funktionieren. Suspend und derartiges habe ich abgestellt, die Box soll ja einfach den ganzen Tag laufen. Die IRQ Activity habe ich mal so gelassen, wie sie ist. Der PC Health Status zeigt die Temperatur an, die nicht über 60 Grad liegen sollte. Werden die Boxen gestapelt, so werden sie zu heiß, wenn nicht ein leichter Luftstrom über die Gehäuse geht.
Ich habe den Memory Test einige Stunden laufen lassen, um zu schauen, ob das System stabil läuft.
Bei ebay fand ich eine Neoware CA22 Box. Der ThinClient verbraucht wenig Strom und ist durch die passive Kühlung geräuschlos. Der Verbrauch liegt im schlechtesten Fall bei 40 Watt. Gemessen habe ich knappe 30 Watt. Der interne Flash bei dem Gerät ist nicht sonderlich groß nur 128 MB, lässt sich aber leicht vergrößern.
Bei ebay sah ich größere Flashbausteine, die entsprechend auf den Sockel des Gerätes passen. Allerdings ist auch jeder USB Stick ausreichend. Dazu kann auch über PCMCIA andere zusätzliche Hardware angeschlossen werden. Die Cisco Aironet WLAN Karte kann 802.11 a/b/g ist recht gut für WLAN Verbindungen geeignet und funktioniert auch mit der Aircrack Suite. Dazu macht sie keine Zicken und funktioniert einfach.
Für den internen Flash ist die GRML 128MB, also die small Edition super geeignet. Auf dem Flash befindet sich ein Betriebssystem für die Neoware Software. Ich kann sie nicht nutzen und habe somit den Flash überschrieben. Somit kann ich wenigstens die Box booten, ohne einen USB Stick oder eine Platte anzuschließen. Sowas ist nett, wenn ich einfach nur eine Bridge bauen will oder etwas einfaches, wie nur eine Box mit Console, worüber ich was kurz machen kann.
Von der Performance ist es ratsam eine USB Festplatte anzuschließen, die Leistung eines USB Stick ist vom Schreiben schon recht begrenzt. Eine Festplatte macht die Box recht flott. Der Prozessor ist ein 32-Bit Prozessor. Mehr als 1GB RAM passt nicht rein. Dazu muss es ein 2Rx8 Speicher sein. 2Rx16 funktioniert nicht. Der DDR2 667 Speicher, den ich eingebaut habe, ist ein 2RX8 mit 1GB Kapazität. GRML MemTest zeigt schnell an, ob alles in Ordnung ist.
Der Neoware CA22 Thin Client wird mit NeoLinux 3.x betrieben. Die Box ist 29,5 cm breit und 5cm hoch.
Hersteller: Neoware Inc.
Modellnummer: CA22
Gerätetype: Thin Client
Farbe: grau
Abmessungen (Breite * Tiefe * Höhe): 29,5 cm * 24 cm * 5,5 cm
Gewicht: ca. 2.75 kg
Prozessor: VIA C7 1 GHz
Flashspeicher: 128 MB Flashspeicher
Arbeitsspeicher: 1 GB DDR2-SDRAM DIMM 184 pin (1 GB Max.)
Grafik: SiS Graphics on Board
Sound: AC ’97 Audio Controller on Board
Netzwerk: 10/100 MBit on Board
Kleine Netzwerke im Geek-Haushalt oder Kleinunternehmen beinhalten oft mehrere Subnetze. Da gibt es Netzwerke für Drucker, Gäste und Privatrechner. Verbunden werden diese Subnetze mit einem Router, vielleicht auch mit mehreren, sollte beispielsweise haushaltsübergreifend eine Verbindung geschaffen werden. Die Konfiguration sollte einfach sein und sich leicht erweitern lassen. Das Routing Information Protocol (RIP) ist die einfaste Sache, die es hierbei gibt. Viele einfache Geräte sprechen zudem RIP, so dass auch manchmal der heimische DSL Router es kennt.
Als erstes mit enable die administrativen Befehle freischalten. meinrouter> enable
meinrouter# conf t
meinrouter(config)# router rip
meinrouter(config)# network 192.168.23.0
meinrouter(config)# network 192.168.42.0
meinrouter(config)# timers basic 30 180 180 240
meinrouter(config)# passive-interface Fa0/0
meinrouter(config)# neighbor 192.168.42.254
meinrouter(config)# version 2
meinrouter(config)# end
meinrouter# show ip route
meinrouter# show ip protocols
meinrouter# debug ip rip
Der erste Schritt ist das Aktivieren des RIP Protokolls an sich durch das ‚router rip‚ Kommando.
Die Netzwerke, die dieser Router kennt, indem ein entsprechendes Subnetz direkt mit ihm verbunden wurde, werden mit dem ‚network‚ Kommando bekannt gegeben. Diese Netzwerke werden mit RIP dann später entsprechend propagiert. Hier werden nur die Netzwerkadressen angegeben. Anschließend sollten die Uhren justiert werden, die verschiedene Events aufrufen. RIP wird immer nach einem gewissen Zeitpunkt aktiv. Hierzu gibt es das ‚timers basic‚ Kommando mit vier Parametern. Die bedeuten in Reihenfolge Updatezeit, Ungültigzeit, Holddown und Flush. Sie werden in Sekunden angegeben. Im Beispiel sind Standardwerte angegeben. Beim Konfigurieren sollte der Admin dabei eine Sache beachten, die Zahlen haben ein bestimmten Verhältnis zueinander. Sie sollten so angegeben werden: x 6*x 6*x 8*x. Also 30 6*30=180 6*30=18 8*30=240.
Dazu sollten keine Update der Routen ins Internet transferiert werden. Um das umzusetzen, wird der Befehl ‚passive interface‚ genutzt. Dieses Kommando verhindert, dass bei den betroffenen Interface jegliche Arten von RIP Broadcasts weitergegeben werden. Das Interface allerdings hört auf andere Router, die RIP sprechen. Aus diesem Grund ist eine Authentifizierung sinnvoll, damit keine fremden Router Anderungen an den Routingtabellen vornehmen. Dies ist im Beispiel nicht vorhanden.
RIP sendet Updates mittels eines Broadcast. Falls der Router an ein Netzwerk angeschlossen ist, welches kein Broadcastnetz ist, wie zum Beispiel FrameRelay, so muss dem Router mitgeteilt werden, dass er seine Updates auf dem Netz als Unicast sendet. Dies wird mit dem Kommando ‚neighbor‚ konfiguriert. Hier wird die IP Adresse des Nachbarrouters angegeben.
Die Implementierung von Ciscos RIPv2 unterstützt Authentifizierung, Key Management, Route Summarization, CIDR Classless Interdomain Routing und VLSMs Variable Längen Subnetz Masken. Standardmäßig emfängt die Software RIP v1 und v2 Pakete, sendet allerdings nur RIP v1. Der Admin kann den Router anweisen, nur noch v1 Pakete zu empfangen und zu senden, wie auch nur noch v2 Packete. Um dies zu definieren, wird das Kommando ‚version 2‚ verwendet. Es werden hier nur noch RIPv2 Pakete gesendet und empfangen. Der Admin kann zudem definieren, welche Version auf welchem Interface gesendet und empfangen werden soll. Auf diese Weise können verschiedene Versionen von RIP gleichzeitig verwendet werden. Dies wird mit den Kommandos ‚ip rip send version‚ und ‚ip rip receive version‚ gemacht.
Das Kommando ‚show ip route‚ zeigt die aktuellen Routen des Gerätes an. Mit Debug können alle Reaktionen der RIP Software zur Fehleranalyse auf der Console dargestellt werden.
Damit SSH funktioniert, ist zunächst ein Zertifikat nötig. SSH in der Version 1 ist nicht sicher, Daher sollte die Version 2 aktiviert werden. Timeout und Retries sind optional und können einfach mit eingerichtet werden. Zusätzlich, damit ein Login möglich ist, muss ein Benutzer und ein Passwort eingerichtet werden. Das Zertifikat ist nicht exportierbar.
meinrouter# conf t
meinrouter(config)# hostname meinrouter
meinrouter(config)# ip domain-name mydomain.abc
meinrouter(config)# crypto key generate rsa general-keys modulus 2048
meinrouter(config)# ip ssh version 2
meinrouter(config)# ip ssh time-out 120
meinrouter(config)# ip ssh authentication-retries 5
meinrouter(config)# aaa new-model
meinrouter(config)# username cisco password 0 cisco
meinrouter(config)# line vty 0 4
meinrouter(config-line)# transport input SSH
meinrouter(config-line)# end
Sollen mehrere Personen das System administrieren, so können auch mit Telnet mehrere Benutzer mit einem jeweiligen Passwort definiert werden. Dazu können so viele Benutzer und Passwörter angelegt werden, wie nötig. Das funktionert so.
meinrouter# conf t
meinrouter(config)# aaa new-model
meinrouter(config)# username cisco password 0 cisco
meinrouter(config)# line vty 0 4
meinrouter(config-line)# transport input telnet
meinrouter(config-line)# end
Vergisst der Admin sich auszuloggen, so greift der Timeout. Somit sollte der Timeout möglichst nie angehalten werden. Falls zu Schulungszwecke das doch gemacht werden soll, so geht das so.
meinrouter# conf t
meinrouter(config)# line con 0
meinrouter(config-line)# exec-timeout 0 0
meinrouter(config-line)# end
Falls möglich, sollte SSH eingesetzt werden. Jedoch unterstützt das nicht jedes IOS Image. Die Verbindung wird nicht verschlüsselt, somit ist der Einsatz von Telnet nur in vertrauenswürdigen Netzwerken zu empfehlen, wo es nicht so ohne weiteres möglich ist, das Kennwort mitzuschneiden. So wird das Telnet Passwort gesetzt.
meinrouter# conf t
meinrouter(config)# line vty 0 4
meinrouter(config-line)# login
meinrouter(config-line)# password cisco
meinrouter(config-line)# end
Die Cisco ASA 5505, wie auch ihre größeren Brüder, kann in zwei Betriebsarten gefahren werden. Die Firewall wird als „transparent“ oder „routed“ betrieben. Hat der Benutzer sie mal in den transparenten Mode gebracht, so möchte der Admin eines Tages auch mal wieder zurück in den routed Mode. Das Beispiel zeigt den Zugriff über SSH.
neurodump@laforge:~# ssh admin@192.168.42.23
admin@192.168.42.23's password:
Type help or '?' for a list of available commands.
ciscoasa> login
Username: admin
Password: *****
ciscoasa# conf t
ciscoasa(config)# no firewall mode transparent
ciscoasa(config)# end
ciscoasa# copy run start
ciscoasa#