Computer und EDV
Solaris Grundlagen und Tipps
Wer sich mehr mit dem Thema 'Solaris' oder 'UNIX' beschäftigen will
oder muss, dem empehle ich den Download des PDF-Dokumentes
(ca. 1,5 MB). Das PDF-Dokument eignet sich hervorragend zum Ausdruck auf
Papier und die Grafiken sind viel besser sichtbar als in der Online-Version.
Es wird dafür der Acrobat-Reader benötigt.
Die HTML-Version wurde automatisch generiert und sollte überarbeitet
werden, da die Automatik bei einigen Seiten versagt hatte. Derzeit liegt
mir aber die Vervollständigung des Dokumentes mehr am Herzen als die
Perfektionierung der HTML-Seiten. Es fehlen noch einige Kapitel, die ich
geplant habe. Da ich aber aus zeitlichen Gründen nur langsam vorankomme,
habe ich wenigstens diesen 'Zwischenstand' ins Web gestellt.
Die Original-Manuale für Solaris von SUN können (in Englisch)
aus dem Internet von http://docs.sun.com
geholt werden.
Netzwerkprotokolle und Portlisten für Firewalls
Aufstellung der gebräuchlichsten Netzwerkprotokolle. - Welche Eigenschaften
haben die Protokolle und welche Ports werden verwendet? Mit welchen Problemen
muss man rechnen, wenn man die Protokolle durch eine Firewall lassen muss?
Ein großer Teil der Information wurde von mir nur zusammengetragen,
ist aber ungetestet und deshalb mit Vorsicht zu betrachten. Trotzdem sollten
hilfreiche Informationen für Netzwerk-Administratoren enthalten sein.
Für den Download gibt es das PDF-File
(ca. 250 kB).
RFC's - Request for Comments
Was sind RFC's?
Das sind die Informationsquellen zu Themen des Internets wie z.Bsp.
der genaue Ablauf einer ftp-Verbindung, der Inhalt eines TCP-Headers, etc.
RFC's sind nicht nur für Programmierer unverzichtbar, sondern
auch für Interessierte eine wahre Fundgrube.
Für eine Übersicht sollte man sich zunächst den 'Standard-Index'
aus dem Internet holen. Damit findet man dann rascher die richtige RFC
zum gewünschten Thema.
Mit Hilfe des folgenden Formulars kann die entsprechende RFC bequem
aus dem Internet geladen werden:
PERL
Was ist Perl?
Perl ist eine einfach zu erlernende Programmiersprache.
Warum Perl?
-
Perl ist kostenlos für viele Betriebssysteme verfügbar.
-
Perl ist portabel, d.h. viele Programme können ohne Anpassung auf
einem anderen Betriebssystem eingesetzt werden.
-
Perl bietet leistungsfähige und effiziente Operatoren zur Textmanipulation
sowie Funktionen zur Bearbeitung von binären Daten.
-
Die Konstrukte sind einfach und klar.
-
Es existiert bereits eine Unzahl von fertigen Modulen, die einen Großteil
der Problemstellungen abdecken.
-
Perl bietet auch Möglichkeiten für systemnahe Programmierung
Wo kommt Perl zum Einsatz?
-
Überall, wo man eine rasche Lösung benötigt
-
Bei der Administration von Systemen: Auswertung von Logdateien, Automatisieren
von Routinearbeiten, Sammeln und Aufbereiten von Daten von Netzwerkkomponenten
wie z.Bsp. Datendurchsatz von Routern, ...
-
Textmanipulation: z.Bsp. Entfernen von Leerzeichen am Zeilenende, Ersetzen
von einfachen oder komplexen Mustern, ...
-
Dateimanipulationen: z.Bsp. Ändern des Dateisuffix bei allen Dateien
in einem Verzeichnis, Verschieben von Dateien, die älter sind als
..., ...
-
Zahlenmanipulation: z.Bsp. Umwandlung von Binär und Dezimal, Generierung
gewichteter Zufallszahlen, Trigonometrie, Matrizenberechnungen, ...
-
Datums- und Zeitberechnungen
-
Automatisierung im Internet: z.Bsp. Versenden von Mails und/oder SMS, automatisierter
FTP oder TELNET, Auffinden ungültiger oder frischer Hyperlinks, ...
-
CGI-Programmierung: Generieren von Formularen, Zugriff auf Datenbank, ...
-
.... und für die Lösung deiner Probleme
Auswahl einiger meiner Perl-Scripts
netmask Wer sich manchmal mit Netzmasken beschäftigen muss, das
aber nicht alle Tage macht, dem ist vielleicht mit diesem kleinen Tool
geholfen. Netzmasken können Hexadezimal oder Dezimal eingegeben werden.
Es kann überprüft werden, ob eine Host-Adresse zu einer gegebenen
Netzadresse/Netzmaske dazugehört. Außerdem erhält man Informationen
über Broadcast-Adresse, maximale Anzahl von Hosts in diesem Netz sowie
Adresse des nächstfolgenden Netzes. Damit das Programm läuft,
wird das Modul Net::Netmask benötigt, was bei Bedarf vom nächsten
CPAN (Comprehensive Perl
Archive Network) geholt werden kann.
Ein Programm, das mir schon oft sehr gute Dienste erwiesen hat, ist datasum.
Ich erledige damit Aufgaben, die mit Excel Stunden dauern können (es
sei denn, man beherrscht die Macro-Programmierung aus dem ef-ef) innerhalb
von Sekunden.
Anwendungsbeispiel 1: In Ihrer Firma wurden von den Technikern innerhalb
eines Geschäftsjahres mehrere hundert verschiedene Ersatzteile verbraucht.
Sie wollen wissen, welche Teile am häufigsten benötigt wurden.
Z.Bsp damit manche Techniker diese Teile ständig mit sich führen.
Sie benötigen lediglich eine Liste (csv-Datei), die in einer Spalte
die Lagernummern und in einer anderen Spalte die Anzahl (meist wird je
Einsatz nur 1 Stück benötigt) enthält. Angenommen, die CSV-Datei
heißt 'ersatzteile.csv', die Spalten sind durch das Semikolon ';'
getrennt, Spalte 2 enthält die Lagernummer und Spalte 3 die Anzahl:
> datasum --key=2 --data=3 --delimiter=";" ersatzteile.csv
Voilá: Das Ergebnis ist in Kürze da!
Anwendungsbeispiel 2: In Ihrem Konzern sollen die Informationsflüsse
optimiert werden. Um die verschieden Nachrichtenwege zu ermitteln, wurde
2 Wochen lange, jeder Weg (Spalte-1:Quelle, Spalte-2:Ziel, Spalte-3:Uhrzeit,
Spalte-4:Art der Nachricht) aufgezeichnet. Sie müssen nun die Kombinationen
und deren Häufigkeit ermitteln. Die Daten stehen in einer Datei mit
dem Namen 'wege.csv' und die Spalten sind durch das Zeichen '|' voneinander
getrennt.
> datasum --key=1,2 --count --delimiter="|" wege.csv
FERTIG!
Wenn nötig, können zuvor die Uhrzeiten normiert werden (z.Bsp.
auf ganze Stunden gerundet - da bietet sich auch Perl an) und in die Bewertung
mit hineingenommen werden.
cisco_backup Mit Hilfe dieses Perlprogrammes
können Konfigurationsdaten von Routern oder Switches des Herstellers
Cisco automatisiert abgespeichert werden. Sind mehr als nur ein paar wenige
Netzwerkkomponenten vorhanden, so artet die Dokumentation in Arbeit aus
und wird nur zu gerne gemieden und deshalb nicht immer nach jeder Änderung
gemacht. 'cisco_backup' erledigt die Arbeit für Sie während einer
Kaffeepause. Es muss lediglich einmal ein Shellscript (oder unter Windows
eine BAT-Datei) erzeugt werden, welche das Programm für jedes vorhandene
Gerät aufruft.
SNMP (Simple
Network Management Protocol) in Verbindung mit Perl-Programmen bietet ausgezeichnete
Möglichkeiten, eine Vielzahl von Servern oder anderen Netzwerkteilnehmern
zu administrieren. Dabei denke ich nicht an jene Funktionen, die ein professionelles
Netzwerkmanagement-System bietet und viel besser und 'schöner' kann
als man es selbst mit vertretbarem Aufwand programmieren könnte. Vielmehr
sind es die 'kleinen Helferlein', die das Administratorleben erleichtern.
snmptool Mit Hilfe dieses Perl-Skripts kann man
von Geräten (Router, Rechner, Firewall, Switch,...), die in einem
TCP/IP-Netz hängen und SNMP unterstützen, eine Liste aller eingebauten
Netzwerk-Schnittstellen ermitteln. Zudem wird der Status der Schnittstelle
(UP oder DOWN) und die Übertragungsgeschwindigkeit angezeigt. Es muss
dazu die 'Community' bekannt sein (häufig 'public'), womit lesend
auf den SNMP-Dienst zugegriffen werden kann. Das Skript benötigt die
CPAN-Module Getopt::Long
und Net::SNMP.
Die folgenden Perlprogramme nützen die Möglichkeiten der
ServerView-Agenten, welche mit den Primergy-Servern des Herstellers 'Fujitsu-Siemens'
mitgeliefert werden. Selbstverständlich liefern auch andere Hersteller
ähnliche Funktionalitäten. Was machbar ist, entnimmt man am besten
den MIB-Dateien (Management Information Base).
Mit reboot können Primergy-Server per Kommando
im DOS-Fenster durchgestartet werden. Das ist ein Beispiel für ein
Programm, welches nicht bloß Informationen abfragt, sondern Veränderungen
bzw. Reaktionen am Server bewirkt. Durch entsprechende Anpassung des Programmes
ist, je nach Funktionalität der vorhandenen SNMP-Agenten, z.Bsp. das
Beenden von Prozessen, Eintragung von Routen in Routingtabellen, Statusänderung
von RAID-Controllern etc. möglich. Ich möchte an dieser Stelle
nicht unerwähnt lassen, dass der Einsatz von SNMP-Agenten auch eine
gefährliche Sicherheitslücke öffnen kann. Ist der 'Community-Name'
bekannt (das kann i.A. durch einfaches Mitlesen im LAN erfolgen), ist es
jedem Benutzer möglich z.Bsp. alle Server des Konzernes abzuschalten,
einzelne Prozesse zu beenden, Lanmanager-Sessions abbrechen, LAN-Interfaces
deaktivieren etc.
Sie benötigen die Seriennummern (bei Fujitsu-Siemens 'Identnummer'
genannt) aller Server, wollen aber nicht jeden einzelnen Server in ServerView
auswählen? Mit getident sind lediglich die
Rechnernamen bzw. IP-Adressen aller Server erforderlich.
snmpget_loop ist eine verallgemeinerte Form
von 'getident.pl'. Damit kann der Inhalt einer beliebigen Information einer
Menge von Servern gesammelt werden. Durch 'snmpget_loop.pl -help' wird
eine Anzahl von nützlichen 'Object-IDs' aufgelistet.
Beim Programm plist habe ich es mir leicht gemacht.
Anstatt alles in Perl zu programmieren habe ich auf ein bereits existierendes
freies Programm (snmpwalk, erhältlich im Internet: http://www.net-snmp.org/)
zurückgegriffen. plist liefert eine Liste aller auf einem Server laufenden
Prozesse. Durch entsprechende Anpassung des Programmes kann die Existenz
von zwingend nötigen Prozessen kontrolliert werden und (falls von
Agenten unterstützt) darauf reagiert werden. Ich überprüfe
damit z.Bsp. die erforderlichen Prozesse von Microsoft-SNA-Servern, welche
meiner Erfahrung nach nur allzugerne bei Netzwerkproblemen etc. 'sterben'.
Die Überprüfung jedes einzelnen Servers über die graphische
Oberfläche nimmt sehr viel Zeit in Anspruch. Das Perlprogramm liefert
mir die betroffenen Server innerhalb kurzer Zeit.
Letzte Änderung: Son Mar 28 13:51 2004