Instant Netzwerk

Rechner seriell verbinden

01.11.2002
Die Arbeit im Netzwerk gilt als eine der Hauptdomänen von Linux. Was, wenn kein solches vorhanden ist? Eine serielle Verbindung schafft Abhilfe.

Jeder stand schon mal vor dem Problem, Daten zwischen Linux- und Windows-Rechner austauschen zu wollen. Ohne Netzwerk bleibt nur der Weg über externe Medien. Einfacher und flexibler ist eine Verbindung der beiden Rechner über ein Nullmodemkabel. Man muss sich zwar mit einer geringen Datenübertragungsrate von bis zu 11 kBit/sec bescheiden, kann davon abgesehen aber die Vorteile eines "echten" Netzwerkes nutzen. Darüber hinaus ist diese Lösung kostengünstiger und schneller eingerichtet als ein Netzwerk.

Frisch aufgebrüht

Zunächst benötigen Sie ein entsprechendes Kabel. Sie bekommen es in Computer-Fachgeschäften oder Elektronikmärkten. Die Preise für ein "Null-Modem-Verbindungsset" liegen bei 10-20 Euro. Dieses Kabel schließen Sie an die seriellen Schnittstellen der Rechner so an, wie Sie es mit einem Modem machen würden. Nun beginnt die eigentliche Konfiguration: Unter Linux müssen Sie den pppd derart konfigurieren, dass er Verbindungen über das Nullmodemkabel auch annimmt. Angenommen, Sie haben die Schnittstelle ttyS0 (COM1) verwendet, dann heißt die (mit root-Rechten) anzulegende Konfigurationsdatei /etc/ppp/options.ttyS0. Listing 1 zeigt ein Beispiel für eine solche Datei.

Listing 1

Konfigurationsdatei options.ttyS0

# Einwahlkonfiguration für Clients über Nullmodemkabel
lock                    # Lock-Datei anlegen (/var/lock/LCK..ttyS0)
noauth                  # keine Authentifizierung
asyncmap 0
crtscts                 # Hardware-Flow-Control einschalten
local                   # das ist kein Modem
silent                  # warte auf Verbindung
192.168.0.1:192.168.1.1 # Ip-Adressen Server:Client
115200                  # Geschwindigkeit, bei zu langem Kabel evtl. reduzieren
connect 'chat -v -f /etc/ppp/win.chat'

Bei den Einträgen hinter "#" handelt es sich um Kommentare, die die Bedeutung der Optionen erläutern. Wichtig ist die drittletzte Zeile, da dort die IP-Nummern für Server (192.168.0.1) und Client (192.168.1.1) festgelegt werden. Ausführliche Erläuterungen zu den einzelnen Optionen können Sie in der Manpage des pppd nachlesen. Eigentlich wären wir auf der Linux-Seite nun schon fertig, wenn Windows keine Sonderwünsche hätte. In der letzten Zeile weisen wir den pppd an, vor dem Verbindungsaufbau chat mit dem Skript /etc/ppp/win.chat aufzurufen. Das ist notwendig, da Windows vor dem Herstellen einer PC-Direktverbindung darauf besteht, sich seinem Gegenüber vorzustellen. Windows sendet "CLIENT" und erwartet die Antwort "CLIENTSERVER". Das erreichen Sie durch Anlegen des Skripts /etc/ppp/win.chat mit folgendem Inhalt:

TIMEOUT 3600
CLIENT CLIENTSERVER\c

Der Parameter TIMEOUT legt dabei fest, wie lange chat auf die Zeichenfolge "CLIENT" warten soll.

Jetzt folgt die Konfiguration des Windows-Clients. Wie oben schon erwähnt, nutzen wir dazu das Programm PC-Direktverbindung. Sie finden es unter Start/Programme/Zubehör/Kommunikation/PC-Direktverbindung. Sollte die PC-Direktverbindung bei Ihnen nicht installiert sein, holen Sie das über Start/Einstellungen/Systemsteuerung/Software, Registerkarte Windows Setup, Unterpunkt Verbindungen/Details/PC-Direktverbindung nach. (Unter XP wählen Sie Start/Programme/Zubehör/Kommunikation/Assistent für neue Verbindungen, dann Eine erweiterte Verbindung einrichten und schließlich Verbindung direkt mit anderem Computer herstellen.) Wenn Sie das Programm zum ersten Mal starten, hilft Ihnen ein Assistent bei der Konfiguration. Wählen Sie im ersten Bildschirm die Option Gastcomputer und bestätigen Sie Ihre Auswahl mit Weiter. Im nächsten Dialog müssen Sie die serielle Schnittstelle angeben, an der Sie das Nullmodemkabel angeschlossen haben. Der letzte Bildschirm fordert Sie auf, den Hostcomputer zu konfigurieren. Wenn Sie dort auf Fertig stellen klicken, wird sofort versucht eine Verbindung aufzubauen, weshalb Sie nun erst den pppd auf Linux-Seite starten müssen. Geben Sie ein:

pppd /dev/ttyS0 nodetach

(Wenn Sie nicht die erste serielle Schnittstelle verwenden, ist die Gerätedatei entsprechend anzupassen.) Die Option "nodetach" bewirkt, dass der pppd nicht als Daemon im Hintergrund läuft, so dass Sie seine Meldungen verfolgen können. Klicken Sie im Windows-Assistenten nun auf Fertig stellen. Nach einigen Sekunden sollte sich Ihnen ein Anblick wie in Abbildung 1 bieten.

Abbildung 1: Windows hat eine PC-Direktverbindung zum Linux-Rechner hergestellt

Unter Linux können Sie die Aktivitäten in dem Terminal-Fenster verfolgen, in dem Sie den pppd gestartet haben.

[andi@gemini andi]$ pppd /dev/ttyS0 nodetach
Serial connection established.
Using interface ppp0
Connect: ppp0 <--> /dev/ttyS0
local  IP address 192.168.0.1
remote IP address 192.168.1.1
CCP terminated by peer
Compression disabled by peer.

Ob tatsächlich Daten übertragen werden, können Sie mit

ping -c 4 $IP-NUMMER

in einem xterm bzw. der MS-DOS-Eingabeaufforderung (unter XP schlicht "Eingabeaufforderung" genannt) testen. "$IP-NUMMER" steht dabei für die IP-Adresse des jeweils anderen Rechners. Unter Windows benötigen Sie den Parameter -c 4 nicht, da ping dort standardmäßig nur vier Datenpakete verschickt. In der Ausgabe des Befehls ist folgende Zeile interessant:

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

Damit wissen Sie, dass der Datenaustausch funktioniert und Sie sich um die Feinheiten kümmern können.

Gut umgerührt

Trennen Sie die Verbindung, indem Sie unter Windows im PC-Direktverbindungsfenster auf Schließen klicken. Damit Sie sich nicht die langen IP-Adressen merken müssen, passen Sie die hosts-Dateien der beiden Rechner an. Sie finden sie unter Linux im Verzeichnis /etc, unter Windows existiert eine Vorlage namens hosts.sam im Windows-Verzeichnis, die Sie unter dem Namen hosts abspeichern. Die Dateien könnten folgendermaßen aussehen:

#hosts Linux
127.0.0.1       gemini.localdomain       localhost
192.168.1.1     oemcomputer.localdomain  oemcomputer
#hosts Windows
127.0.0.1       oemcomputer.localdomain  localhost
192.168.0.1     gemini.localdomain       gemini

Unter Windows XP gehört die hosts-Datei übrigens in das Verzeichnis c:\windows\system32\drivers\etc\.

Stellen Sie erneut eine Verbindung her und wiederholen Sie den Verbindungstest mit

ping $RECHNERNAME

wobei Sie die Kurzform des Namens benutzen können. Erscheint in der Ausgabe 0% packet loss wissen Sie, dass auch die Namensauflösung funktioniert.

Um nun die Dienste des Linux-Rechners nutzen zu können, bedarf es auf Windows-Seite noch einer Anpassung. Wollen Sie mit dem Internet Explorer auf Ihren Linux-Web-Server zugreifen, wird der IE versuchen, eine DFÜ-Verbindung zu Ihrem Provider aufzubauen. Das können Sie dadurch verhindern, dass Sie unter Start/Einstellungen/Systemsteuerung/Internetoptionen auf der Registerkarte Verbindungen den Punkt Keine Verbindung wählen aktivieren. Außerdem müssen Sie sich auf eine Windows-Fehlermeldung gefasst machen, welche kurz nach dem Verbindungsaufbau erscheint. Windows hat dann festgestellt, dass auf dem Server keine Freigaben existieren, und fordert Sie auf, den Namen des Host-Computers einzugeben, um nochmal zu suchen. Sie können den Dialog unbesorgt per Klick auf Abbrechen schließen.

Unter Linux ist Ihnen vielleicht schon aufgefallen, dass nach dem Verbindungsaufbau vermehrt Fehlermeldungen in der Datei /var/log/syslog auftauchen. Dabei handelt es sich um Fehlermeldungen von Diensten, die über das Skript /etc/ppp/ip-up gestartet werden und normalerweise so nützliche Dinge tun, wie Ihre Post zu verschicken oder News zu holen. Um die Zuverlässigkeit dieser Dienste nicht zu beeinflussen - eventuell gibt Ihr MTA nach mehreren vergeblichen Versuchen seine Bemühungen auf - ist es nötig, die Datei ip-up anzupassen. Da die Distributoren davor warnen, diese Datei direkt zu bearbeiten, legen Sie vorher eine Sicherheitskopie an.

cp /etc/ppp/ip-up /etc/ppp/ip-up.bak

Die vom pppd angelegte Lock-Datei hilft uns dabei, die Ausführung von ip-up zu verhindern. Dazu wird der ursprüngliche Inhalt der Datei ip-up in einen "if"-Block eingeschlossen, der die "Internet-Befehle" nur dann zur Ausführung kommen lässt, wenn die Verbindung nicht über die serielle Schnittstelle hergestellt wird, an der das Nullmodemkabel hängt. In dem Beispiel in Listing 2 erkennen Sie, welche Ergänzungen vorzunehmen sind. Fügen Sie diese nach den mit "#" beginnenden Kommentarzeilen Ihres Distributors, aber vor den Skriptbefehlen ein. Wichtig ist auch, dass Sie das fi ganz am Ende des Skripts nicht vergessen, da es den eingefügten "if"-Block schließt. Beachten Sie, dass Sie die serielle Schnittstelle in der mit "if" beginnenden Zeile an Ihre Gegebenheiten anpassen müssen.

Listing 2

Die angepasste Datei /etc/ppp/ip-up

# wenn ein Lock File (LCK..ttyS0) für die Schnittstelle des
# Nullmodemkabels existiert, beende das Skript
if [ -f /var/lock/LCK..ttyS0 ]
then
        exit 0
# sonst führe das ursprüngliche Skript aus
else
        URSPRÜNGLICHER INHALT DER DATEI
fi

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • out of the box
    Es gibt Tausende Tools und Utilities für Linux. "out of the box" pickt sich die Rosinen raus und stellt jeden Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten. Dem Schwerpunktthema dieses Heftes folgend weichen wir diesmal ein wenig von der Regel ab und widmen uns gleich einer ganzen Distribution – die allerdings von einer einzigen Diskette läuft: HAL91.
  • Roaring Penguin Software's DSL-Software
    Wessen Linux-Distribution noch kein komfortables DSL-Frontend mitbringt, der wird sich über das freie Konfigurations-Tool von Roaring Penguin Software freuen: DSL in wenigen Schritten.
  • out of the box
    Es gibt tausende Tools und Utilities für Linux. "out of the box" pickt sich die Rosinen raus und stellt pro Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten. Dieses Mal geht es um das Netzkopiertool ncp.
  • Palm Pilot und das ,,Point-to-Point``-Protokoll
    Sun Microsystems hat Recht: "Das Netzwerk ist der Computer". Wenn Sie irgendeine Rechenmaschine benutzen, ist es wahrscheinlich, dass Sie sie einmal Netzwerk-fähig machen müssen. Das gilt auch für einen PDA.
  • Dr. Linux
    Komplizierte Organismen, wie Linuxsysteme es nun einmal sind, haben so ihre ganz eigenen Wehwehchen. Dr. Linux beobachtet die Patienten in den Linux-Newsgruppen, stellt an dieser Stelle Rezepte für aktuelle Probleme aus und alternative Heilmethoden vor.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...