10.2 Grundlegendes Netzwerk-Setup
Nun werden wir nach und nach die Schritte durchführen, die notwendig sind, um einen Rechner in ein Netzwerk zu integrieren beziehungsweise um ihn als ersten Host in ein neues Netzwerk zu integrieren – was kaum einen Unterschied darstellt.
10.2.1 Hostname setzen
Einem Rechner, der sich im Netzwerk befindet, gibt man zunächst einmal einen sogenannten Hostnamen – einen Namen, der im jeweiligen Netzwerk einzigartig ist und zur Identifikation des Rechners (Hosts) dient. Man unterscheidet dabei zwischen einem bloßen Hostnamen und einem FQDN <Fully Qualified Domain Name>. Bei Ersterem handelt es sich um einen einfachen Namen, etwa »jupiter«. Ein FQDN hingegen besteht aus dem einfachen Hostname und der kompletten Domain, der dieser Host angehört, etwa »jupiter.sun.milkyway«. Jupiter würde also zum Netz »sun« im Netz »milkyway« gehören.
Wir möchten unseren Host im Netzwerk »sun« (so können Sie, falls Sie noch keinen Netzwerknamen haben, auch Ihr Netzwerk nennen) platzieren und ihm den oben bereits erwähnten Namen »jupiter« geben. Um dies zu verwirklichen, brauchen Sie das Tool hostname. <Die Funktionalität von hostname ist im Übrigen nicht mit der von domainname zu verwechseln. Letzteres setzt nämlich den Domainname für eine NIS-Domain!> Um einen Hostname zu setzen, übergibt man den FQDN als Parameter an hostname.
$ hostname jupiter.sun
Listing 10.1 Hostname setzen
Die Abfrage gestaltet sich von System zu System etwas anders. Die Prompts zeigen im folgenden Listing die jeweiligen Systeme und den zugehörigen hostname-Aufruf an.
linux$ hostname jupiter linux$ hostname -f jupiter.sun bsd$ hostname jupiter.sun bsd$ hostname -s jupiter
Listing 10.2 Hostname abfragen
10.2.2 Netzwerkadressen für alle
Unser Host hat zwar bereits einen FQDN, aber noch keine eigene IP-Adresse. Diese wird via ifconfig gesetzt. Dieses Tool dient generell zur Administration von Netzwerkschnittstellen. Wir werden uns die wichtigen Features von ifconfig im Folgenden ansehen. Doch zunächst wollen wir einer Netzwerk-Schnittstelle eine IP-Adresse geben. <Welche Veränderungen hierbei im Hintergrund ablaufen und im Kernel vor sich gehen, soll an dieser Stelle nicht diskutiert werden. Wenn wir in diesem Kapitel eine IP-Adresse »vergeben«, dann bedeutet dies schlicht, dass wir einen Host über eine bestimmte Adresse erreichbar machen. Außerdem werden keine virtuellen Adressen vergeben; jedes Device soll über eine einzige Adresse verfügen. Hintergrundinformationen erhalten Sie in der ifconfig-Manpage und in diversen Büchern über TCP/IP.>
Zunächst lässt man sich mit ifconfig die im System integrierten Netzwerkschnittstellen auflisten. Dazu übergibt man am besten den Parameter -a. Er bewirkt, dass auch wirklich jede Netzwerkschnittstelle angezeigt wird.
# ifconfig -a eth0 Link encap:Ethernet HWaddr 00:50:04:E9:AE:1B inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:210 errors:0 dropped:0 overruns:0 frame:0 TX packets:187 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:22668 (22.1 Kb) TX bytes:30717 (29.9 Kb) Interrupt:9 Base address:0xd400 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:4 errors:0 dropped:0 overruns:0 frame:0 TX packets:4 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:296 (296.0 b) TX bytes:296 (296.0 b)
Listing 10.3 ifconfig -a
Diese Ausgabe enthält gleich eine Menge Informationen, und zwar viel mehr, als wir benötigen. Das Wichtigste ist: Es gibt zwei Netzwerk-Schnittstellen:
eth0 und lo. Die Schnittstelle lo ist die sogenannte Loopback-Schnittstelle. Sie dient nur zur rechner-internen Kommunikation und ist auf jedem System vorhanden (sofern nicht gerade TCP/IP-Support im Kernel deaktiviert ist). Diese Schnittstelle bekommt immer die IP-Adresse 127.0.0.1 und die Netzwerkmaske 255.0.0.0. Dies liegt daran, dass das gesamte Class-A-Netzwerk 127.x.x.x für die Loopback-Kommunikation reserviert ist.
Bei der Schnittstelle eth0 handelt es sich um eine Ethernet-Netzwerkkarte. Unter Linux erhalten diese Netzwerkkarten die Bezeichnung ethX, wobei X eine laufende Nummer darstellt, die mit jeder Schnittstelle erhöht wird. Die erste Schnittstelle heißt eth0, die zweite eth1 usw.
Sie sehen, dass die Ethernet-Karte die Adresse 192.168.0.3 und das Netzwerk die Broadcast-Adresse 192.168.0.255 hat. Die Netzwerkmaske ist 255.255.255.0, die IP-Adressen befinden sich also im Bereich von 192.168.0.1 bis 192.168.0.254.
Unter den BSD-Systemen werden die Netzwerkschnittstellen jeweils anders bezeichnet. Die Loopback-Schnittstelle wird in der Regel mit lo0 bezeichnet, Ethernet-Schnittstellen bekommen je nach Typ völlig unterschiedliche Bezeichnungen, etwa ne3 <NE2000- oder kompatibler Treiber (OpenBSD)> oder rl1 <Realtek 8129/8139-Fast-Ethernet-Treiber (OpenBSD)>. Zudem müssen einige Werte standardmäßig in hexadezimaler Form ausgegeben werden.
obsd$ ifconfig -a lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33224 inet 127.0.0.1 netmask 0xff000000 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x5 ne3: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING, SIMPLEX,MULTICAST> mtu 1500 address: 00:50:bf:11:35:a5 media: Ethernet autoselect (10baseT) inet 192.168.0.1 netmask 0xffffff00 broadcast 192.168.0.255 inet6 fe80::250:bfff:fe11:35a5%ne3 prefixlen 64 scopeid 0x1 pflog0: flags=0<> mtu 33224 pfsync0: flags=0<> mtu 2020 enc0: flags=0<> mtu 1536
Listing 10.4 ifconfig -a, BSD
Adresse
Um eine Adresse zu setzen, übergibt man ifconfig den Namen der gewünschten Schnittstelle sowie die zugehörige IP-Adresse. <Sie können dabei IP-Adressen aus den Adressbereichen 10.z.y.x, 172.16.y.x und 192.168.y.x wählen. Zu jedem Bereich kann noch eine zugehörige Netzmaske gewählt werden.>
linux# ifconfig eth0 192.168.0.3
Listing 10.5 ifconfig
Medium
Einige Netzwerkkarten verfügen über eine Combo-Schnittstelle und sind damit beispielsweise sowohl für 10base2- als auch für 10baseT-Netzwerke verfügbar. Allerdings kann immer nur eine Schnittstellen-Art zur gleichen Zeit konfiguriert werden. Daher bietet ifconfig die Möglichkeit an, das gewünschte Übertragungsmedium bei der Adressvergabe mit anzugeben.
linux# ifconfig eth0 192.168.0.3 media 10baseT
Listing 10.6 Medientyp angeben
Netzmaske
Um die Netzmaske (Netmask) manuell zu vergeben, was durchaus manchmal nötig ist, wird der Parameter netmask verwendet. Hinter diesem gibt man in gewohnter Form die Netzmaske an. Zudem kann man diesen Aufruf mit der Konfiguration der Adresse und des Übertragungsmediums kombinieren:
linux# ifconfig eth0 192.168.0.3 netmask \ 255.255.255.0 media 10baseT
Listing 10.7 ifconfig
Mehrere Adressen
Es ist durch sogenannte virtuelle Schnittstellen möglich, einer Netzwerkschnittstelle mehr als nur eine IP-Adresse zuzuweisen. Dies wird unter eigentlich jedem System anders realisiert, weshalb wir im Folgenden nur auf ifconfig unter Linux eingehen.
Im Anwendungsbeispiel soll der Schnittstelle eth0 eine zweite Instanz in Form einer virtuellen Schnittstelle mit der IP-Adresse 192.168.1.3 hinzugefügt werden. Dazu gibt man hinter der Schnittstellenbezeichnung die Instanznummer (in diesem Fall die 1 für die erste virtuelle Instanz) an:
# ifconfig eth0:1 192.168.1.3 netmask 255.255.255.0 linux# ifconfig eth0 Link encap:Ethernet HWaddr 00:50:04:E9:AE:1B inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:210 errors:0 dropped:0 overruns:0 frame:0 TX packets:187 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:22668 (22.1 Kb) TX bytes:30717 (29.9 Kb) Interrupt:9 Base address:0xd400 eth0:1 Link encap:Ethernet HWaddr 00:50:04:E9:AE:1B inet addr:192.168.1.3 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Interrupt:9 Base address:0xd400 lo Link encap:Local Loopback ...
Listing 10.8 eth:1 anlegen
Schnittstellen abstellen
Um »mal eben schnell« eine Schnittstelle herunterzufahren, ohne den Rechner dafür ausschalten zu müssen, wird der Parameter down verwendet.
# ifconfig eth0:1 down
Listing 10.9 Schnittstelle abstellen
Doch bedenken Sie: Die Konfiguration mit ifconfig bleibt nur während der Laufzeit des Systems bestehen.
Nach einem Neustart müssen die Netzwerkschnittstellen neu konfiguriert werden. Daher verfügen die Distributionen und auch die BSD-Derivate über Tools, die während der Installation die dauerhaft (nämlich jeweils automatisch beim Startvorgang) zu setzenden Adressen abfragen. Möchten Sie nach der Installation des Systems noch Veränderungen an dieser Konfiguration vornehmen, müssen entweder direkt die Konfigurations- und Skriptdateien in /etc abgeändert werden (die von Distribution zu Distribution und bei den einzelnen Derivaten verschieden sind), oder es muss ein distributionsspezifisches Hilfstool, etwa netconfig unter Slackware, erneut ausgeführt werden.
10.2.3 Wireless LAN
Damit Sie unter Linux auch mit Ihrer WLAN-Karte Spaß haben können, brauchen Sie zwei Sachen: den richtigen WLAN-Treiber und die wireless-tools. Bei den fast marktführenden Centrino-Notebooks <Zugegeben, wir haben das nicht recherchiert. Aber man sieht die Dinger halt überall.> funktioniert der ipw2200- beziehungsweise ipw2100-Treiber prima. Bei einigen Distributionen muss man jedoch noch die Firmware von der Webseite http://ipw2200.sf.net herunterladen und in ein bestimmtes Verzeichnis – meist /usr/lib/hotplug/firmware – kopieren, bevor man das Kernel-Modul erfolgreich laden kann. Danach sollte ein neues Interface bei ifconfig -a auftauchen. Wenn nicht, helfen die System-Logfiles in jedem Fall weiter.
Die verfügbaren Netze scannen
Die Wireless-Eigenschaften legt man nun aber nicht mittels ifconfig, sondern mit dem iwconfig-Tool aus dem wireless-tools-Paket fest. Aber zuerst möchte man vielleicht testen, welche Funk-LANs gefunden werden.
Dazu ruft man das Tool iwlist mit dem Parameter »scanning« auf:
# iwlist scanning lo Interface doesn't support scanning. eth0 Interface doesn't support scanning. eth1 Scan completed : Cell 01 – Address: 00:0B:6B:30:15:C0 ESSID:"zuhause" Protocol:IEEE 802.11bg Mode:Master Channel:1 Encryption key:off Bit Rate:54 Mb/s Extra: Rates (Mb/s): 1 2 5.5 6 ... 36 48 54 Signal level=-75 dBm Extra: Last beacon: 23ms ago …
Listing 10.10 iwlist
In diesem Beispiel wurde das Interface eth1 als WLAN-Interface erkannt und auch ein Netz mit der ESSID »zuhause« gefunden. Entsprechend kann man nun die eigene WLAN-Karte konfigurieren.
iwconfig
Dazu gibt es wie gesagt das iwconfig-Tool, bei dem man wichtige Parameter wie die ESSID oder den zu verwendenden Schlüssel einstellen kann. Sind alle Parameter richtig, so ist man anschließend mit einem Access Point verbunden:
# iwconfig eth1 essid zuhause key off # iwconfig eth1 eth1 IEEE 802.11g ESSID:"zuhause" Mode:Managed Frequency:2.462 GHz Access Point: 0A:0B:6B:30:17:8E Bit Rate=24 Mb/s Tx-Power=20 dBm RTS thr:off Fragment thr:off Encryption key:off [...]
Listing 10.11 iwconfig
Anschließend kann man sich um die Konfiguration des Netzwerks kümmern. Das geht entweder wie gewohnt per Hand mit ifconfig oder – bei WLAN eigentlich der Regelfall – automatisch per DHCP.
10.2.4 DHCP
Alles automatisch
Eine andere Möglichkeit, eine Netzwerkkarte ganz einfach zu konfigurieren, ist BOOTP oder eben DHCP, eine neuere und erweiterte Version von BOOTP. Wenn Sie DHCP, das Dynamic Host Configuration Protocol, nutzen, brauchen Sie im Allgemeinen gar nichts von Hand einzustellen – das geht nämlich automatisch.
Der Nachteil ist natürlich, dass Sie einen DHCP-Server im Netzwerk brauchen. Diesen Server, der Ihrem Rechner die notwendigen Informationen zur Konfiguration gibt, lernen Sie allerdings erst im entsprechenden Kapitel über Netzwerkserver kennen.
Vereinfacht gesagt, schicken Sie nur einen großen Hilferuf ins Netzwerk – also über das Funknetz oder eben über das Kabel, das an Ihrer Netzwerkkarte angeschlossen ist. Der DHCP-Server fühlt sich dann angesprochen und schickt Ihnen die Daten zu. So wird Ihnen beispielsweise automatisch eine freie (oder je nach Konfiguration auch eine ganz bestimmte) IP-Adresse zugewiesen, und es wird dem Rechner gesagt, welches Default-Gateway er benutzen soll.
Die meisten Distributionen lassen Ihnen bei der Installation die Wahl zwischen dem automatischen Beziehen der IP-Adresse mittels DHCP oder der weiter oben vorgestellten statischen Methode.
dhcp-client
Für den Fall, dass Sie Ihre Schnittstelle nicht (wie oft in der Installation von Distributionen und Derivaten vorgesehen) statisch per Hand, sondern mit DHCP konfigurieren wollen, sei kurz auf das Programm dhcp-client und dessen Äquivalent dhclient hingewiesen. Über einen einfachen Aufruf können Sie eine Netzwerkschnittstelle per DHCP konfigurieren:
# dhcp-client -i eth1 // Alternativ: dhclient # dhclient eth1
Listing 10.12 eth1 mittels dhcp-client konfigurieren lassen
Unter anderen Systemen gibt es in der Regel kein dhcp-client-Tool. Manpages wie dhcp(8) helfen Ihnen an dieser Stelle weiter, wobei des Rätsels Lösung oftmals ähnlich einfach ist, wie unter Linux. Unter OpenBSD wird der Schnittstellenkonfiguration zum Beispiel einfach der Parameter dhcp in der jeweiligen hostname.xyz vorangestellt.
10.2.5 /etc/hosts
Nachdem einem Netzwerk-Interface eine IP-Adresse zugewiesen worden ist, möchte man natürlich auch mit anderen Hosts im Netzwerk kommunizieren. Um sich diese Kommunikation zu erleichtern, »spricht« man die anderen Systeme über deren Hostnames und nicht über deren IP-Adressen an.
Jeder Unix-Rechner verfügt daher über die Datei /etc/hosts, in die eine (kleine) Liste der vorhandenen Hostnamen inklusive deren IP-Adressen eingetragen werden kann. Der Host kann über diese Datei schnell die zu einem Host gehörige IP-Adresse herausfinden. Dies funktioniert aber nur, wenn alle gewünschten Hosts eine zugeordnete IP-Adresse in der Datei haben und alle diese Einträge aktuell sind. Bei größeren Netzwerken ist dies definitiv nicht mehr von Hand zu erledigen, weshalb man einen DNS-Servers braucht, doch diesen werden wir uns noch nicht in diesem Kapitel ansehen.
Der Aufbau der Datei gestaltet sich denkbar einfach. Zunächst wird die Adresse angegeben (entweder IPv4 oder IPv6), und hinter diese Adresse werden die dafür gültigen Hostnamen geschrieben.
::1 localhost.sun localhost 127.0.0.1 localhost.sun localhost 192.168.0.1 eygo.sun eygo 192.168.0.2 milk.sun milk 192.168.0.3 yleigu.sun yleigu 192.168.0.5 yorick.sun yorick
Listing 10.13 Beispiel einer /etc/hosts
Hier bekommt der lokale Rechner die IPv6-Adresse ::1 und die IPv4-Adresse 127.0.0.1. Er kann sowohl als »localhost« wie auch über den FQDN als »localhost.sun« angesprochen werden. Ähnliches gilt auch für die anderen Hosts. Beispielsweise hat der Host »eygo.sun« auch den Namen »eygo« und ihm wurde die IP-Adresse 192.168.0.1 zugewiesen.
In der Datei /etc/hosts besteht ein Eintrag aus genau einer Zeile. Zunächst gibt man die Adresse und danach beliebig viele Hostnamen an. Zwischen den einzelnen Werten sollten Leerzeichen stehen, Tabs sollten allerdings auch funktionieren.
Übrigens wurde die hosts-Datei mit 4.2BSD eingeführt, also zu einer Zeit, in der DNS-Informationen noch etwas anders verbreitet wurden. Für geschichtlich Interessierte sei an dieser Stelle ein Auszug aus der hosts(5)-Manpage von Slackware-Linux 10.1 zitiert:
»Before the advent of DNS, the host table was the only way of resolving hostnames on the fledgling Internet. Indeed, this file could be created from the official host data base maintained at the Network Information Control Center (NIC), though local changes were often required to bring it up to date regarding unofficial aliases and/or unknown hosts. The NIC no longer maintains the hosts.txt files, though looking around at the time of writing (circa 2000), there are historical hosts.txt files on the WWW. I just found three, from 92, 94, and 95.«.
Nichtsdestotrotz ist diese Datei für kleine Netzwerke ohne einen DNS-Server noch äußerst nützlich.
10.2.6 /etc/networks
In der /etc/networks wird, ähnlich wie in der Datei hosts, eine Liste von Adressen abgelegt. In diesem Fall werden allerdings ganze Netzwerkadressen in Netzwerknamen (und vice versa) übersetzt, was in Verbindung mit DNS angewandt werden kann. Die networks-Datei wurde, wie auch die hosts-Datei, mit 4.2BSD eingeführt.
linux$ cat /etc/networks loopback 127.0.0.0 localnet 192.168.0.0 openbsd$ cat /etc/networks BASE-ADDRESS.MCAST.NET 224 loopback 127 loop
Listing 10.14 /etc/networks
In der ersten Spalte steht dabei der offizielle Netzwerkname, in der zweiten die Netzwerkadresse (etwa 127 oder 127.0.0.0). Spalte Nummer drei legt noch einen Alias fest. Der Aufbau dieser Datei kann von System zu System etwas variieren.
10.2.7 /etc/resolv.conf
Über die Datei /etc/resolv.conf wird der lokale Resolver konfiguriert, der von der C-Library verwendet wird.
Ein Resolver ist dafür zuständig, DNS-Anfragen »aufzulösen«. Das bedeutet, dass der Resolver sich darum kümmert, Ihrem System die DNS-Informationen zu beschaffen, die benötigt werden. Dabei kann es sich beispielsweise um eine IP-Adresse für einen Hostnamen, einen Hostnamen für eine IP-Adresse, einen Mail-Exchanger oder Ähnliches handeln.
Kommentare werden in dieser Datei durch Hashes (Rauten, #) oder Semikolons (;) eingeleitet. Diese funktionieren wie die Rauten-Kommentare in der Shell. Ansonsten besteht diese Datei primär aus Schlüsselwörtern (Keywords) und zugehörigen Werten. Eine typische resolv.conf sieht in etwa folgendermaßen aus:
lookup file bind ; Erst /etc/hosts, dann DNSd nameserver 192.168.0.2 ; Erst 192.168.0.2 fragen, nameserver 194.25.2.129 ; dann 194.25.2.129
Listing 10.15 Typische resolv.conf
Wenden wir uns nun den einzelnen Keywords zu, die in die resolv.conf eingetragen werden können.
Das Keyword nameserver legt einen Nameserver fest. Hinter dieses Keyword kann genau eine Nameserver-Adresse geschrieben werden. Dabei kann es sich sowohl um eine IPv4- als auch um eine IPv6-Adresse handeln. Es können (je nach Implementierung) maximal 3 Nameserver angegeben werden, die in ihrer aufgelisteten Reihenfolge vom Resolver abgefragt werden. Der wichtigste Server sollte also immer zuerst stehen, und anschließend können (falls vorhanden) eventuelle Notfallserver gelistet werden, die dann angesprochen werden, wenn der erste Server nicht erreichbar ist. Wird kein Nameserver angegeben, wird versucht, einen Namserver über die Adresse 127.0.0.1 (also lokal) anzusprechen.
Über domain wird der lokale Domainname angegeben. Damit können Hosts auch über ihren direkten Nicht-FQDN-Hostnamen angesprochen werden, ohne dass dieser zuvor explizit in der /etc/hosts so angegeben wurde.
Die zu verwendenden Möglichkeiten zur Datenabfrage werden durch lookup spezifiziert. Dabei gibt es drei verschiedene Werte, die an dieser Stelle angegeben werden können: bind (Nameserver-Abfrage), file (/etc/hosts abfragen) und yp (NIS-Abfrage durch ypbind).
Wird keine Lookup-Zeile in der resolv.conf angegeben, verhält sich der Resolver so, als wäre die Konfiguration »bind file«. Dass bedeutet: Zunächst wird der Nameserver abgefragt, und falls dieser keine Antwort weiß, die hosts-Datei.
Gibt man keinen FQDN an, fragt der Resolver verschiedene Domains ab, denen der gesuchte Hostname angehören kann. Zu diesem Zweck kann über das Keyword search eine Liste von bis zu sechs Domains angegeben werden, die in einer entsprechenden Reihenfolge abgefragt werden sollen. Neben der Bevorzugung von Domains gibt es zusätzlich eine Liste für IP-Adressen. Die Adressliste, die Programmen übergeben wird, die eine IP-Adresse über den Resolver angefordert haben, <Das funktioniert im Übrigen mit der Funktion gethostbyname().> kann nämlich durch sortlist in eine bestimmte Reihenfolge gebracht werden, wobei auch eine Netzmaske angegeben werden kann. Es sind (abhängig von der Implementierung) meist maximal 10 Sortierungseinträge möglich.
sortlist 192.168.0.0/255.255.0.0 10.0.0.0/255.255.255.31
Listing 10.16 Beispiel einer sortlist-Anwendung
Zudem existiert noch eine weitere Konfigurationsmöglichkeit, die sich options nennt. Hinter diesem Keyword steht jeweils ein weiteres Keyword, dessen Varianten Sie in der entsprechenden Manpage zu resolv.conf nachlesen können. Da diese Optionen kaum verwendet werden und über das in diesem Kapitel vermittelte Wissen hinausgehen würden, werden wir an dieser Stelle nicht weiter auf sie eingehen.
10.2.8 Nun gibt es aber ein Problem ...
Und dieses Problem ist die Reihenfolge der Abfrage von DNS-Server und hosts-Datei. Was hat nun Priorität: der DNS-Server des Providers, die lokalen hosts- und networks-Dateien oder gar ein eventuell vorhandenes NIS-System? Für diese Probleme gibt es eine Lösung: die Datei /etc/nsswitch.conf.
$ cat /etc/nsswitch.conf passwd: compat group: compat hosts: files dns networks: files dns services: files protocols: files rpc: files ethers: files netmasks: files netgroup: files publickey: files bootparams: files automount: files nis aliases: files
Listing 10.17 Ordnung ins Chaos: /etc/nsswitch.conf
Uns interessiert eigentlich der Eintrag für hosts und networks: Es soll zuerst lokal gesucht werden, dann erst im DNS des Providers. Das macht im Normalfall eigentlich immer Sinn und ist daher auch eine Voreinstellung. Die anderen Optionen in der Datei tragen einfach dem Fakt Rechnung, dass man noch viel mehr per NIS bzw. NIS+ im Netzwerk verteilen kann als nur diese beiden Dateien.
10.2.9 Windows und Namensauflösung
Hauptsache anders
Nun gibt es unter Windows auch die Möglichkeit, Rechnern im Netzwerk Namen zu geben. Die Windows-Namensauflösung funktioniert noch einmal völlig anders, nämlich über das sogenannte NETBIOS-System. Als Laie kann man sich vorstellen, dass Microsoft in diesem Fall das Rad einfach noch einmal erfunden hat, <Tatsächlich ist es so, dass es lange Zeit viele konkurrierende Netzwerkprotokolle neben TCP/IP gegeben hat, von denen Microsoft nicht abhängig sein wollte. Also gehört NETBIOS als Programmier-Interface viel eher zu den »Altlasten«; am Ende läuft es aber auf dasselbe hinaus.> mit dem Unterschied, dass das Rad diesmal nur mit anderen Rädern des Herstellers optimal funktioniert und sich leider nur in eine Richtung drehen kann – aber nur bei gutem Wetter. NETBIOS setzt zwar auf TCP/IP auf, macht sonst aber sein eigenes Ding.
Sollte man es wirklich ernsthaft in Erwägung ziehen, diese Namensauflösung zu nutzen, muss man das sogenannte Samba-Paket installieren. Mit diesem hat man die Möglichkeit, auf freigegebene Windows-Laufwerke zuzugreifen und eben die Namensauflösung zu nutzen. In diesem Fall kann man in die /etc/nsswitch.conf auch noch winbind als Quelle für entsprechende Namensinformationen eintragen. Mehr Hinweise zu Samba folgen jedoch im Kapitel 12.7.