21.7. SLIP

Ursprünglich beigetragen von Satoshi Asami. Mit Beiträgen von Guy Helmer und Piero Serini.

21.7.1. Einrichtung eines SLIP-Clients

Im Folgenden wird ein Weg beschrieben, SLIP auf einer FreeBSD-Maschine für ein Netzwerk mit festen Hostnamen einzurichten. Bei einer dynamischen Zuweisung des Hostnamens (das heißt wenn sich Ihre Adresse bei jeder Einwahl ändert) wird die Einrichtung wahrscheinlich etwas komplexer aussehen.

Bestimmen Sie zuerst, an welcher seriellen Schnittstelle Ihr Modem angeschlossen ist. Viele Leute erzeugen einen symbolischen Link, wie etwa /dev/modem, der auf den wirklichen Gerätenamen /dev/cuaaN verweist. Damit ist es Ihnen möglich, vom eigentlichen Gerätenamen zu abstrahieren, sollten Sie das Modem einmal an eine andere Schnittstelle anschließen müssen. Es kann ziemlich umständlich sein, wenn Sie eine viele Dateien in /etc und .kermrc-Dateien, die über das ganze System verstreut sind, anpassen müssen!

Anmerkung: /dev/cuaa0 ist COM1, cuaa1 ist COM2, etc.

Stellen Sie sicher, dass Folgendes in Ihrer Kernelkonfigurationsdatei steht:

pseudo-device   sl      1

Dieses pseudo-device ist im GENERIC Kernel enthalten. Falls es von Ihnen nicht gelöscht wurde, sollten Sie hier kein Problem haben.

21.7.1.1. Dinge, die Sie nur einmal erledigen müssen

  1. Tragen Sie Ihren lokalen Rechner, das Gateway, sowie die Nameserver in Ihre Datei /etc/hosts ein. Diese Datei sieht bei mir so aus:

    127.0.0.1               localhost loghost
    136.152.64.181          water.CS.Example.EDU water.CS water
    136.152.64.1            inr-3.CS.Example.EDU inr-3 slip-gateway
    128.32.136.9            ns1.Example.EDU ns1
    128.32.136.12           ns2.Example.EDU ns2
    
  2. Vergewissern Sie sich, dass in der Datei /etc/host.conf hosts vor bind steht, wenn Sie ein System vor FreeBSD 5.0 verwenden. Ab FreeBSD 5.0 wird die Datei /etc/nsswitch.conf verwendet, in deren hosts-Zeile files vor dns stehen sollte. Ohne diese Reihenfolge könnten lustige Dinge passieren.

  3. Editieren Sie die Datei /etc/rc.conf.

    1. Ihren Hostnamen geben Sie an, indem Sie folgende Zeile bearbeiten:

      hostname="myname.my.domain"
      

      Hier sollte der vollständige Internethostname Ihres Rechners angegeben werden.

    2. Fügen Sie sl0 zur Liste der Netzwerkinterfaces hinzu, indem Sie die folgende Zeile abändern:

      network_interfaces="lo0"
      

      wird zu:

      network_interfaces="lo0 sl0"
      
    3. Legen Sie die Startwerte von sl0 fest, indem Sie die Zeile ergänzen:

      ifconfig_sl0="inet ${hostname} slip-gateway netmask 0xffffff00 up"
      
    4. Den Defaultrouter geben Sie durch die Modifikation folgender Zeile an:

      defaultrouter="NO"
      

      wird zu:

      defaultrouter="slip-gateway"
      
  4. Erstellen Sie die Datei /etc/resolv.conf, die Folgendes enthält:

    domain CS.Example.EDU
    nameserver 128.32.136.9
    nameserver 128.32.136.12
    

    Wie Sie sehen, werden hiermit die Nameserver angegeben. Natürlich hängen die tatsächlichen Domainnamen und Adressen von Ihren Gegebenheiten ab.

  5. Legen Sie ein Passwort für root und toor (sowie für alle anderen Accounts die kein Passwort haben) fest.

  6. Starten Sie Ihren Rechner neu und überprüfen Sie, ob er mir dem richtigen Hostnamen startet.

21.7.1.2. Aufbau einer SLIP-Verbindung

  1. Wählen Sie sich ein, geben Sie slip und am Prompt den Namen Ihres Rechners sowie Ihr Passwort ein. Was Sie eingeben müssen, hängt von Ihren Gegebenheiten ab. Wenn Sie Kermit verwenden, können Sie ein Skript ähnlich dem Folgenden verwenden:

    # kermit setup
    set modem hayes
    set line /dev/modem
    set speed 115200
    set parity none
    set flow rts/cts
    set terminal bytesize 8
    set file type binary
    # The next macro will dial up and login
    define slip dial 643-9600, input 10 =>, if failure stop, -
    output slip\x0d, input 10 Username:, if failure stop, -
    output silvia\x0d, input 10 Password:, if failure stop, -
    output ***\x0d, echo \x0aCONNECTED\x0a
    

    Natürlich müssen Sie hier Ihren Hostnamen und Ihr Passwort eintragen. Wenn Sie das getan haben, können Sie am Kermit-Prompt einfach slip eingeben, um sich zu verbinden.

    Anmerkung: Es ist generell eine schlechte Idee, Ihr Passwort in einer unverschlüsselten Textdatei irgendwo im Dateisystem zu speichern. Tun Sie dies auf Ihr eigenes Risiko.

  2. Belassen Sie Kermit so (Sie können es mit Ctrl-z unterbrechen) und geben Sie als root ein:

    # slattach -h -c -s 115200 /dev/modem
    

    Wenn Sie mit ping Hosts auf der anderen Seite des Routers erreichen können, sind Sie verbunden! Wenn es nicht funktionieren sollte, können Sie versuchen -a statt -c als Argument für slattach zu verwenden.

21.7.1.3. Beenden der Verbindung

Um slattach zu beenden, geben Sie Folgendes ein:

# kill -INT `cat /var/run/slattach.modem.pid`

Beachten Sie, dass Sie root sein müssen, um dies durchführen zu können. Kehren Sie zu Kermit zurück (mit Hilfe von fg, wenn Sie es unterbrochen haben) und beenden Sie dieses Programm (q).

Die slattach Manual-Seite gibt an, dass ifconfig sl0 down verwendet werden soll, um das Interface zu deaktivieren, doch das scheint in meinem Fall keinen Unterschied zu machen. (ifconfig sl0 gibt dasselbe aus).

Es kann vorkommen, dass Ihr Modem sich weigert, das Trägersignal zu beenden (mein Modem macht dies oft). In diesem Fall starten Sie einfach Kermit und beenden es wieder. Beim zweiten Versuch geht es meist aus.

21.7.1.4. Lösungen bei Problemen

Wenn es nicht funktionieren sollte, können Sie mich gerne fragen. Über diese Dinge sind Benutzer bisher gestolpert:

  • Nicht -c oder -a in slattach verwenden (Das sollte nicht entscheidend sein, aber einige Benutzer haben berichtet, dass dies ihre Probleme löst).

  • Verwendung von s10 statt sl0 (bei einigen Schriftarten kann der Unterschied schwer zu erkennen sein).

  • Probieren Sie ifconfig sl0, um den Status Ihrer Schnittstelle abzufragen. Das Ergebnis könnte beispielsweise so aussehen:

    # ifconfig sl0
    sl0: flags=10<POINTOPOINT>
            inet 136.152.64.181 --> 136.152.64.1 netmask ffffff00
    
  • Wenn ping die Fehlermeldung “no route to host” ausgibt, kann die Routingtabelle falsch sein. Die Routen können Sie sich mit dem Kommando netstat -r ansehen:

    # netstat -r
    Routing tables
    Destination      Gateway            Flags     Refs     Use  IfaceMTU    Rtt    Netmasks:
    
    (root node)
    (root node)
    
    Route Tree for Protocol Family inet:
    (root node) =>
    default          inr-3.Example.EDU  UG          8   224515  sl0 -      -
    localhost.Exampl localhost.Example. UH          5    42127  lo0 -       0.438
    inr-3.Example.ED water.CS.Example.E UH          1        0  sl0 -      -
    water.CS.Example localhost.Example. UGH        34 47641234  lo0 -       0.438
    (root node)
    

    Die Zahlen im Beispiel stammen von einer recht ausgelasteten Maschine. Die Zahlen auf Ihrem System werden, je nach Netzaktivität, von den gezeigten abweichen.

21.7.2. Einrichtung eines SLIP-Servers

Dieses Dokument bietet Empfehlungen, wie Sie Ihr FreeBSD-System als SLIP-Server einrichten. Typischerweise bedeutet dies, Ihr System so zu, konfigurieren, dass beim Login automatisch eine Verbindung für entfernte SLIP-Clients aufgebaut wird.

21.7.2.1. Voraussetzungen

Dieser Abschnitt ist ausgesprochen technischer Natur, weshalb Hintergrundwissen erforderlich ist. Wir gehen davon aus, dass Sie mit dem TCP/IP Protokoll, insbesondere mit Netzwerk- und Rechneradressierung, Netzwerkmasken, Subnetzen, Routing und Routingprotokollen, wie RIP, vertraut sind. Die Konfiguration von SLIP-Diensten auf einem Einwählserver erfordert die Kenntnis dieser Konzepte. Wenn Sie damit nicht vertraut sein sollten, lesen Sie bitte Craig Hunt's TCP/IP Network Administration publiziert von O'Reilly & Associates, Inc. (ISBN Nummer 0-937175-82-X) oder die Bücher von Douglas Comer über das TCP/IP Protokoll.

Wir gehen außerdem davon aus, dass Sie Ihr(e) Modem(s) eingerichtet haben und die entsprechenden Systemdateien so konfiguriert haben, dass Logins durch Ihr Modem zugelassen sind. Wenn Sie Ihr System dafür noch nicht vorbereitet haben, sehen Sie sich bitte das Tutorium zur Konfiguration von Einwähldiensten an. Wenn Sie einen WWW-Browser zur Verfügung haben, schauen Sie in der Liste der Tutorien unter http://www.FreeBSD.org/docs.html nach. Sie können auch die Manual-Seiten sio(4) für Informationen zum Gerätetreiber der seriellen Schnittstelle ttys(5), gettytab(5), getty(8), & init(8) für Informationen zu Rate ziehen, die benötigt werden, um das System so zu konfigurieren, dass Logins über ein Modem akzeptiert werden. stty(1) bietet Informationen zur Einstellung der Parameter der seriellen Schnittstelle (wie beispielsweise clocal für direkt angeschlossene serielle Geräte).

21.7.2.2. Ein kurzer Überblick

Mit der normal verwendeten Konfiguration funktioniert der FreeBSD-SLIP-Server folgendermaßen: Ein SLIP-Benutzer wählt einen FreeBSD-SLIP-Server an und meldet sich mit einer speziellen SLIP-Login-ID ein, wobei /usr/sbin/sliplogin als Shell dieses besonderen Accounts dient. Das Programm sliplogin durchsucht die Datei /etc/sliphome/slip.hosts nach einer passenden Zeile für diesen Account. Falls ein Treffer erzielt wird, verbindet es den seriellen Anschluss mit einem verfügbaren SLIP-Interface und führt das Shellskript /etc/sliphome/slip.login aus, um das SLIP-Interface zu konfigurieren.

21.7.2.2.1. Ein Beispiel für ein Login eines SLIP-Servers

Wenn beispielsweise die Kennung eines SLIP-Benutzers, Shelmerg wäre, könnte der Eintrag des Benutzers Shelmerg in der Datei /etc/master.passwd etwa so aussehen:

Shelmerg:password:1964:89::0:0:Guy Helmer - SLIP:/usr/users/Shelmerg:/usr/sbin/sliplogin

Wenn sich Shelmerg anmeldet, wird sliplogin die Datei /etc/sliphome/slip.hosts nach einer übereinstimmenden Benutzerkennung durchsuchen. So könnte etwa folgende Zeile in /etc/sliphome/slip.hosts stehen:

Shelmerg        dc-slip sl-helmer       0xfffffc00       autocomp

sliplogin wird die passende Zeile finden, den seriellen Anschluss mit dem nächsten verfügbaren SLIP-Interface verbinden und dann /etc/sliphome/slip.login wie hier dargestellt ausführen:

/etc/sliphome/slip.login 0 19200 Shelmerg dc-slip sl-helmer 0xfffffc00 autocomp

Wenn alles gut läuft, wird /etc/sliphome/slip.login ein ifconfig für das SLIP-Interface durchführen, mit dem sich sliplogin verbunden hat (in obigem Beispiel ist das slip 0, der als erster Parameter in der Liste an slip.login übergeben wurde), um die lokale IP-Adresse (dc-slip), die entfernte IP-Adresse (sl-helmer), die Netzmaske des SLIP-Interface (0xfffffc00) und alle zusätzlichen Optionen (autocomp) festzulegen. Wenn etwas schief laufen sollte, bietet, sliplogin normalerweise informative Meldungen durch den Syslog daemon, der die Meldungen standardmäßig nach /var/log/messages schreibt (sehen Sie hierzu auch in den Manual-Seiten für syslogd(8) und syslog.conf(5) nach). Überprüfen Sie vielleicht auch /etc/syslog.conf, um zu sehen was syslogd aufzeichnet und wohin es aufgezeichnet wird.

OK, genug der Beispiele - lassen Sie uns ein System einrichten.

21.7.2.3. Kernelkonfiguration

Die FreeBSD Standardkernels haben normalerweise bereits zwei SLIP-Interfaces definiert (sl0 und sl1). Sie können netstat -i verwenden, um zu überprüfen, ob diese beiden Interfaces in Ihrem Kernel definiert sind.

Ein Beispiel für die Ausgabe von netstat -i:

Name  Mtu   Network     Address            Ipkts Ierrs    Opkts Oerrs  Coll
ed0   1500  <Link>0.0.c0.2c.5f.4a         291311     0   174209     0   133
ed0   1500  138.247.224 ivory             291311     0   174209     0   133
lo0   65535 <Link>                            79     0       79     0     0
lo0   65535 loop        localhost             79     0       79     0     0
sl0*  296   <Link>                             0     0        0     0     0
sl1*  296   <Link>                             0     0        0     0     0

Die sl0 und sl1 Interfaces, die von netstat -i angezeigt werden, weisen darauf hin, dass zwei SLIP-Interfaces in den Kernel eingebaut sind. (Der Asteriskus nach sl0 und sl1 zeigt an, dass diese Interfaces deaktiviert sind.)

Der FreeBSD-Standardkernel ist jedoch nicht so konfiguriert, dass Pakete weitergeleitet werden (standardmäßig wird sich ihre FreeBSD-Maschine nicht als Router verhalten), aufgrund von Internet RFC Maßgaben für Internet Hosts (vergleichen Sie hierzu RFCs 1009 [Requirements for Internet Gateways], 1122 [Requirements for Internet Hosts - Communication Layers], und vielleicht auch 1127 [A Perspective on the Host Requirements RFCs]). Wenn Sie Ihren FreeBSD-SLIP-Server als Router einsetzen möchten, müssen Sie die Datei editieren /etc/rc.conf und und den Wert der Variable gateway_enable auf YES setzen.

Danach sollten Sie Ihren Rechner neu starten, damit die neuen Einstellungen wirksam werden.

Sie werden im unteren Teil der Konfigurationsdatei des Standardkernels (/sys/i386/conf/GENERIC) die folgende Zeile finden:

pseudo-device sl 2

Dies ist die Zeile, in der die Anzahl der SLIP-Devices festgelegt wird, die im Kernel verfügbar sind. Die Zahl am Ende der Zeile gibt die maximale Anzahl an SLIP-Verbindungen an, die gleichzeitig betrieben werden können.

Weitere Informationen zur Konfiguration Ihres Kernels, finden Sie in Kapitel 8 dieses Handbuches.

21.7.2.4. Konfiguration des Sliplogin

Wie bereits erwähnt, gibt es im Verzeichnis /etc/sliphome drei Dateien, die Teil der Konfiguration für /usr/sbin/sliplogin sind (sliplogin ist in sliplogin(8) beschrieben): slip.hosts, definiert die SLIP-Benutzer sowie deren IP-Adresse; slip.login, womit normalerweise nur das SLIP-Interface konfiguriert wird und (optional) slip.logout, womit die Auswirkungen von slip.login rückgängig gemacht werden, wenn die serielle Verbindung beendet wird.

21.7.2.4.1. Konfiguration der Datei slip.hosts

/etc/sliphome/slip.hosts enthält Zeilen, die mindestens vier durch Leerzeichen getrennte Elemente enthalten:

  • Login-Kennung des SLIP-Benutzers

  • Lokale Adresse (lokal für den SLIP-Server) der SLIP-Verbindung

  • Entfernte Adresse der SLIP-Verbindung

  • Netzwerkmaske

Die lokalen und entfernten Adressen können Hostnamen sein, deren zugehörige IP-Adresse durch die Datei /etc/hosts oder mithilfe des Domain Name Service aufgelöst wird. Wie die Adressen aufgelöst werden, hängt auf FreeBSD 5.X von den Einstellungen in /etc/nsswitch.conf und auf FreeBSD 4.X von den Einstellungen in /etc/host.conf ab. Die Netzwerkmaske kann ein Name sein, der durch eine Suche in /etc/networks aufgelöst werden kann. Auf einem Beispielsystem, würde die Datei /etc/sliphome/slip.hosts folgendermaßen aussehen:

#
# login local-addr      remote-addr     mask            opt1    opt2
#                                               (normal,compress,noicmp)
#
Shelmerg  dc-slip       sl-helmerg      0xfffffc00      autocomp

Am Ende der Zeile stehen eine oder mehrere der folgenden Optionen.

  • normal - keine Header-Kompression

  • compress - Header werden komprimiert

  • autocomp - Header werden komprimiert, sofern die Gegenstelle es erlaubt

  • noicmp - ICMP-Pakete werden deaktiviert (“ping” Pakete werden unterdrückt, statt die Ihnen zur Verfügung stehende Bandbreite aufzubrauchen)

Die Auswahl von lokalen und entfernten Adressen für Ihre SLIP-Verbindung, hängt davon ab, ob Sie ein TCP/IP-Subnetz reservieren oder ob Sie “proxy ARP” auf Ihrem SLIP-Server verwenden (es handelt sich nicht um “echtes” proxy ARP, aber dieser Begriff wird in diesem Abschnitt verwendet, um diesen Sachverhalt zu beschreiben). Wenn Sie nicht sicher sind, welche Methode Sie wählen sollen oder wie IP-Adressen zugewiesen werden, lesen Sie bitte in den Büchern zum Thema TCP/IP nach, die als Voraussetzungen für SLIP (Abschnitt 21.7.2.1) angegeben worden sind oder fragen Sie Ihren IP-Netzwerkadministrator.

Wenn Sie für Ihre SLIP-Clients ein eigenes Subnetz verwenden, werden Sie die Nummer des Subnetzes aus der Ihnen zugewiesenen IP-Netzwerknummer zuteilen und die IP-Adressen Ihrer SLIP-Clients aus diesem Subnetz verwenden müssen. Dann können Sie eine statische Route zu Ihrem SLIP-Subnetz über Ihren SLIP-Server auf Ihren nächsten IP-Router konfigurieren.

Wenn Sie aber andererseits die “proxy ARP” Methode verwenden möchten, werden Sie die IP-Adressen Ihrer SLIP-Clients aus dem Subnetz Ihres SLIP-Server nehmen und die Skripte /etc/sliphome/slip.login /etc/sliphome/slip.logout anpassen müssen, damit diese arp(8) zur Verwaltung der proxy-ARP-Einträge in der ARP-Tabelle Ihres SLIP-Servers verwenden

21.7.2.4.2. Konfiguration von slip.login

Eine typische Datei /etc/sliphome/slip.login sieht folgendermaßen aus:

#!/bin/sh -
#
#       @(#)slip.login  5.1 (Berkeley) 7/1/90

#
# generic login file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6

Diese slip.login Datei führt lediglich ifconfig für das entsprechende SLIP-Interface mit den lokalen und entfernten Adressen und der Netzwerkmaske des SLIP-Interface aus.

Wenn Sie sich dafür entschieden haben, die “proxy ARP” Methode zu verwenden (statt eines separaten Subnetzes für Ihre SLIP-Clients) sollte Ihre Datei /etc/sliphome/slip.login etwa folgendermaßen aussehen:

#!/bin/sh -
#
#       @(#)slip.login  5.1 (Berkeley) 7/1/90

#
# generic login file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 inet $4 $5 netmask $6
# Answer ARP requests for the SLIP client with our Ethernet addr
/usr/sbin/arp -s $5 00:11:22:33:44:55 pub

Die zusätzliche Zeile arp -s $5 00:11:22:33:44:55 pub in der Datei slip.login erzeugt einen ARP-Eintrag in der ARP-Tabelle des SLIP-Servers. Dieser ARP-Eintrag veranlasst den SLIP-Server mit seiner Ethernet MAC-Adresse zu antworten, sobald ein anderer IP-Knoten im Ethernet mit der IP-Adresse des SLIP-Clients Kontakt aufnehmen möchte.

Wenn Sie das Beispiel von oben verwenden, achten Sie darauf die Ethernet MAC-Adresse (00:11:22:33:44:55) durch die MAC-Adresse der Ethernetkarte Ihres Systems zu ersetzen. Sonst wird Ihr “proxy ARP” sicher nicht funktionieren! Sie können die MAC-Adresse Ihres SLIP-Servers herausfinden, indem Sie sich die Ausgabe von netstat -i ansehen. Die zweite Zeile der Ausgabe sollte ungefähr aussehen wie diese hier:

ed0   1500  <Link>0.2.c1.28.5f.4a         191923 0   129457     0   116

Dies zeigt an, dass die Ethernet MAC-Adresse dieses Systems 00:02:c1:28:5f:4a lautet. Die Punkte in der Ethernet MAC-Adresse, die von netstat -i ausgegeben wird, müssen durch Doppelpunkte ersetzt werden. Bei jeder einstelligen Hexadezimalzahl sollten außerdem führende Nullen hinzugefügt werden, um die Adresse in die Form zu bringen, die von arp(8) verlangt wird. Die Manual-Seite von arp(8) bietet hierzu eine vollständige Übersicht.

Anmerkung: Wenn Sie die Dateien /etc/sliphome/slip.login und /etc/sliphome/slip.logout erstellen, müssen diese ausführbar gemacht werden (chmod 755 /etc/sliphome/slip.login /etc/sliphome/slip.logout), da sliplogin auf deren Ausführbarkeit angewiesen ist.

21.7.2.4.3. Konfiguration von slip.logout

Die Datei/etc/sliphome/slip.logout ist nicht zwingend erforderlich (außer Sie verwenden “proxy ARP”), aber falls Sie diese Datei erzeugen möchten, ist hier ein Beispiel für ein grundlegendes slip.logout Skript:

#!/bin/sh -
#
#       slip.logout

#
# logout file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down

Wenn Sie “proxy ARP” einsetzen, muss /etc/sliphome/slip.logout den ARP-Eintrag für den SLIP-Client löschen:

#!/bin/sh -
#
#       @(#)slip.logout

#
# logout file for a slip line.  sliplogin invokes this with
# the parameters:
#      1        2         3        4          5         6     7-n
#   slipunit ttyspeed loginname local-addr remote-addr mask opt-args
#
/sbin/ifconfig sl$1 down
# Quit answering ARP requests for the SLIP client
/usr/sbin/arp -d $5

arp -d $5 löscht den ARP-Eintrag, den die “proxy ARP” slip.login hinzufügte, als der SLIP-Client sich eingeloggt hatte.

Es soll nochmals darauf hingewiesen werden, dass für die Datei /etc/sliphome/slip.logout das Ausführungs-Bit gesetzt werden muss, nachdem die Datei erstellt worden ist (z.B. chmod 755 /etc/sliphome/slip.logout).

21.7.2.5. Überlegungen zum Routing

Wenn Sie nicht die “proxy ARP” Methode benutzen, um Datenpakete zwischen Ihren SLIP-Clients und dem Rest Ihres Netzwerkes (oder vielleicht dem Internet) zu routen, werden Sie wahrscheinlich statische Routen zu Ihrem nächsten Standardrouter hinzufügen müssen, um Pakete aus dem Subnetz Ihres SLIP-Clients über Ihren SLIP-Server weiterzuleiten.

21.7.2.5.1. Statische Routen

Das Hinzufügen von statischen Routen zu Ihrem nächsten Standardrouter kann problematisch sein (oder unmöglich, wenn Sie nicht die erforderliche Berechtigung haben...). Wenn Sie in Ihrer Organisation ein Netzwerk mit mehreren Routern haben, müssen einige Router, wie etwa die von Cisco und Proteon hergestellten, nicht nur mit der statischen Route zum SLIP-Subnetz konfiguriert werden, sondern es muss ihnen auch mitgeteilt werden, über welche statischen Routen sie andere Router informieren sollen. Daher ist einiges an Fachwissen und Problemlösungskompetenz erforderlich, um auf statischen Routen basierendes Routing erfolgreich einzurichten.

21.7.2.5.2. Der Einsatz von GateD®

Anmerkung: GateD® ist inzwischen proprietäre Software und steht der Öffentlichkeit nicht mehr als Sourcecode zur Verfügung (weitere Informationen hierzu sind auf der GateD Webseite zu finden). Dieser Abschnitt existiert lediglich, um die Rückwärtskompatibilität für diejenigen sicherzustellen, die noch eine ältere Version verwenden.

Eine Alternative zu dem aufwändigen Einsatz von statischen Routen ist die Installation von GateD auf Ihrem FreeBSD-SLIP-Server. GateD kann so konfiguriert werden, dass er die passenden Routingprotokolle (RIP/OSPF/BGP/EGP) verwendet, um die anderen Router über Ihr SLIP-Subnetz zu informieren. Sie müssen die Datei /etc/gated.conf erstellen, um GateD zu konfigurieren. Hier ist eine Beispieldatei, ähnlich derjenigen, die der Autor auf einem FreeBSD-SLIP-Server verwendet hat:

#
# gated configuration file for dc.dsu.edu; for gated version 3.5alpha5
# Only broadcast RIP information for xxx.xxx.yy out the ed Ethernet interface
#
#
# tracing options
#
traceoptions "/var/tmp/gated.output" replace size 100k files 2 general ;

rip yes {
  interface sl noripout noripin ;
  interface ed ripin ripout version 1 ;
  traceoptions route ;
} ;

#
# Turn on a bunch of tracing info for the interface to the kernel:
kernel {
  traceoptions remnants request routes info interface ;
} ;

#
# Propagate the route to xxx.xxx.yy out the Ethernet interface via RIP
#

export proto rip interface ed {
  proto direct {
      xxx.xxx.yy mask 255.255.252.0 metric 1; # SLIP connections
  } ;
} ;

#
# Accept routes from RIP via ed Ethernet interfaces

import proto rip interface ed {
  all ;
} ;

Die oben angegebene Beispieldatei gated.conf sendet Routinginformationen, die das SLIP-Subnetz xxx.xxx.yy betreffen, mit Hilfe von RIP zum Ethernet. Wenn Sie einen anderen Ethernet-Treiber als ed verwenden, werden Sie die Einträge, die sich auf ed beziehen, entsprechend abändern müssen. Mit dieser Beispieldatei wird auch die Aufzeichnung der Aktivitäten von GateD in der Datei /var/tmp/gated.output eingerichtet, was für eine eventuelle Fehlersuche nützlich sein kann. Sie können diese Option natürlich auch abschalten, wenn GateD bei Ihnen ohne Probleme läuft. Sie müssen xxx.xxx.yy noch durch die Netzwerkadresse Ihres SLIP-Subnetzes ersetzen (ändern Sie die Netzmaske im Abschnitt proto direct ebenfalls).

Wenn Sie GateD auf Ihrem System installiert und konfiguriert haben, müssen Sie die FreeBSD-Startskripten noch anweisen, GateD statt routed zu verwenden. Am einfachsten können Sie dies erreichen, indem Sie die Variablen router und router_flags in der Datei /etc/rc.conf entsprechend setzen. Die Manual-Seite für GateD bietet weitere Informationen zu den Kommandozeilenparametern.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.

Hosting by: Hurra Communications GmbH
Generated: 2007-01-26 17:56:55