logoor-weiss.gif
Sonderheft 04/06
claim.gif
Linux Magazin Linux User Easy Linux International Linux Community
      Anzeigen
Webspace
Übersetzungsagentur
Free Classifieds Mysore
Günstige Linux Bücher
Handy Shop


Server, Linux-Software, Hardware, Linux-Bücher
verkaufen & kaufen
Kleinanzeigen & Preisvergleich

Notebooks | Drucker | PC-Systeme
Automarkt | Münzen
Wohnmobile | Grafikkarten Branchenbuch

Hier kaufen Unternehmen
Akku
Arbeitsspeicher
Beamer
Computer
CPU
Druckerkabel
Drucker
DVD-Brenner
Firewall
Festplatte
Hardware
Grafikkarte
Monitor
Kopierpapier
Netzteil
Mainboard
Notebook
Motherboard
Router
Netzwerkkarte
Scanner
Software
Server
SUSE Linux
Switch
TFT Monitor
Tastatur
USB Kabel
Toner
Werkzeug

Ersatzakku APC Akku Compaq
BELKIN LIEBERT RBC5 RBC6
RBC7 RBC8 RBC9 Batteriekit
APC Batterie RBC11 RBC12 USV
RBC14 RBC22 USV Batterie APC
RBC23 RBC24 Batterietausch
RBC25 RBC27 RBC31 RBC43
RBC44 Smartcell RBC2 RBC4
SYBATT DP320-E SUDP6000i

Akku Pulsar Evolution 3000 MGE

APC Smart UPS kaufen SUA750i
SUA1500i SUA1500RMI2U
SUA2200RMI2U SUA3000RMI2U

BB Battery BP12-6 BP5-12
BP7-12 BP7.2-12 Bleiakku
BP12-12 HR9-6 HR5.5-12 Batterie
HR5.8-12 Batterie HR9-12 Akku

CSB Akku GP1270 GP12110 USV

ColdFusion Hosting Webhosting
Matratzen Lattenrost Matratze
Nussknacker Nutcracker


Erschienen im Linux-Magazin 05/1996

Ethernet für Einsteiger

Kabelsalat

von Klaus Weidner


Um ein paar Rechner miteinander zu verbinden, muß man weder ein Elektrotechniker noch ein OS-Guru sein. In diesem Artikel wird beschrieben, wie man ein einfaches Rechnernetz aufbauen kann und die wichtigsten Dienste einrichtet.

Sobald man zwei Rechner nebeneinander stehen hat, verflucht man schnell den mühsamen Datentransport per Diskette. Mit einem einfachen Netzwerk kann man bequem die wichtigsten Dienste nutzen - Dateitransport, interaktives Arbeiten und Drucken übers Netz. (Und man kann diverse Spiele übers Netz spielen und mit der Plasmakanone auf Freunde und Arbeitskollegen losgehen, aber das ist ein anderes Kapitel...)

Es gibt viele Möglichkeiten, ein Rechnernetz aufzubauen. Bei jeder Entscheidung gibt es Dutzende von Alternativen, was man an dieser Stelle auch anders machen könnte. Ich versuche in diesem Artikel gar nicht erst, eine erschöpfende Auflistung aller Möglichkeiten zu geben, stattdessen beschreibe ich ein konkretes Beispiel, das möglichst preisgünstig und einfach sein soll. (Wer Twisted Pair-Hubs oder FDDI will, sollte sich direkt an die entsprechende Literatur wenden.)

Der Einkaufszettel

Netzwerkkarten gibt es viele, in der Ethernet-HOWTO ist eine ausführliche Liste. Die billigste Lösung ist meistens ein NE2000-Nachbau (ab ca. 50 DM), dabei sollten Sie darauf achten, daß sich die Karte entweder über Jumper konfigurieren läßt oder aber die nötige Konfigurationssoftware (für DOS) mitgeliefert wird. Es sollte eine 16-Bit-Karte sein, sonst wird es mit den Interrupts knapp.

Es gibt drei Arten von Ausgängen bei Ethernetkarten - BNC (auch Koax, Thinnet, RG-58 oder 10Base-2 genannt), Twisted Pair (10Base-T mit RJ-45-Stecker) oder AUI-Anschlüsse für externe Transceiver. Für kleine Netze ist Koax am einfachsten und billigsten. Mit einer Kombi-Karte sind Sie auf alle Fälle vorbereitet, und diese Karten sind nicht viel teurer als solche mit nur einem Ausgang.

Für jeden Rechner, der ans Netz soll, brauchen Sie neben der Netzwerkkarte für jeden Rechner ein T-Stück, außerdem Koaxkabel mit BNC-Steckern und zwei Ethernet-Terminatoren (Abschlußwiderstände mit 50 Ohm). Achten Sie bei der Verdrahtung darauf, daß der Ethernet-Strang richtig verlegt wird (s. Abbildung), also ein Terminator an jedem Ende (keine Ringe bauen...) und T-Stücke für den direkten Anschluß der Rechner. Bauen Sie auf keinen Fall mit Koax-Ethernet Y-förmige Kabelverzweigungen oder andere experimentelle Konfigurationen - für eine optimale Datenübertragung sollte der Kabelstrang wie ein unendlich langes unverzweigtes Kabel erscheinen, die Terminatoren sorgen an den beiden Enden für den passenden Wellenwiderstand, um Signalreflektionen zu vermeiden. Mit den T-Stücken wird die Signalleitung "angezapft", ohne die durchlaufenden Signale zu stören.

Bevor Sie die Netzwerkkarte einbauen, sollten Sie schon wissen, was für ein Interrupt und welche IO-Adresse für die Karte verwendet werden soll. Üblich sind 0x300 oder 0x280 für die IO-Adressen und IRQ 10, 11 oder 15. Vorsicht bei Plug+Play-Boards, dort ist es nicht immer ganz einfach festzustellen, welche Karte sich welchen Bereich geschnappt hat. Unter Linux können die momentan belegten Bereiche mit cat /proc/interrupts und cat /proc/ioports angezeigt werden, diese Liste ist leider nicht immer ganz vollständig. Unter DOS helfen msd und ähnliche Werkzeuge.

Wenn Sie einen freien Bereich für die Karte gefunden haben, können Sie die Jumper entsprechend setzen oder (unter DOS) mit dem mitgelieferten Programm die Karte einstellen. Dies ist nur einmal nötig, die Karte merkt sich auch nach einem Kaltstart die Konfiguration. Bei dieser Gelegenheit ist es auch sinnvoll, die mitgelieferte Hardwarediagnose laufen zu lassen, um vor Konflikten sicher zu sein.

Kernel-Voraussetzungen

Damit Linux mit der Karte etwas anfangen kann, muß die entsprechende Unterstützung einkompiliert sein. Die meisten Distributionen enthalten netzwerkfähige Kernels, im Zweifelsfall bauen Sie sich einen neuen Kernel, wie es in /usr/src/linux/README beschrieben ist. Beachten Sie dabei, daß folgende Features eingeschaltet sind:
Networking support (CONFIG_NET) [y] 
TCP/IP networking (CONFIG_INET) [y] 
Network device support? (CONFIG_NETDEVICES) [y] 
NE2000/NE1000 support (CONFIG_NE2000) [y] 
   (bzw. der Treiber für ihre Ethernetkarte)
NFS filesystem support (CONFIG_NFS_FS) [y] 
Wenn Sie dann mit dem passenden Kernel das System neu starten, sollte der Netzwerktreiber die gefundene Karte melden, z.B.:
IP Protocols: ICMP, UDP, TCP
NE*000 ethercard probe at 0x300: 00 40 ac ef 01 78
eth0: NE2000 found at 0x300, using IRQ 11.
ne.c:v1.10 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)
Checking 386/387 coupling... Ok
Wenn die Karte nicht gefunden wird, überprüfen Sie folgendes:

IP und andere Kleinigkeiten

Wenn der Linux-Kernel die Karte gefunden hat, ist die erste Hürde erfolgreich überwunden. Als nächstes muß der IP-Schicht mitgeteilt werden, wie die Karte eingebunden werden soll.

An dieser Stelle gibt es ein weitverbreitetes Mißverständnis - eine IP-Adresse kennzeichnet nicht einen Rechner, sondern ein Interface, also eine Netzschnittstelle. Ein Rechner kann also durchaus mehrere IP-Adressen gleichzeitig haben. Versuchen Sie also z.B. nicht, die IP-Adresse ihrer Internet-PPP-Anbindung für das Ethernet zu verwenden, das gibt nur Chaos.

Sie brauchen für ihre Rechner ein IP-Netz (also einen Nummernbereich). Wenn Sie nicht am Internet angeschlossen sind, brauchen Sie keine offiziellen Adressen, sondern sie können prinzipiell irgendwelche verwenden. Um Kollisionen zu vermeiden, wenn Sie sich später doch ans Internet anschließen sollten, verwenden Sie bitte Adressen aus den für private Netze reservierten Bereichen:

10.  0.0.0 -  10.255.255.255 (ein Class-A-Netz)
172. 16.0.0 - 172. 31.255.255 (16 Class-B-Netze)
192.168.0.0 - 192.168.255.255 (256 Class-C-Netze)
(In den Beispielen verwende ich das 10.*-Netz.)

Teilen Sie jedem ihrer Rechner eine IP-Adresse aus diesem Bereich zu. Später können Sie den Rechnern auch Namen geben, um Tipparbeit zu sparen. In diesem Beispiel werden zwei Rechner verbunden, der Rechner opal soll seinen Drucker und Festplatte für den Rechner saphir verfügbar machen. opal bekommt die IP-Adresse 10.1.1.1, saphir bekommt 10.1.1.2.

Bei jedem dieser Rechner müssen Sie jetzt dem Betriebssystem die verwendete Adresse mitteilen. Bei vielen Distributionen (z.B. Caldera) gibt es dafür Netzwerksetup-Programme, bei älteren Systemen geht das noch von Hand:

opal:/# ifconfig eth0 10.1.1.1
opal:/# route add 10.0.0.0

saphir:/# ifconfig eth0 10.1.1.2	
saphir:/# route add 10.0.0.0
(Hier werden mit Absicht noch keine Rechnernamen in den Befehlen verwendet. Machen Sie alle Tests erstmal mit den numerischen Adressen, erst wenn das alles geht, sollte man die Namen konfigurieren.)

Damit die Einstellungen nicht jedesmal neu gemacht werden müssen, tragen Sie die Befehle in eine der System-Startdateien (i.d.R /etc/rc.d/rc.inet1) ein.

Jetzt sollte schon ein "ping" auf die eigene Adresse funktionieren:

opal:/# ping 10.1.1.1
PING 10.1.1.1 (10.1.1.1): 56 data bytes
64 bytes from 10.1.1.1: icmp_seq=0 ttl=255 time=1 ms
64 bytes from 10.1.1.1: icmp_seq=1 ttl=255 time=1 ms
--- 10.1.1.1 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 1/1/1 ms
Sobald Sie zwei Rechner eingerichtet haben, kommt der spannende Moment, bei dem die erste Kommunikation übers Netz getestet wird:
opal:/# ping 10.1.1.2
PING 10.1.1.2 (10.1.1.2): 56 data bytes
64 bytes from 10.1.1.2: icmp_seq=0 ttl=255 time=1 ms
64 bytes from 10.1.1.2: icmp_seq=1 ttl=255 time=1 ms
--- 10.1.1.2 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 1/1/1 ms
Wenn das klappt, ist die zweite Hürde geschafft - hier wäre lautes Jubilieren oder eine Runde Drinks angebracht. Wenn's nicht geht, ist das Problem meistens bei den Kabeln (prüfen Sie nochmal den festen Sitz aller Stecker und Terminatoren) oder ein Hardwarekonflikt der Karten (probieren Sie andere Interrupts oder IO-Adressen).

Und der Nutzen?

Das "Anpingen" der Rechner untereinander ist zwar nett, aber noch nicht sehr nützlich. Jetzt kann man anfangen, die diversen IP-Dienste auszuprobieren.

Als erstes können Sie sich das lästige Eintippen der IP-Nummern sparen, indem Sie die Hostnamen eintragen. Das geht am einfachsten in der /etc/hosts-Datei:

### /etc/hosts
# Rechner im lokalen Netz
127.0.0.1   localhost
10.1.1.1    opal
10.1.1.2    saphir
### ENDE
Diese Datei können Sie sowohl auf opal als auch auf saphir einrichten. Die Reihenfolge der Einträge ist egal, die Datei kann also auf beiden Rechnern identisch sein. (Im Gegensatz zu anderen Systemen wie z.B. Solaris werden die Informationen in /etc/hosts normalerweise nicht zum Konfigurieren genutzt.) Damit sollte ein ping saphir genauso wie ping 10.1.1.2 funktionieren. (Bei großen Netzen ist es sinnvoll, einen zentralen Nameserver (named) einzurichten, statt die Hosttabellen auf Hunderten von Rechnern einzeln zu pflegen.) Falls es bei jeder Namensanfrage erstmal eine längere Pause (ca. 40-90 Sekunden) gibt, versucht der Rechner vermutlich, eine DNS-Nameserveranfrage zu machen. Wenn Sie keinen Nameserver haben, achten Sie darauf, daß in /etc/named.boot der Eintrag order hosts bind steht, damit immer zuerst in der /etc/hosts-Datei nach den Namen gesucht wird. Nur wenn dort kein Eintrag gefunden wird (z.B. für Internet-Rechner) wird der in /etc/resolv.conf konfigurierte Nameserver gefragt.

Je nachdem, wie ihre Linux-Distribution eingerichtet wurde, können Sie an dieser Stelle viele Dienste wahrscheinlich schon direkt verwenden, probieren Sie sie einfach aus:

opal:/# telnet saphir
Trying 10.1.1.2...
Connected to saphir.
Escape character is '^]'.

Linux (saphir)
	
saphir login: 
Wenn das nicht klappt, prüfen Sie, ob auf "saphir" in /etc/inetd.conf ein Eintrag für den Telnet-Daemon existiert:
	
### /etc/inetd.conf
telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd
(Die genauen Pfadnamen sind von der verwendeten Distribution abhängig.) Suchen Sie mit ps -ax die Prozeß-ID (PID) des inetd-Prozesses heraus und schicken Sie ihm ein HUP-Signal (z.B. kill -HUP 9872), damit die Konfiguration neu gelesen wird.

FTP zum Dateitransport geht meistens auch schon ohne weitere Konfigurationsarbeit. Wenn es nicht gehen sollte, wird's kompliziert, da die Konfiguration stark vom verwendeten FTP-Server abhängig ist - die Details sprengen leider den Rahmen dieses Artikels.

Drucken über Netz ist - wenn alles klappt - ganz einfach. Wenn ein Drucker an opal angeschlossen ist (und lokales Drucken dort funktioniert...), kann dieser von saphir aus mitgenutzt werden, indem folgender Eintrag in der /etc/printcap von saphir vorgenommen wird:

### /etc/printcap
lp|Remote Printer:\
:lp=:\
:rm=opal:\
:rp=lp:\
:sh:mx#0:pl#66:pw#80:
Schreiben Sie in die rm-Zeile den Namen des Zielrechners (hier opal) und in die rp-Zeile den Namen des dortigen Druckers (normalerweise lp). Auf opal muß normalerweise nichts umkonfiguriert werden, sofern der lpd-Daemon dort wie üblich eingerichtet ist.

NFS-Dateisysteme

Netz-Dateisysteme mit NFS (Network File System) einzurichten, wäre genug Stoff für einen eigenen Artikel. Hier eine ganz rudimentäre Kurzanleitung.

Auf dem Server ist die meiste Arbeit nötig. Zuerst einmal müssen die Daemon-Prozesse aktiv sein, die für andere Systeme die Anfragen bearbeiten. Dazu sind drei Programme nötig, rpc.portmap, rpc.mountd und rpc.nfsd. Machen Sie ein ps -ax | grep rpc, dann sollten diese Programmnamen erscheinen. (Wenn nicht, ist NFS bei ihrer Distribution nicht aktiv - schauen Sie in der mitgelieferten Dokumentation nach, wie es sich aktivieren läßt.) Wenn die Daemonen aktiv sind, kann über die Datei /etc/exports konfiguriert werden, welche Verzeichnisse für andere Benutzer verfügbar gemacht werden sollen.

In der einfachsten Version kann diese Datei so aussehen - hier wird das Verzeichnis /share des Rechners opal schreib- und lesbar an den Rechner saphir exportiert. Dazu wird auf opal folgender Eintrag gemacht:

### /etc/exports
/share   saphir(rw)
Danach muß rpc.mountd neu gestartet werden. Sie können das von Hand machen (killall rpc.mountd; rpc.mountd) oder das System einfach neu starten.

Um das ganze zu testen, können Sie probieren, ob Sie das Verzeichnis auf den Server selber einbinden können:

opal:/# mkdir /tmp/test
opal:/# mount opal:/share /tmp/test -t nfs
opal:/# ls /tmp/test
Verzeichnis1    Verzeichnis2
opal:/# umount /tmp/test
opal:/# rmdir /tmp/test
Beim Client (in diesem Beispiel saphir) muß man darauf achten, daß das NFS-Dateisystem im Kernel verfügbar ist - falls nicht, muß ein neuer Kernel gebaut werden. Ein testweises Verbinden des Dateisystems geht genauso wie in dem Beispiel oben; wenn bei jedem Systemstart das Dateisystem automatisch eingebunden werden soll, kann man es in die /etc/fstab eintragen:
### /etc/fstab
opal:/share /share nfs defaults 0 0
(Das Zielverzeichnis /share muß dazu existieren, also mit mkdir /share angelegt werden.)

Zum Abschluß noch eine Warnung - NFS (und einige der anderen hier genannten Server) können zu erheblichen Sicherheitsrisiken führen, wenn der Rechner aus dem Internet erreichbar ist. Exportieren Sie auf keinen Fall ihren ganzen Dateibaum an die ganze Welt, und behalten Sie im Hinterkopf, daß die Sicherheitsprüfungen der exports-Datei sich mit recht geringen Aufwand umgehen lassen. Wenn Sie einen Internetanschluß planen und sensitive Daten auf den Rechnern im Netz vorliegen, sollten Sie sich auf jedem Fall gründlich über die Risiken informieren.

Was ist wo?

Leider ist es schwer, allgemeingültige Aussagen zu machen, welche Konfigurationsdatei bei welcher Distribution wo zu finden ist. Doch die hier angegebenen Pfade sind recht verbreitet.

Netzwerkkonfiguration (BSD Init)

/etc/rc.d/rc.inet1    Adressen und Routen konfigurieren
/etc/rc.d/rc.inet2    Ständig aktive Server
Netzwerkkonfiguration (SYSV Init)
/etc/rc.d/rc3.d/      Verzeichnis mit Startdateien (S*) für alle Netzwerkdienste
Angebotene Dienste
/etc/inetd.conf       Bei Bedarf gestartete Server
Namen in Adressen übersetzen
/etc/host.conf        Reihenfolge der Auflösung (order hosts bind)
/etc/hosts            Hostnamen (ADRESSE NAME ALIAS ...)
/etc/resolv.conf      DNS-Konfiguration (Anfragen)
/etc/named.boot       DNS-Konfiguration (Server)
NFS-Dateisysteme
/etc/exports          exportierte Dateisysteme
/etc/fstab            verbundene (mounted) Dateisysteme
Druckersystem
/etc/printcap         Verfügbare Drucker

... und weiter?

Hiermit sind die Möglichkeiten natürlich nur ganz knapp angerissen worden, über das Thema werden ganze Bücher geschrieben. Die hier nur knapp beschrieben Dienste und das Einrichten von E-Mail und X-Windows übers Netz, die r-Dienste (rlogin, rcp), Internetanbindung und andere Themen werden im Linux-Magazin noch genauer behandelt werden.

Literatur

Zu den meisten hier angesprochenen Programmen und Konfigurationsdateien sollten Manpages vorhanden sein, z.B man exports, man nfs, man printcap, man named u.s.w.

1) Olaf Kirch, "Network Administrator's Guide", O'Reilly
2) Ethernet HOWTO
3) NET-2 HOWTO
4) Printing HOWTO
5) RFC 1597 (reservierte IP-Nummernbereiche)

Der Autor

Klaus Weidner ist ein alter Bekannter im Linux Magzin und hat schon sehr viele Artikel beigesteuert. Er arbeitet für Articon und ist dort unter anderem für die Netzwerkverwaltung, Firewalls und Internetkurse zuständig. Über mangelnde Arbeit kann er sich sicher nicht beklagen. Zu erreichen ist er unter mailto:kweidner@artinet.de

Copyright © 1996 Linux-Magazin Verlag

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.




Druckerfreundliche Version | Feedback zu dieser Seite | © 2006 Linux New Media AG | Last modified: 2005-07-28 23:21

Partner-Sites: [LinuxUser] [EasyLinux] [Linux-Community] [Linux Events] [OpenBytes] [Linux Magazine] [Linux Magazin Romania] [Linux Magazine Poland] [Linux Magazine Brasil] [Linux Magazine Spain]