20.6 Manuelle Netzwerkkonfiguration

Die manuelle Konfiguration der Netzwerksoftware sollte immer die letzte Alternative sein. Wir empfehlen, YaST zu benutzen. Die folgenden Hintergrundinformationen zur Netzwerkkonfiguration können Ihnen jedoch auch bei der Arbeit mit YaST behilflich sein.

Wenn der Kernel eine Netzwerkkarte erkennt und eine entsprechende Netzwerkschnittstelle erstellt, weist er dem Gerät einen Namen zu. Dieser richtet sich nach der Reihenfolge der Geräteerkennung bzw. nach der Reihenfolge, in der die Kernel-Module geladen werden. Die vom Kernel vergebenen Standardgerätenamen lassen sich nur in sehr einfachen oder überaus kontrollierten Hardwareumgebungen vorhersagen. Auf Systemen, auf denen es möglich ist, Hardware während der Laufzeit hinzuzufügen oder zu entfernen, oder die die automatische Konfiguration von Geräten zulassen, können vom Kernel über mehrere Neustarts hinaus keine stabilen Netzwerkgerätenamen erwartet werden.

Für die Systemkonfigurationstools sind jedoch dauerhafte (persistente) Schnittstellennamen erforderlich. Dieses Problem wird durch udev gelöst. udev führt eine Datenbank mit den bekannten Netzwerkschnittstellen. Das Programm teilt diesen Schnittstellen statt der vom Kernel zugewiesenen Namen persistente Namen zu und speichert diese in der Datenbank. Die udev-Datenbank mit den Netzwerkschnittstellen wird in der Datei /etc/udev/rules.d/70-persistent-net.rules gespeichert. Pro Zeile dieser Datei wird eine Netzwerkschnittstelle beschrieben und deren persistenter Name angegeben. Die zugewiesenen Namen können vom Systemadministrator im Eintrag NAME="" geändert werden. Nachdem udev ein Netzwerkgerät auf den konfigurierten Namen umbenannt hat, können Sie die Systemkonfiguration mittels des Kommandos ifup auf die Schnittstelle anwenden.

Tabelle 20-5 zeigt die wichtigsten an der Netzwerkkonfiguration beteiligten Skripten.

Tabelle 20-5 Skripten für die manuelle Netzwerkkonfiguration

Befehl

Funktion

if{up,down,status}

Die if*-Skripten starten vorhandene Netzwerkschnittstellen oder setzen den Status der angegebenen Schnittstelle zurück. Weitere Informationen hierzu finden Sie auf der Manualpage für den Befehl ifup.

rcnetwork

Mit dem Skript rcnetwork können alle Netzwerkschnittstellen oder nur eine bestimmte Netzwerkschnittstelle gestartet, gestoppt oder neu gestartet werden. Verwenden Sie rcnetwork stop zum Anhalten, rcnetwork start zum Starten und rcnetwork restart zum Neustart von Netzwerkschnittstellen. Wenn Sie nur eine Netzwerkschnittstelle stoppen, starten oder neu starten möchten, geben Sie nach dem jeweiligen Kommando den Namen der Schnittstelle ein, zum Beispiel rcnetwork restart eth0. Wenn keine Schnittstelle angegeben ist, werden die Firewall und alle Netzwerkschnittstellen gestoppt, gestartet bzw. neu gestartet. Das Kommando rcnetwork status zeigt den Status und die IP-Adressen der Netzwerkschnittstellen an. Außerdem gibt das Kommando an, ob auf den Schnittstellen ein DHCP-Client ausgeführt wird. Mit rcnetwork stop-all-dhcp-clients und rcnetwork restart-all-dhcp-clients können Sie die auf den Netzwerkschnittstellen ausgeführten DHCP-Clients stoppen und wieder starten.

Weitere Informationen zu udev und persistenten Gerätenamen finden Sie in Abschnitt 17.0, Gerätemanagemet über dynamischen Kernel mithilfe von udev.

20.6.1 Konfigurationsdateien

Dieser Abschnitt bietet einen Überblick über die Netzwerkkonfigurationsdateien und erklärt ihren Zweck sowie das verwendete Format.

/etc/sysconfig/network/ifcfg-*

Diese Dateien enthalten die Konfigurationsdaten für Netzwerkschnittstellen. Sie enthalten Informationen wie den Startmodus und die IP-Adresse. Mögliche Parameter sind auf der man-Seite für den Befehl ifup beschrieben. Wenn nur eine einzelne allgemeine Einstellung nur für eine bestimmte Schnittstelle verwendet werden soll, können außerdem alle Variablen aus den Dateien dhcp, wireless und config in den ifcfg-*-Dateien verwendet werden.

/etc/sysconfig/network/{config, dhcp, wireless}

Die Datei config enthält allgemeine Einstellungen für das Verhalten von ifup, ifdown und ifstatus. dhcp enthält DHCP-Einstellungen und wireless Einstellungen für Wireless-LAN-Karten. Die Variablen in allen drei Konfigurationsdateien sind kommentiert und können auch in den ifcfg-*-Dateien verwendet werden, wo sie mit einer höheren Priorität verarbeitet werden.

/etc/sysconfig/network/{routes,ifroute-*}

Hier wird das statische Routing von TCP/IP-Paketen festgelegt. Alle statischen Routen, die für verschiedenen Systemaufgaben benötigt werden, können in die Datei /etc/sysconfig/network/routes eingegeben werden: Routen zu einem Host, Routen zu einem Host über Gateways und Routen zu einem Netzwerk. Definieren Sie für jede Schnittstelle, die individuelles Routing benötigt, eine zusätzliche Konfigurationsdatei: /etc/sysconfig/network/ifroute-*. Ersetzen Sie * durch den Namen der Schnittstelle. Die folgenden Einträge werden in die Routing-Konfigurationsdatei aufgenommen:

# Destination     Dummy/Gateway     Netmask            Device
#
127.0.0.0         0.0.0.0           255.255.255.0      lo
204.127.235.0     0.0.0.0           255.255.255.0      eth0
default           204.127.235.41    0.0.0.0            eth0
207.68.156.51     207.68.145.45     255.255.255.255    eth1
192.168.0.0       207.68.156.51     255.255.0.0        eth1

Das Routenziel steht in der ersten Spalte. Diese Spalte kann die IP-Adresse eines Netzwerks oder Hosts bzw., im Fall von erreichbaren Namenservern, den voll qualifizierten Netzwerk- oder Hostnamen enthalten.

Die zweite Spalte enthält das Standard-Gateway oder ein Gateway, über das der Zugriff auf einen Host oder ein Netzwerk erfolgt. Die dritte Spalte enthält die Netzmaske für Netzwerke oder Hosts hinter einem Gateway. Die Maske 255.255.255.255 gilt beispielsweise für einen Host hinter einem Gateway.

Die vierte Spalte ist nur für Netzwerke relevant, die mit dem lokalen Host verbunden sind, z. B. Loopback-, Ethernet-, ISDN-, PPP- oder Dummy-Geräte. In diese Spalte muss der Gerätename eingegeben werden.

In einer (optionalen) fünften Spalte kann der Typ einer Route angegeben werden. Nicht benötigte Spalten sollten ein Minuszeichen - enthalten, um sicherzustellen, dass der Parser den Befehl korrekt interpretiert. Weitere Informationen hierzu finden Sie auf der Manualpage für den Befehl routes(5).

/etc/resolv.conf

In dieser Datei wird die Domäne angegeben, zu der der Host gehört (Schlüsselwort search). Ebenfalls aufgeführt ist der Status des Namenservers, auf den der Zugriff erfolgt (Schlüsselwort nameserver). In der Datei können mehrere Domänennamen angegeben werden. Bei der Auflösung eines Namens, der nicht voll qualifiziert ist, wird versucht, einen solchen zu generieren, indem die einzelnen search-Einträge angehängt werden. Mehrere Namenserver können in mehreren Zeilen angegeben werden, von denen jede mit nameserver beginnt. Kommentaren werden #-Zeichen vorangestellt. Beispiel 20-5 zeigt, wie /etc/resolv.conf aussehen könnte.

Jedoch darf /etc/resolv.conf nicht manuell bearbeitet werden. Stattdessen wird es vom Skript netconfig generiert. Bearbeiten Sie zum Definieren der statischen DNS-Konfiguration ohne YaST manuell die entsprechenden Variablen in der Datei /etc/sysconfig/network/config: NETCONFIG_DNS_STATIC_SEARCHLIST (Liste von DNS-Domänennamen für die Suche nach Hostnamen), NETCONFIG_DNS_STATIC_SERVERS (Liste von Namenserver-IP-Adressen für die Suche nach Hostnamen), NETCONFIG_DNS_FORWARDER (definiert den Namen des DNS-Forwarder, der konfiguriert werden muss). Zum Deaktivieren der DNS-Konfiguration mit netconfig setzen Sie NETCONFIG_DNS_POLICY=''. Weitere Informationen über netconfig finden Sie auf man 8 netconfig.

Beispiel 20-5 /etc/resolv.conf

# Our domain
search example.com
#
# We use dns.example.com (192.168.1.116) as nameserver
nameserver 192.168.1.116

Einige Dienste, zum Beispiel pppd (wvdial), ipppd (isdn), dhcp (dhcpcd und dhclient) und pcmcia bearbeiten die Datei /etc/resolv.conf über das Skript modify_resolvconf. Wenn die Datei /etc/resolv.conf von diesem Skript vorübergehend geändert wurde, enthält sie einen vordefinierten Kommentar mit Informationen zu dem Dienst, der sie geändert hat, dem Speicherort, an dem die ursprüngliche Datei gesichert wurde, sowie Informationen dazu, wie der automatische Änderungsmechanismus deaktiviert werden kann. Wenn /etc/resolv.conf mehrmals geändert wird, enthält die Datei die Änderungen in verschachtelter Form. Diese können auf saubere Weise auch dann wieder rückgängig gemacht werden, wenn dieser Umkehrvorgang in einer anderen Reihenfolge ausgeführt wird, als die Änderungen vorgenommen wurden. Dienste, die diese Flexibilität möglicherweise benötigen, sind beispielsweise isdn und pcmcia.

Wenn ein Dienst auf unnormale Weise beendet wurde, kann die ursprüngliche Datei mit modify_resolvconf wiederhergestellt werden. Zudem wird beispielsweise nach einem Systemabsturz beim Booten des Systems ein Test ausgeführt, um zu ermitteln, ob eine unsaubere, geänderte resolv.conf vorhanden ist (z. B. durch einen Systemabsturz), in welchem Fall die ursprüngliche (unveränderte) resolv.conf wiederhergestellt wird.

YaST ermittelt mit dem Befehl modify_resolvconf check, ob resolv.conf geändert wurde, und warnt den Benutzer, dass Änderungen nach dem Wiederherstellen der Datei verloren gehen. Abgesehen davon verlässt sich YaST nicht auf modify_resolvconf , d. h. die Auswirkungen der Änderung von resolv.conf mit YaST sind identisch mit allen anderen manuellen Änderungen. Die Änderungen sind in beiden Fällen permanent. Die von den genannten Diensten vorgenommenen Änderungen sind nur temporärer Natur.

/sbin/netconfig

netconfig ist ein modulares Tool zum Verwalten zusätzlicher Netzwerkkonfigurationseinstellungen. Es führt statisch definierte Einstellungen mit Einstellungen zusammen, die von automatischen Konfigurationsmechanismen wie dhcp oder ppp gemäß einer vordefinierten Richtlinie bereitgestellt wurden. Die erforderlichen Änderungen werden dem System zugewiesen, indem die netconfig-Module aufgerufen werden, die für das Ändern einer Konfigurationsdatei und den Neustart eines Service oder eine ähnliche Aktion verantwortlich sind.

netconfig erkennt drei Hauptaktionen:

modify

Das Kommando netconfig modify ändert die aktuelle Schnittstellen- und Service-spezifischen dynamischen Einstellungen und aktualisiert die Netzwerkkonfiguration. Netconfig liest Einstellungen aus der Standardeingabe oder einer Datei, die mit der Option --lease-file Dateiname angegeben wurde, und speichert sie intern bis zu einem System-Reboot oder der nächsten Änderungs- oder Löschaktion. Bereits vorhandene Einstellungen für dieselbe Schnittstellen- und Service-Kombination werden überschrieben. Die Schnittstelle wird durch den Parameter -i Schnittstellenname angegeben. Der Service wird durch den Parameter -s Servicename angegeben.

Entfernen

Das Kommando netconfig remove entfernt die dynamischen Einstellungen, die von einer Änderungsaktion für die angegebene Schnittstellen- und Service-Kombination bereitgestellt wurden, und aktualisiert die Netzwerkkonfiguration. Die Schnittstelle wird durch den Parameter -i Schnittstellenname angegeben. Der Service wird durch den Parameter -s Servicename angegeben.

Aktualisieren

Das Kommando netconfig update aktualisiert die Netzwerkkonfiguration mit den aktuellen Einstellungen. Dies ist nützlich, wenn sich die Richtlinie oder die statische Konfiguration geändert hat.

Die Einstellungen für die netconfig-Richtlinie und die statische Konfiguration werden entweder manuell oder mithilfe von using YaST oder NetworkManager in der Datei /etc/sysconfig/network/config definiert. Die dynamischen Konfigurationseinstellungen von Tools zur automatischen Konfiguration wie dhcp oder ppp werden von diesen Tools mit den Aktionen netconfig modify und netconfig remove direkt bereitgestellt.

Weitere Informationen über netconfig finden Sie auf man 8 netconfig.

/etc/hosts

In dieser Datei werden, wie in Beispiel 20-6 gezeigt, IP-Adressen zu Hostnamen zugewiesen. Wenn kein Namenserver implementiert ist, müssen alle Hosts, für die IP-Verbindungen eingerichtet werden sollen, hier aufgeführt sein. Geben Sie für jeden Host in die Datei eine Zeile ein, die aus der IP-Adresse, dem voll qualifizierten Hostnamen und dem Hostnamen besteht. Die IP-Adresse muss am Anfang der Zeile stehen und die Einträge müssen durch Leerzeichen und Tabulatoren getrennt werden. Kommentaren wird immer das #-Zeichen vorangestellt.

Beispiel 20-6 /etc/hosts

127.0.0.1 localhost
192.168.2.100 jupiter.example.com jupiter
192.168.2.101 venus.example.com venus

/etc/networks

Hier werden Netzwerknamen in Netzwerkadressen umgesetzt. Das Format ähnelt dem der hosts-Datei, jedoch stehen hier die Netzwerknamen vor den Adressen. Weitere Informationen hierzu finden Sie unter Beispiel 20-7.

Beispiel 20-7 /etc/networks

loopback     127.0.0.0
localnet     192.168.0.0

/etc/host.conf

Diese Datei steuert das Auflösen von Namen, d. h. das Übersetzen von Host- und Netzwerknamen über die resolver-Bibilothek. Diese Datei wird nur für Programme verwendet, die mit libc4 oder libc5 gelinkt sind. Weitere Informationen zu aktuellen glibc-Programmen finden Sie in den Einstellungen in /etc/nsswitch.conf. Jeder Parameter muss in einer eigenen Zeile stehen. Kommentare werden durch ein #-Zeichen eingeleitet. Die verfügbaren Parameter sind in Tabelle 20-6 aufgeführt. Ein Beispiel für /etc/host.conf wird in Beispiel 20-8 gezeigt.

Tabelle 20-6 Parameter für /etc/host.conf

order hosts, bind

Legt fest, in welcher Reihenfolge die Dienste zum Auflösen eines Namens angesprochen werden sollen. Mögliche Argumente (getrennt durch Leerzeichen oder Kommas):

Hosts: Sucht die /etc/hosts-Datei

bind: Greift auf einen Namenserver zu

nis: Verwendet NIS

multi on/off

Legt fest, ob ein in /etc/hosts eingegebener Host mehrere IP-Adressen haben kann.

nospoof on spoofalert on/off

Diese Parameter beeinflussen das spoofing des Namenservers, haben aber keinen Einfluss auf die Netzwerkkonfiguration.

trim Domänenname

Der angegebene Domänenname wird vor dem Auflösen des Hostnamens von diesem abgeschnitten (insofern der Hostname diesen Domänennamen enthält). Diese Option ist dann von Nutzen, wenn in der Datei /etc/hosts nur Namen aus der lokalen Domäne stehen, diese aber auch mit angehängtem Domänennamen erkannt werden sollen.

Beispiel 20-8 /etc/host.conf

# We have named running
order hosts bind
# Allow multiple address
multi on

/etc/nsswitch.conf

Mit der GNU C Library 2.0 wurde Name Service Switch (NSS) eingeführt. Weitere Informationen hierzu finden Sie auf der Manualpage für nsswitch.conf(5) und im Dokument The GNU C Library Reference Manual.

In der Datei /etc/nsswitch.conf wird festgelegt, in welcher Reihenfolge bestimmte Informationen abgefragt werden. Ein Beispiel für nsswitch.conf ist in Beispiel 20-9 dargestellt. Kommentare werden durch ein #-Zeichen eingeleitet. Der Eintrag unter der hosts-Datenbank bedeutet, dass Anfragen über DNS an /etc/hosts (files) gehen.

Beispiel 20-9 /etc/nsswitch.conf

passwd:     compat
group:      compat

hosts:      files dns
networks:   files dns

services:   db files
protocols:  db files

netgroup:   files
automount:  files nis

Die über NSS verfügbaren Datenbanken sind in Tabelle 20-7 aufgelistet. Zusätzlich sind in Zukunft zudem automount, bootparams, netmasks und publickey zu erwarten. Die Konfigurationsoptionen für NSS-Datenbanken sind in Tabelle 20-8 aufgelistet.

Tabelle 20-7 Über /etc/nsswitch.conf verfügbare Datenbanken

aliases

Mail-Aliasse, die von sendmail implementiert werden. Siehe man5 aliases.

ethers

Ethernet-Adressen

Gruppe

Für Benutzergruppen, die von getgrent verwendet werden. Weitere Informationen hierzu finden Sie auch auf der Manualpage für den Befehl group.

hosts

Für Hostnamen und IP-Adressen, die von gethostbyname und ähnlichen Funktionen verwendet werden.

netgroup

Im Netzwerk gültige Host- und Benutzerlisten zum Steuern von Zugriffsrechten. Weitere Informationen hierzu finden Sie auf der Manualpage für netgroup(5).

networks

Netzwerknamen und -adressen, die von getnetent verwendet werden.

passwd

Benutzerpasswörter, die von getpwent verwendet werden. Weitere Informationen hierzu finden Sie auf der Manualpage passwd(5).

protocols

Netzwerkprotokolle, die von getprotoent verwendet werden. Weitere Informationen hierzu finden Sie auf der Manualpage für protocols(5).

rpc

Remote Procedure Call-Namen und -Adressen, die von getrpcbyname und ähnlichen Funktionen verwendet werden.

services

Netzwerkdienste, die von getservent verwendet werden.

shadow

Shadow-Passwörter der Benutzer, die von getspnam verwendet werden. Weitere Informationen hierzu finden Sie auf der Manualpage für shadow(5).

Tabelle 20-8 Konfigurationsoptionen für NSS-Datenbanken

Dateien

Direkter Dateizugriff, z. B. /etc/aliases

db

Zugriff über eine Datenbank

nis, nisplus

NIS, siehe auch Abschnitt 25.0, Arbeiten mit NIS

dns

Nur bei hosts und networks als Erweiterung verwendbar

compat

Nur bei passwd, shadow und group als Erweiterung verwendbar

/etc/nscd.conf

Mit dieser Datei wird nscd (Name Service Cache Daemon) konfiguriert. Weitere Informationen hierzu finden Sie auf den man-Seiten nscd(8) und nscd.conf(5). Standardmäßig werden die Systemeinträge von passwd und groups von nscd gecacht. Dies ist wichtig für die Leistung der Verzeichnisdienste, z. B. NIS und LDAP, da anderenfalls die Netzwerkverbindung für jeden Zugriff auf Namen oder Gruppen verwendet werden muss. hosts wird standardmäßig nicht gecacht, da der Mechanismus in nscd dazu führen würde, dass das lokale System keine Trust-Forward- und Reverse-Lookup-Tests mehr ausführen kann. Statt nscd das Cachen der Namen zu übertragen, sollten Sie einen DNS-Server für das Cachen einrichten.

Wenn das Caching für passwd aktiviert wird, dauert es in der Regel 15 Sekunden, bis ein neu angelegter lokaler Benutzer dem System bekannt ist. Durch das Neustarten von nscd mit dem Befehl rcnscd restart kann diese Wartezeit verkürzt werden.

/etc/HOSTNAME

Hier steht der Name des Computers, also nur der Hostname ohne den Domänennamen. Diese Datei wird von verschiedenen Skripten beim Booten des Computers gelesen. Sie darf nur eine Zeile enthalten, in der der Hostname steht.

20.6.2 Testen der Konfiguration

Bevor Sie Ihre Konfiguration in den Konfigurationsdateien speichern, können Sie sie testen. Zum Einrichten einer Testkonfiguration verwenden Sie den Befehl ip. Zum Testen der Verbindung verwenden Sie den Befehl ping. Ältere Konfigurationswerkzeuge, ifconfig und route, sind ebenfalls verfügbar.

Die Befehle ip, ifconfig und route ändern die Netzwerkkonfiguration direkt, ohne sie in der Konfigurationsdatei zu speichern. Wenn Sie die Konfiguration nicht in die korrekten Konfigurationsdateien eingeben, geht die geänderte Netzwerkkonfiguration nach dem Neustart verloren.

Konfigurieren einer Netzwerkschnittstelle mit ip

ip ist ein Werkzeug zum Anzeigen und Konfigurieren von Routing, Netzwerkgeräten, Richtlinien-Routing und Tunneln. Er wurde als Ersatz für die älteren Werkzeuge ifconfig und route gedacht.

ip ist ein sehr komplexes Werkzeug. Seine allgemeine Syntax ist ip options object command. Sie können mit folgenden Objekten arbeiten:

Verbindung

Dieses Objekt stellt ein Netzwerkgerät dar.

Adresse

Dieses Objekt stellt die IP-Adresse des Geräts dar.

neighbour

Dieses Objekt stellt einen ARP- oder NDISC-Cache-Eintrag dar.

route

Dieses Objekt stellt den Routing-Tabelleneintrag dar.

Regel

Dieses Objekt stellt eine Regel in der Routing-Richtlinien-Datenbank dar.

maddress

Dieses Objekt stellt eine Multicast-Adresse dar.

mroute

Dieses Objekt stellt einen Multicast-Routing-Cache-Eintrag dar.

tunnel

Dieses Objekt stellt einen Tunnel über IP dar.

Wird kein Befehl angegeben, wird der Standardbefehl verwendet. Normalerweise ist das list.

Ändern Sie den Gerätestatus mit dem Befehl ip link set device_name command. Wenn Sie beispielsweise das Gerät eth0 deaktivieren möchten, geben Sie ip link seteth0 down ein. Um es wieder zu aktivieren, verwenden Sie ip link seteth0 up.

Nach dem Aktivieren eines Geräts können Sie es konfigurieren. Verwenden Sie zum Festlegen der IP-Adresse ip addr addip_address + dev device_name. Wenn Sie beispielsweise die Adresse der Schnittstelle eth0 mit dem standardmäßigen Broadcast (Option brd) auf 192.168.12.154/30 einstellen möchten, geben Sie ip addr add 192.168.12.154/30 brd + dev eth0 ein.

Damit die Verbindung funktioniert, müssen Sie außerdem das Standard-Gateway konfigurieren. Geben Sie ip route add gateway_ip_address ein, wenn Sie ein Gateway für Ihr System festlegen möchten. Um eine IP-Adresse in eine andere Adresse zu übersetzen, verwenden Sie nat: ip route add nat ip_address via other_ip_address.

Zum Anzeigen aller Geräte verwenden Sie ip link ls. Wenn Sie nur die aktiven Schnittstellen abrufen möchten, verwenden Sie ip link ls up. Um Schnittstellenstatistiken für ein Gerät zu drucken, geben Sie ip -s link lsdevice_name ein. Um die Adressen Ihrer Geräte anzuzeigen, geben Sie ip addr ein. In der Ausgabe von ip addr finden Sie auch Informationen zu MAC-Adressen Ihrer Geräte. Wenn Sie alle Routen anzeigen möchten, wählen Sie ip route show.

Weitere Informationen zur Verwendung von ip erhalten Sie, indem Sie iphelp eingeben oder die man-Seite ip(8) aufrufen. Die Option help ist zudem für alle ip-Objekte verfügbar. Wenn Sie beispielsweise Hilfe zu ipaddr benötigen, geben Sie ipaddr help ein. Suchen Sie die IP-Manualpage in der Datei /usr/share/doc/packages/iproute2/ip-cref.pdf.

Testen einer Verbindung mit ping

Der ping-Befehl ist das Standardwerkzeug zum Testen, ob eine TCP/IP-Verbindung funktioniert. Er verwendet das ICMP-Protokoll, um ein kleines Datenpaket, das ECHO_REQUEST-Datagram, an den Ziel-Host zu senden. Dabei wird eine sofortige Antwort angefordert. Funktioniert dies, erhalten Sie eine Meldung, die Ihnen bestätigt, dass die Netzwerkverbindung grundsätzlich funktioniert.

ping testet nicht nur die Funktion der Verbindung zwischen zwei Computern, es bietet darüber hinaus grundlegende Informationen zur Qualität der Verbindung. In Beispiel 20-10 sehen Sie ein Beispiel der ping-Ausgabe. Die vorletzte Zeile enthält Informationen zur Anzahl der übertragenen Pakete, der verlorenen Pakete und der Gesamtlaufzeit von ping.

Als Ziel können Sie einen Hostnamen oder eine IP-Adresse verwenden, z. B. ping example.com oder ping  192.168.3.100. Das Programm sendet Pakete, bis Sie auf Strg+C drücken.

Wenn Sie nur die Funktion der Verbindung überprüfen möchten, können Sie die Anzahl der Pakete durch die Option -c beschränken. Wenn die Anzahl beispielsweise auf drei Pakete beschränkt werden soll, geben Sie ping -c 3 example.com ein.

Beispiel 20-10 Ausgabe des ping-Befehls

ping -c 3 example.com
PING example.com (192.168.3.100) 56(84) bytes of data.
64 bytes from example.com (192.168.3.100): icmp_seq=1 ttl=49 time=188 ms
64 bytes from example.com (192.168.3.100): icmp_seq=2 ttl=49 time=184 ms
64 bytes from example.com (192.168.3.100): icmp_seq=3 ttl=49 time=183 ms
--- example.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2007ms
rtt min/avg/max/mdev = 183.417/185.447/188.259/2.052 ms

Das Standardintervall zwischen zwei Paketen beträgt eine Sekunde. Zum Ändern des Intervalls bietet der ping-Befehl die Option -i. Wenn beispielsweise das Ping-Intervall auf zehn Sekunden erhöht werden soll, geben Sie ping -i 10 example.com ein.

In einem System mit mehreren Netzwerkgeräten ist es manchmal nützlich, wenn der ping-Befehl über eine spezifische Schnittstellenadresse gesendet wird. Verwenden Sie hierfür die Option -I mit dem Namen des ausgewählten Geräts. Beispiel: ping -I wlan1 example.com.

Weitere Optionen und Informationen zur Verwendung von ping erhalten Sie, indem Sie ping-h eingeben oder die man-Seite ping (8) aufrufen.

Konfigurieren des Netzwerks mit dem ifconfig-Befehl

ifconfig ist ein herkömmliches Werkzeug zur Netzwerkkonfiguration. Im Gegensatz zu ip, können Sie diesen Befehl nur für die Schnittstellenkonfiguration verwenden. Das Routing konfigurieren Sie mit route.

HINWEIS: ifconfig und ip

Das ifconfig-Programm ist veraltet. Verwenden Sie stattdessen ip.

Ohne Argumente zeigt ifconfig den Status der gegenwärtig aktiven Schnittstellen an. Unter Beispiel 20-11 sehen Sie, dass ifconfig über eine gut angeordnete, detaillierte Ausgabe verfügt. Die Ausgabe enthält außerdem in der ersten Zeile Informationen zur MAC-Adresse Ihres Geräts, dem Wert von HWaddr.

Beispiel 20-11 Ausgabe des ifconfig-Befehls

eth0      Link encap:Ethernet  HWaddr 00:08:74:98:ED:51
          inet6 addr: fe80::208:74ff:fe98:ed51/64 Scope:Link
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:634735 errors:0 dropped:0 overruns:4 frame:0
          TX packets:154779 errors:0 dropped:0 overruns:0 carrier:1
          collisions:0 txqueuelen:1000
          RX bytes:162531992 (155.0 Mb)  TX bytes:49575995 (47.2 Mb)
          Interrupt:11 Base address:0xec80

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8559 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8559 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:533234 (520.7 Kb)  TX bytes:533234 (520.7 Kb)    

wlan1     Link encap:Ethernet  HWaddr 00:0E:2E:52:3B:1D
          inet addr:192.168.2.4  Bcast:192.168.2.255  Mask:255.255.255.0
          inet6 addr: fe80::20e:2eff:fe52:3b1d/64 Scope:Link
          UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:50828 errors:0 dropped:0 overruns:0 frame:0
          TX packets:43770 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:45978185 (43.8 Mb)  TX bytes:7526693 (7.1 MB)

Weitere Optionen und Informationen zur Verwendung von ifconfig erhalten Sie, wenn Sie ifconfig-h eingeben oder die man-Seite ifconfig (8) aufrufen.

Konfigurieren des Routing mit route

route ist ein Programm zum Ändern der IP-Routing-Tabelle. Sie können damit Ihre Routing-Konfiguration anzeigen und Routen hinzufügen oder entfernen.

HINWEIS: route und ip

Das route-Programm ist veraltet. Verwenden Sie stattdessen ip.

route ist vor allem dann nützlich, wenn Sie schnelle und übersichtliche Informationen zu Ihrer Routing-Konfiguration benötigen, um Routing-Probleme zu ermitteln. Sie sehen Ihre aktuelle Routing-Konfiguration unter route -n als root.

Beispiel 20-12 Ausgabe des route -n-Befehls



route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.20.0.0       *               255.255.248.0   U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth0
loopback        *               255.0.0.0       U         0 0          0 lo
default         styx.exam.com   0.0.0.0         UG        0 0          0 eth0

Weitere Optionen und Informationen zur Verwendung von route erhalten Sie, indem Sie v-h eingeben oder die man-Seite route (8) aufrufen.

20.6.3 Startup-Skripten

Neben den beschriebenen Konfigurationsdateien gibt es noch verschiedene Skripten, die beim Booten des Computers die Netzwerkprogramme starten. Diese werden gestartet, sobald das System in einen der Mehrbenutzer-Runlevel wechselt. Einige der Skripten sind in Tabelle 20-9 beschrieben.

Tabelle 20-9 Einige Start-Skripten für Netzwerkprogramme

/etc/init.d/network

Dieses Skript übernimmt die Konfiguration der Netzwerkschnittstellen. Wenn der Netzwerkdienst nicht gestartet wurde, werden keine Netzwerkschnittstellen implementiert.

/etc/init.d/xinetd

Startet xinetd. Mit xinetd können Sie Serverdienste auf dem System verfügbar machen. Beispielsweise kann er vsftpd starten, sobald eine FTP-Verbindung initiiert wird.

/etc/init.d/portmap

Startet den Portmapper, der für einen RPC-Server benötigt wird, z. B. für einen NFS-Server.

/etc/init.d/nfsserver

Startet den NFS-Server.

/etc/init.d/postfix

Steuert den postfix-Prozess.

/etc/init.d/ypserv

Startet den NIS-Server.

/etc/init.d/ypbind

Startet den NIS-Client.