Printserver

Hat man erst mal einen SAMBA-Fileserver eingerichtet, möchte man auch die Drucker über diesen steuern; besonders bei Netzwerkdruckern wird man die erweiterten Möglichkeiten wie History der gedruckten Dokumente, Druckerstatus, usw. Nutzen.

Und das schönste: Mittlerweile ist die Einrichtung mit SAMBA & CUPS kein Problem mehr!

Continue reading Printserver

DHCP

DHCP steht für <I>Dynamic Host Configuration Protocol</I> und ist ein Protokoll, mit dem sich ein Computer selbständif fürs Netzwerk konfigurieren kann.

[stextbox id=“note“ caption=“Hinweis“]Falls beim Start des DHCPs ein Fehler kommt, muss man ihn vorher evtl. auf eth1 (statt standardmässig eth0) um konfigurieren.
Bei Debian geht das so:

vi /etc/default/dhcp

, dort das verwendete (interne) interface eintragen und mittels:

dpkg-reconfigure dhcp

neu Konfigurieren.[/stextbox]

Nun öffnen wir die DHCP Konfigurations-Datei mittels: vi /etc/dhcpd.conf -Falls diese Datei noch nicht existiert, muss sie erstellt werden.
Darin schreiben wir folgendes (evtl. schon vorhandenen Text löschen):

subnet 10.1.1.0 netmask 255.255.255.0
{
  # Global options
  range 10.1.1.100 10.1.1.240;
  option subnet-mask 255.255.255.0;
  option routers 10.0.0.1;
  option domain-name-servers 10.1.1.3;
  option domain-name "home.lan";
  option ip-forwarding on;
  option netbios-node-type 1;
}

Mit dem obigen Code definieren wir mit der Zeile subnet 10.1.1.0 netmask 255.255.255.0 ein Klasse-A-Netzwerk (10.1.1.x) mit der Netzmaske: 255.255.255.0, dies entspricht der Konfiguration, die wir im ersten Artikel bei allen Computern eingetragen haben.
Innerhalb der geschweiften Klammern können wir dann angeben, wie die einzelnen PCs konfiguriert werden sollen:

  • der DHCP-Server IP-Adressen von 10.1.1.100-10.1.1.240 vergeben kann <SMALL>(range 10.1.1.100 10.1.1.240)</SMALL>
  • die subnet maske immer auf 255.255.255.0 gesetzt wird <SMALL>(option subnet-mask 255.255.255.0;)</SMALL>
  • Das Standard Gateway auf: 10.1.1.1 <SMALL>(option routers 10.1.1.1;)</SMALL>
  • Der DNS Server auf 10.1.1.3 (Das wird später unser DNS) <SMALL>(option domain-name-servers 10.1.1.3;)</SMALL>
  • Das DNS Suffix auf home.lan gesetzt wird; d.h. es werden allen lokalen Namen der Zusatz home.lan angehängt. So kann man später einfach pc01 wählen, anstatt der volle Name: pc01.home.lan. Dies macht natürlich nur Sinn, wenn man nachher den DNS Server noch aufsetzt… g<SMALL>(option domain-name "home.lan";)</SMALL>
  • IP-Forwarding aktiviert wird <SMALL>(option ip-forwarding on;)</SMALL><LI>NetBIOS über TCP/IP aktiviert wird <SMALL>(option netbios-node-type 1;)</SMALL>

Nun würden alle PCs jeweils eine zufällige IP-Adresse von 10.1.1.100 bis 10.1.1.240 bekommen, was zwar ganz praktisch ist, wenn mal ein fremder PC ans Netzwerk angeschlossen wird, aber eher weniger geeignet, für unsere festen PCs, da wir uns ja dann nie recht wüssten was für eine IP wir gerade haben. Deshalb geben wir den festen PCs im Netzwerk auch eine feste IP-Adresse.
Diese definieren wir mit:

host pc-name
{
  hardware ethernet 00:00:00:00:00:00;
  fixed-address 0.0.0.0;
}

host pc-name leitet hier die Konfiguration für den PC mit dem namen pc-name ein, die Optionen in den geschweiften Klammern bedeuten:

  • Die Physikalische Adresse der Netzwerkkarte des PCs pc-name (du findest diese Adresse raus, wenn du in Windows 2000/XP unter Start-Ausführen-cmd ipconfig /all eingibst*) <SMALL>(hardware ethernet 00:00:00:00:00:00; )</SMALL>
  • Die feste IP Adresse, z.B. 10.0.0.10 für den ersten PC <SMALL>(fixed-address 0.0.0.0;)</SMALL><SMALL>*Windows zeigt die Hardware-Adresse in der Form 00-AA-00-00-00-00 an; für die DHCP-Konfiguration musst du aber : als Trenner verwenden und nicht -!</SMALL>

Ein solcher host-block musst du nun für jeden PC im Netzwerk definieren, der eine feste IP-Adresse bekommen soll; diese Blöcke müssen wiederum innerhalb des subnet-blocks stehen.
Für unsere 3 PCs aus dem ersten Beitrag sähe die Konfigurationsdatei dhcpd.conf also so aus (Die Physikalischen Adressen sind rein zufällig und müssen angepasst werden!):

################################################################################
#                                                                              #
# DHCP Configuration for home.lan on eth1                                 #
#                                                                              #
################################################################################
 
subnet 10.1.1.0 netmask 255.255.255.0
{
  #Globale Optionen
  range 10.1.1.100 10.1.1.240;
  option subnet-mask 255.255.255.0;
  option routers 10.0.0.1;
  option domain-name-servers 10.1.1.3;
  option ip-forwarding on;
  option netbios-node-type 1;
 
  #Einzelkonfigurationen
  host pc01
  {
    hardware ethernet 00:FF:00:33:00:BB;
    fixed-address 10.1.1.10;
  }
  host pc02
  {
    hardware ethernet BB:00:20:00:FF:00;
    fixed-address 10.1.1.20;
  }
  host pc03
  {
    hardware ethernet 22:FF:00:00:00:AA;
    fixed-address 10.1.1.30;
  }
 
}

Damit hättest du den DHCP-Server auch schon fertig konfiguriert!
Nun kannst du den DHCP-Server starten mit:

/etc/init.d/dhcp start

Related Links

|| Link | Beschreibung
[http://www.geo.uni-bonn.de/members/kuepper/linux/DHCP.txt|DHCP-Textfile] | Umfangreiche Informationen über die Einstellungsmöglichkeiten beim DHCPD
||

Zusätzliche Services Installieren

Nachdem wir nun ein sicheres Gateway installiert und dieses abgeschottet haben, kommen wir zum dritten Teil des Workshops: Das konfortable Verwalten des Netzwerks mittels DHCP und DNS, sowie das aktivieren von Services auf Drittrechnern, wie z.B. Webserver mittels Port Forwarding.
Zum Schluss wird noch gezeigt, wie man die Firewall selbstständig erweitern kann.

Continue reading Zusätzliche Services Installieren

Linux Fileserver

Diese Seite beschreibt den Zusammenbau, Installation, Konfiguration und ggf. Migration eines Linux Fileservers mit 2×3 Festplatten je im RAID5 Verbund auf Basis von CentOS.

Da dieser Server nicht als Firewall Rechner dient, werden wir im Nachhinein daraus noch DHCP, DNS und letztendlich einen kompletten NT-Domaincontroller mit Samba bauen.

PS: Wer ein nicht ganz so anspruchsvolles Setup will, sollte sich die Seite: Linux Fileserver (alte Version) anschauen.

Continue reading Linux Fileserver

WWW-Server

Beim Webserver gibt es sehr viel Optimierungspotential.
Wir werden hier erst mal apache mit einer übersichtlichen und einfach zu erweiternden Konfiguration erstellen und danach suExec mit FastCGI einsetzten um die Sicherheit auch bei mehreren Benutzern auf dem System (sog. „ISP Hosting Setup“) zu gewährleisten.
Damit dann die User ihre Daten auch hochladen können, wird ein FTP-Server (proftpd) installiert.

Danach werden wir noch einen MySQL-Datenbankserver erstellen.
Continue reading WWW-Server

Mailserver

Mailserver gehören im allgemein zu den lästigsten Pflichten eines sysadmins – Man ist einfach froh, wenn er läuft und man möglichst nichts daran herum schrauben muss.

Wie auch immer, wir werden hier einen Hosting-Tauglichen Mailserver mit postfix, dovecot, mysql, amavisd-new, clamav und spamassassin auf der Basis von CentOS/RHEL aufsetzen.

Als Sahnehäubchen werden wir zuletzt noch mailgraph installieren um eine Grafische Auswertung über die versendeten Mails zu bekommen.

Continue reading Mailserver

CentOS basis Installation

rootserver kann man heute fast zum Schnäppchenpreis bekommen. Jedoch ist es sehr wichtig, dass man sich mit der Materie auskennt, da ansonsten ein falsch konfigurierter Server schnell gehackt wird.

Ich setze deshalb in sämtlichen rootserver tutorials fundiertes linux wissen voraus und werde nicht auf Linux-Basics eingehen.

Continue reading CentOS basis Installation

SQL

__ Dieser Workshop soll in die Programmierung mit SQL mit VisualBasic als Programmiersprache einführen.

Selbstverständlich kann man damit auch mit ASP, PHP oder einer anderen Programmiersprache auf SQL zugreifen. __

Einleitung

Da man oft mit Datenbank zugriffen arbeitet, wird hier eine Visual Basic unabhängige Datenbanklösung als die in Büchern beschriebene gezeigt.
Die Lösung basiert auf "SQL" und ist wird auch in anderen Programmiersprachen verwendet. SQL lässt sich auch ganz gut in Visual Basic einbinden.

Was ist SQL?

SQL = Structured Query Language, wird dazu verwendet um unabhängige Datenbank abfragen auszuführen. Es spielt dabei keine Rolle, was für eine Datenbank (Access, mySQL, DBase) verwendet wird.
Selbstverständlich kann man mit SQL noch viel mehr machen als nur einfache abfragen auszuführen, wen also die Datenbank Anbindung interessiert, wird empfohlen, hierzu weitere Literatur zu beschaffen.

Welche Schritte sind zu tun, um auf eine SQL Datenbank zuzugreifen?

Um mit SQL auf eine (Access) Datenbank zuzugreifen sind zunächst einige Schritte erforderlich, das nachfolgende Beispiel veranschaulicht dies:

'--Dieser Teil braucht nur einmal gemacht zu werden--
'Variablen deklarieren
Dim Conn As Object
Dim SQLQUERY As Object
Dim DBPath As String
Dim SQL As String
 
'Datenbank Pfad bestimmen
DBPath = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=K:daten.mdb"
 
'Datenbank Objekt erstellen
Set Conn = CreateObject("ADODB.Connection")
'Die Datenbank öffnen (Conn)
Conn.Open DBPath
 
'--Dieser Teil wird jeweils vor jeder abfrage ausgeführt--
'SQL Befehl festlegen
SQL = "SELECT * FROM tblLogin"
 
'Den SQL Befehl auf die Datenbank ausführen und die Abfrage'in der "Variablen"* SQLQUERY speichern
Set SQLQUERY = Conn.Execute(SQL)
 
'Solange die Datenbank nicht am ende angelangt ist'(EOF = EndOfFile) Gib das Feld "UserLoginName" aus
While Not SQLQUERY.EOF
  MsgBox (SQLQUERY("UserLoginName"))
  SQLQUERY.MoveNext
Wend
'Gehe wieder zum ersten Datensatz
SQLQUERY.MoveFirst
 
'--Dieser Teil kommt jeweils immer am schluss--
'Datenbank schliessen
Conn.Close
  • SQLQUERY ist eigentlich ein Objekt, es fällt aber leichter, dies als Variable darzustellen.

Die SQL Anweisungen

Nun kann man mit sogennanten "SQL Statements" auf eine Datenbank verschiedene Arbeiten durchführen, bsp. Auslesen, Eintragen oder Löschen:

Abfragen mit SELECT

Mittels dem Befehl SELECT können einzelne Felder, Datensätze oder ganze Tabellen abgefragt werden.
Syntax:

SELECT TabellenFeld FROM Tabelle [WHERE TabellenFeld = Wert]

Einfügen mittels INSERT

Mittels INSERT können Datensätze eingefügt werden
Syntax:

INSERT INTO Tabelle [(Tabellenfeld1, Tabellenfeld2)] VALUES ('Wert1', 'Wert2')

Modifizieren mittels UPDATE

Mittels UPDATE können Datensätze modifiziert werden
Syntax:

UPDATE Tabelle WHERE TabellenFeld = 'Wert' SET (TabellenFeld1 = 'Wert1', TabellenFeld2 = 'Wert2')

Related Downloads

|| File | Beschreibung
[http://www.tech-island.com/scripts/download.php?action=getFile&id=73|SQL Einbindung in Visual Basic] | In vielen Visual Basic Büchern ist eine Datenbank Zugriffs Variante beschrieben, die auf VB Active X Controlls basiert. -Wer dies nicht will, findet in diesem Dokument eine Beschreibung, wie man SQL in VB weitgehend unabhängig einbinden kann.
||