Linux im heterogenen Netzwerk

1. Hardware zur Vernetzung von unterschiedlichen Systemen

2. Software für die Vernetzung

  1. Linux
  2. Iris Indigo
  3. Windows
3. Das Einrichten der Software

4. Die Konfigurationsdatei auf dem Linux – Rechner

  1. /etc/hosts
  2. /etc/networks
  3. /etc/host.conf
  4. /etc/resolv.conf
  5. /etc/HOSTNAME
5. Die Einrichtung des Windows - Rechners

6. Die Einrichtung des Unix – Rechners

  1. Ping
  2. Telnet
  3. FTP
  4. NFS

 
 

1. Hardware zur Vernetzung von unterschiedlichen Systemen
 
 

Als Beispiel dient ein kleines Netzwerk, bestehend aus einer IRIS – INDIGO, die mit einem RISC – Prozessor ausgestattet ist und eigentlich gar nichts mit der Welt der Intel – Prozessoren gemein hat, einen Windows – Rechner und als Server wird eine Linux – Maschine verwendet.

Die INDIGO ist standardmäßig für eine Arbeit im Netz ausgestatten. Sie arbeitet mit einem Tick – Ethernet – Port, für den ein Adapter beschafft werden muss, um einen Übergang auf das Thin – Ethernet zu schaffen um letztendlich damit zu arbeiten.

Der Windows – Rechner ist mit einer NE2000 – kompatiblen Netzwerkkarte ausgerüstet, die auch im Linux – Rechner verwendet werden kann.
 
 
 
 

2. Software für die Vernetzung

Damit die Rechner überhaupt miteinander in Verbindung treten können, sind zuerst die Softwarevoraussetzungen zu schaffen. Es müssen umfangreiche Konfigurationsarbeiten an den Systemen vorgenommen werden. Zunächst sehen wir uns mal an, welches >System mit welchen Kommunikations-Programmen und Protokollen ausgestattet ist.
 
 

a.) Linux

Programme:

Protokolle:
 
 

b.) Iris – Indigo

Programme:

Protokoll:

TCP/IP
 
 
 
 

Windows

Programme:

Protokolle: 3. Das Einrichten der Software

Grundsätzlich sollte auf jedem Rechner, den ihr in ein heterogenes Netzwerk einbinden möchtet, das TCP/IP – Protokoll installiert werden. Sollte darüber hinaus noch ein Novell – Netz mit eingebunden werden, ist hierfür auch die Installation des IPX – Protokolls notwendig.

Diese Variante lasse ich aber hier außer Betracht, da es zu langwierig wäre, das auch noch mit einzubeziehen.

In unserem Beispiel werden die Rechner zunächst nur über das TCP/IP – Protocoll miteinander kommunizieren.

Die Rechner haben eindeutige Namen:

Linux hat die Adresse 10.0.0.1

Iris – Indigo hat die 10.0.0.2

und Windows hat 10.0.0.3

Die drei Rechner liegen also alle im Netz 10.0.0.0 mit der Subnetzmaske 255.0.0.0. Dies ist so gewählt, um nicht mit den real im Internet vorhandenen Adressen in Konflikt zu geraten. Hiermit ist erst mal gewährleistet, dass jeder Rechner den anderen erreichen kann.

Unter Linux wird mit der Einrichtung der Netzwerkkarte automatisch auch das TCP/IP – Protokoll installiert. Ihr müsst also während der Installation einen eindeutigen Namen für den Rechner angeben. Dabei weist ihr ihm dann auch eine IP – Adresse innerhalb des privaten Netzes zu. Den Abschluss bildet die sog. Domain. Dies ist ein eindeutiger Namen für das Netz, dem euer Rechner angehört. Welchen Domainnamen ihr im Endeffekt angebt, bleibt euch überlassen...
 
 
 
 
 
 

4. Die Konfigurationsdateien auf den Linux - Rechner

a.) /etc/hosts

Wird für den Netzzugang kein Nameserver innerhalb des Netzes abgefragt, müssen in dieser Datei alle Rechner mit Namen und Adresse aufgeführt sein, damit auch diese innerhalb des Netzes identifizierbar sind. Der Inhalt der folgenden Datei gilt für unser Beispiel:

# hosts This file describes a number of hostname- to – address

# mappings for the TCP / IP subsystem. It is mostly

# used at boot time. When no name servers are running.

# On small systems, this file can be used instead of a

# "named" name server. Just add the names, addresses

# and any aliases to this file…

#

127.0.0.1 localhost

        1. linux.germany.de linux
        2. indigo.germany.de indigo
        3. winnt.germany.de winnt
P.s.: Bei germany.de wird die Domain eingesetzt, die ihr gewählt habt.
 
 
 
 

b.) /etc/networks

In dieser Datei werden nicht die Rechnernamen, sondern die Netzwerknamen in Netzwerkadressen umgesetzt. Hier stehen die Namen der Netzwerke vor deren Adressen.

# networks This file describes a number of netname-to-address

# mappings for the TCP/IP subsystem. It is mostly used at boot time, when no name severs are running.

#

loopback 127.0.0.0

germany.de 10.0.0.0
 
 
 
 

c.) /etc/hosts.conf

Diese Datei dient dazu, die Namen innerhalb von Netzwerken aufzulösen. Dies bedeutet, dass in unserem Fall der Rechner INDIGO durch die Auflösung seines Namens nur noch unter seiner Adresse 10.0.0.2 im Netz angesprochen werden wird.

# /etc/hosts.conf

# Change variables (NAMESERVER + YP_SERVER) in /etc/rc.config instead.

#

order hosts bind

multi on

Die Zeile order hosts bind legt die Reihenfolge fest, in der die Dienste zum Auflösen eines Namens angesprochen werden sollen.

Für die Außenwelt sieht es dann so aus, als wenn es sich bei diesem Servern um verschiedene Maschinen handelt; tatsächlich ist es allerdings nur ein einzelner Linux – Server.
 
 
 
 

d.) /etc/resolv.conf

In dieser Datei wird die Adresse des Nameservers eingetragen. Ebenso findet sich hier die Angabe über die Domäne, der der Rechner angehört. Es ist möglich, mehrere Domänen anzugeben. Ebenso können auch mehrere Nameserver an dieser Stelle eingetragen werden. dies ist z.B. dann der Fall, wenn sich in eurem lokalen Netz ein Nameserver befindet, und ihr gleichzeitig auch auf ein Netz außerhalb zugreifen wollt, in dem ebenfalls ein Nameserver seinen Dienst verrichtet.

# /etc/resolv.conf

#

#

search provider.de

nameserver 194.00.34.1

In diesem Listing greifen wir aus dem lokalen Netz, in dem sich kein Nameserver befindet, auf den Nameserver eines Internet – Providers zu. Dieser würde den Namen eines angewählten Rechners, zum Beispiel http://www.sybex.de/, in eine eindeutige Internet – Adresse (194.77.29.2) aufzulösen.
 
 
 
 

e.) /etc/HOSTNAME

Hier stehen der Name des Linux – Rechners mit der dazugehörenden Angabe der Domäne. Sie darf nur eine Zeile enthalten.

linux.germany.de

Anmerkung:

Die Distribution von Suse erledigt den größten Teil dieser Dateiübertragung mittels eines Administrationsprogramms. Für die SUSE – Distribution ist dabei die zentrale Konfigurationsdatei, die rc.conf, von systemweiter Bedeutung. In ihr werden zentral alle Einstellungen, die sowohl die Netzwerkkonfiguration als auch andere Konfigurationsdateien betreffen, festgelegt. Danach werden dann mit Hilfe eines Hilfsprogramms die oben beschriebenen Dateien generiert.
 
 
 
 
 
 
 
 

5. Die Einrichtung des Windows – Rechners
 
 

Ich wird hier nicht erklären, wie man eine Netzwerkkarte unter Windows installiert. Das denke ich, sollte bekannt sein. Es wird in diesem Kapitel nur auf die Konfiguration eingegangen. Kommen wir jetzt zur hardwareseitigen Konfiguration der Karte, welches im Normalfall im Registerblatt "Eigenschaften für......" geschieht.

Hier müsst ihr den IRQ und die I/O – Adresse einstellen. Danach muss das TCP/IP – Protokoll eingestellt werden (Hinzufügen/Protokoll/Microsoft/TCP/IP). Wenn dies geschehen ist, sollte man das ganze noch konfigurieren. Hier wird zuerst eine IP – Adresse zugewiesen, in unserem Fall ist das die 10.0.0.3, unter der der Rechner in eurem Netz angesprochen werden soll. Dazu kommt noch, wie auch bei Linux, die Subnetz – Maske, also die 255.0.0.0. Dann kommt der Nameserver an die Reihe.

Bei Host wird "winnt", und bei Domäne "germany.de" angegeben. Um nun den Linux – Server als Gateway erkennen zu können, braucht der Windows – Rechner noch einen Eintrag im Registerblatt "Gateway". Hier wird die Netzadresse des Linux – Rechners eingetragen, in unserem Beispiel die 10.0.0.1. Anschließend muss der Rechner (wie gewohnt) neu gestartet werden, damit die Änderungen wirksam werden.

Zu guter letzt werden müssen noch zwei Dateien konfiguriert werden. da ist einmal die hosts.sam und die networks. Diese Dateien findet ihr im Windows Verzeichnis (C:\WINDOWS). Sie sind im ASCII – Format gespeichert und können so mit einem x – beliebigen Editor bearbeitet werden.

Zuerst die hosts.sam:

# Copyright (c) 1994 Micosoft Corp.

#

# This is a sample HOSTS file used by Microsoft TCP/IP for Chicago

#

# This file contains the mappings of IP addresses to hosts names.

Each entry should be kept on an individual line. The IP address

Should# be placed in the first column followed by the

Corresponding host name.

# The IP address and the host name should be separated by at least

one space.

# Additionally, comments (such as these) may be inserted on

individual

# lines or following the machine name denoted by a ‘#’ symbol.

# For example:

# 102.54.94.97 rhino.acme.com

# source server

# 38.25.63.10 x.acme.com

# x client host

# DAS SIND UNSERE EINSTELLUNGEN:

127.0.0.1 localhost

10.0.0.1 linux.germany.de

10.0.0.2 indigo.germany.de

Es wurden nur folgende Zeilen hinzugefügt:

Jetzt kommt die networks dran:

# Copyrigth ( c ) 1993-1995 Microsoft Corp.

# In dieser Datei werden die Netzwerknamen und die ihnen zugeordneten Nummern für lokale Netzwerke aufgeführt. Netzwerknummern werden in Dezimalform mit Punkten als Trennzeichen erkannt.

# Format:
# <Netzwerkname> <Netzwerknummer> [Aliasnamen...]

[#<Kommentar>]

# Beispiel:

# loopback 127

# zentrale 284.122.107

# london 284.122.108

loopback 127

germany.de 10.0.0.0
 
 
 
 
 
 

6. Die Einrichtung des Unix – Rechners

Sobald die Netzwerkkarten installiert, und auf allen Rechner das TCP/IP – Protokoll eingerichtet ist, könnt ihr die erst Verbindung zum Linux – Server aufbauen.
 
 

a.) Ping

Zum Testen einer bestehenden Netzwerkverbindung gibt es das Programm ping. Dieses wird im allgemeinen als Bestandteil des Softwarepaketes von TCP/IP ausgeliefert.

Es schickt ein Signal über die Leitung, das vom Kommunikationspartner (wenn er erreichbar ist) zurückgeschickt wird. Testet zunächst von eurem Linux – Server aus, ob euer Netz funktionsfähig ist.

Dazu müsst ihr nur eingeben: ping 10.0.0.2

Dieser Befehl sollte folgende oder ähnliche Meldung auf der Linux – Konsole erscheinen lassen:

PING 10.0.0.2 (10.0.0.2) : 56 data bytes

64 bytes from 10.0.0.2 : icmp_seq=0 ttl=255 time=1.5 ms

64 bytes from 10.0.0.2 : icmp_seq=1 ttl=255 time=1.0 ms

64 bytes from 10.0.0.2 : icmp_seq=2 ttl=255 time=1.1 ms - - - 10.0.0.2

ping statistics - - -

3 packets transmitted, 3 packets received, 0% packet loss

round – trip min/avg/max = 1.0/1.0/1.5 ms

Das PING – Programm steht euch unter allen hier aufgeführten Plattformen zur Verfügung. Ihr habt mit ihm eine sehr gute Möglichkeit, die Hard- und Software zu überprüfen. Sollte bei eurem Ping die Ausgabe wie folgt lauten,

PING 10.0.0.7 (10.0.0.7) : 56 data bytes

- - - 10.0.0.7 ping statistics - - -

6 packets transmitted, 0 packets received, 100% packets loss

solltet ihr zuerst die Anschlüsse und die Software – Konfiguration überprüfen. Sollte der Paketverlust (packet lost) einen Wert zwischen 1% und 99% betragen (treten also Schwankungen in der Übertragung auf), ist dies meistens ein Zeichen, dass die Verbindungen nicht sauber verarbeitet wurden.
 
 
 
 

b.) Telnet

Als die simpelste Verbindung zwischen zwei Rechner wird die Telnet – Verbindung angesehen. Diese wird einfach mit: telnet 10.0.0.1 aufgerufen. Vorraussetzung ist natürlich, dass der Linux – Rechner diesen Dienst auch unterstützt. Ich geh jetzt nicht weiter auf die Funktionsweise von Telnet ein, aber soviel sei noch gesagt:

Linux erlaubt in einigen Distributionen nicht, sich über eine Netzverbindung als "Root" einzuloggen. Es gibt allerdings einen kleinen Trick, diese Sperre zu umgehen. Wenn ihr euch mit einem User – Namen eingeloggt habt, gebt einfach am Prompt "su" ein, gefolgt von dem Passwort des Systemverwalters.

Die Alternative hierzu ist, das Linux – System dem entsprechend umzukonfigurieren. Es ist übrigens auch nicht möglich, sich von einem Linux – Rechner per TELNET auf einen Windows 95/98 Rechner zu verbinden, da Windows nur den Client zur Verfügung stellt.
 
 
 
 

c.) FTP

Der FTP – Client, der euch unter Windows zur Verfügung steht, versteckt sich im Windows – Verzeichnis und wird über ein DOS – Fenster aufgerufen. Wenn man Hilfe zu den Parametern braucht, kann man einfach den Befehl help oder help [Befehl] eingeben. Ich würde euch empfehlen, den Einsatz eines FTP – Programms in Betracht zu ziehen, weil dieses wesentlich mehr Funktionen besitzt und einfach zu bedienen ist.

Ein Programm, welches sehr gut ist, ist z.B. CuteFTP. Der einzige Nachteil ist, dass es sich um eine Sharewareversion handelt. Es gibt natürlich auch noch genügend andere FTP – Klienten. Welcher letztendlich euch am meisten zusagt, könnt ihr nur durch ausprobieren herausfinden.
 
 
 
 

d.) NFS

Um den unter Linux zur Verfügung stehenden Plattenplatz auch anderen Rechnern im Netzwerk zugänglich zu machen, gibt es den NFS – Server bzw. den NFS – Client. Hiermit besitzt ihr ein Tool, das es ermöglicht, den gesamten von NFS – Servern zur Verfügung gestellten Plattenplatz von den Rechner, die Zugriff auf das Netzwerk haben, wie ein einziges, großes physikalisches Laufwerk behandeln zu lassen.

Dateisysteme können von den einzelnen Rechnern sowohl exportiert als auch importiert werden. Das Netzwerk wird somit transparent für seine Benutzer.

Um NFS auch unter Linux zu benutzen, ist der Start des RPC – Portmanagers (Remote Procedure Calls). Dieses wird über das Skript /sbin/init.d/rcp erledigt. Als nächstes müssen die Dämonen nfsd und mountd gestartet werden. Normalerweise werden diese im Initialisierung – Skript rc.inet2 bei der Einrichtung von NFS eingetragen. Sollte dies nicht der Fall sein, musst ihr es von Hand erledigen. Weiterhin ist auch zu regeln, welche Rechner im Netz überhaupt Plattenplatz vom NFS – Server bekommen dürfen.

NFS stellt euch diesen Platz ab einem bestimmten Verzeichnis zur Verfügung. Welches Verzeichnis freigegeben wird und welchen Benutzern auf welchen Rechnern dort der Platz eingeräumt wird, muss in der Datei /etc/exports vom Systemverwalter festgelegt werden. diese Datei kann folgendermaßen aussehen:

# See exports (e) for a description.

# This file contains a list of all directories exported to other computers.

# It is userd by rcp.nfsd and rcp.mountd.

/home winnt (rw) antonmeier (rw)

/home indigo (rw) antonmeier (rw)

/cdrom indigo (ro)

In diesem Beispiel wird das Verzeichnis /home jeweils für den Benutzer antonmeier der Rechner winnt und indigo mit den Rechten lesen und schreiben freigegeben. Dieses wird mit den in Klammern stehenden Buchstaben (rw) festgelegt. Vom Rechner indigo aus darf jeder User auf das Verzeichnis /cdrom zugreifen, da ier kein Benutzer eingetragen ist. Diese Besonderheit solltet ihr unbedingt beachten! Gebt in der Datei /etc/exports das Verzeichnis /home ohne einen Parameter an, so darf von allen Rechnern, die auf euren Server zugreifen können, jeder Benutzer mit allen Schreib- und Leserechten auf das Verzeichnis /home zugreifen.

Das gilt natürlich nur soweit, wie dieser auch die Einlogprozedur des andere Rechners überwunden hat.

Das Verzeichnis /CD-ROM ist im obigen Beispiel auf (ro) –readonly, also "nur lesen" gesetzt, da jedes andere Recht in diesem Fall keinen Sinn ergeben würde...
 
 

Das war’s dann auch schon wieder. Ich hoffe, ich hab euch etwas helfen können, die Grundzüge eines Netzwerk zu verstehen. Beim nächsten mal, kommt die Konfiguration des Samba – Servers an die Reihe. Solltet ihr noch Fragen haben, schreibt mir einfach ne Mail. Ich wird versuchen, euch so schnell wie möglich zu helfen.

Bis dahin bleibt sauber und lasst euch nicht erwischen...

Author: Crash Override

(C) 2001 by The German Computer Freaks (GCF)