Linux Bibel online

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung - Nicht-kommerziell - Weitergabe unter gleichen Bedingungen 3.0 Österreich Lizenz.

Change language by Google translator: ...

Index dieser Seite: Einfach und schnell mit Ethernet, WLAN und UMTS/GSM/LTE ins Internet, Einfache Netzwerke mit dem Router, Erweiterte Netzwerke, Domain Name Server Bind9, DHCP-Server

Sicher kennen viele Nutzer die Probleme unter Windows wenn man damit Netzwerke erstellen möchte, egal ob groß oder klein, kompliziertere oder einfache - es ist zwar einfach solche mit Windows zusammen zu setzen, aber wenn dann etwas nicht funktioniert dann kommt Windows mit seiner hervorragenden Hilfe die zu keinem Ergebnis führt, dann hilft nur dies und jenes probieren, vielleicht hilft ein Neustart des Systems, ...

Bei Linux liegt die ganze Geschichte etwas anders, hier richtet man das Netz wenn etwas professioneller sein soll per Hand ein - dann aber funktioniert es auch. Nicht umsonst besteht der größte Teil des Internets aus Linux-Systemen, Webserver, Mail-Server, FTP-Server, DNS-Server, Chat-Server und so weiter und so fort.

In diesem Beitrag wollen wir uns von Beginn an ansehen - also auch für Einsteiger die sich noch nie mit Linux befasst haben wie man ganz einfach und schnell ins Internet kommt, dann aber natürlich auch wie man einfache, erweiterte und professionelle Netzwerke erstellt oder wie Linux das Netzwerk auf Ihre Bedürfnisse angepasst automatisch konfiguriert.

Für Einsteiger - ab ins Internet

Linux hat viele Desktop-Umgebungen die anders aussehen als Windows einmal liegen die Icons hier, mal dort, die Kontrollleiste oder das Panel (das Gegenteil zur Taskleiste unter Windows) liegen mal oben, mal unten - aber unter Linux ist es meist einfacher und schneller ins Internet zu kommen als unter Windows.

Per Ethernet / Router-Kabel

Die einfachste Form ins Internet zu kommen ist der Hardware-Router, manche sagen auch einfach "Internetbox" oder "Fritzbox" dazu, egal ob mit WLAN/WIFI - es handelt sich hier technisch gesehen um einen Router, also um einen kleinen minimalen Rechner mit Betriebssystem das ebenfalls immer öfter auf Linux basiert - dieser Rechner kümmert sich darum das sich der oder die angeschlossenen Rechner mit dem Internet verbinden können.

Schließen Sie einfach das so genannte Ethernet-Kabel:

Ethernet-Kabel

Ethernet-Kabel

an den Router wie am Rechner selbst an, ob der Router und der oder die Rechner mit dem Sie ins Internet wollen dabei eingeschaltet sind oder nicht ist dabei vollkommen egal, der lokale Rechner verbindet sich mit dem Router und bezieht die nötigen Daten wie IP-Adresse und DNS-Server um ins Internet zu kommen - schon funktioniert die Verbindung.

Per WLAN/Wifi

Um mit WLAN/WIfi ins Internet zu kommen benötigen Sie wie oben schon beschrieben einen WLAN-fähigen Router oder einen öffentlichen Access Point (AP) - der auch nichts anderes als ein Router ist. Und natürlich müssen die nötigen Treiber für das WLAN-Modul (WLAN und WIFI sind Wörter für den selben Begriff) Ihres Rechners, ob diese automatisch installiert sind kommt darauf an ob es für die Hardware freie Treiber und Firmware gibt, unter Rechnern vom Hersteller Dell ist dies meist der Fall - mehr dazu auf der Linux Bibel unter Treiber & Firmware, andernfalls benötigt man wie oben schon beschrieben einfach ein Ethernet-Kabel das man in jedem Elektronik-Geschäft um 5€ findet um diese zu installieren.

Sind die nötigen Treiber installiert gilt es die Kabellose Verbindung einfach nur noch zu aktivieren, die meisten besseren Notebooks haben dazu einen eigenen Hardware-Schalter, also einen solchen den Sie mit den Fingern aktivieren und deaktivieren. Ist dies nicht der Fall gelingt dies ganz einfach über den so genannten Network-Manager oder auch Verbindungsmanager, jede etwas größere Desktop-Umgebung wie etwa KDE, GNOME, XFCE, Cinnamon, Mate, Budgie und so weiter und so fort hat einen solchen in die grafische Umgebung integriert, Sie finden diesen in der Kontrollleiste oder im Panel im System-Bereich, je nach grafischer Oberfläche hat dieser mehr oder weniger die Form eines Netzwerk-Steckers, hier etwa unter KDE:

Network-Manager - die Verbindung ins Netzwerk unter Linux

Network-Manager - die Verbindung ins Netzwerk unter Linux

Ist der Hardware-Schalter aktiviert oder nicht vorhanden öffnen Sie diesen Network-Manager nun einfach per Klick mit der linken Maustaste - Sie finden nun die Möglichkeit alle möglichen Netzwerk-Verbindungen zu aktivieren:

Network-Manager - die Verbindung ins Netzwerk unter Linux - Mobile Verbindungen aktivieren

Network-Manager - die Verbindung ins Netzwerk unter Linux - Mobile Verbindungen aktivieren

Hier sind diese durch mein dunkles Theme nicht sonderlich gut erkennbar - mit einem normalen ist hier aber das Gegenteil der Fall, je nachdem was auch vorhanden ist lässt sich hier nun WLAN und UMTS/GSM/LTE aktivieren, aktivieren Sie also einfach WLAN (Hier lässt sich etwa auch der Flug-Modus aktivieren), nach kurzer Zeit sollten die ersten Verbindungen erscheinen:

Network-Manager - die Verbindung ins Netzwerk unter Linux - Mobile Verbindungen aktivieren

Network-Manager - die Verbindung ins Netzwerk unter Linux - Mobile Verbindungen aktivieren

Unter GNOME, XFCE und ähnlichen Desktop-Umgebungen sehen Sie in solchen Fällen zur Aktivierung und zur Auswahl des Netzwerkes zwar keine Icons dafür aber reine Text-Einträge mit denen man sich verbinden kann, klicken Sie also auf den jeweiligen Eintrag oder wie hier unter KDE auf den Schalter "Verbinden" und Sie werden nach dem zugehörigen Passwort gefragt (natürlich nur wenn ein solches gefordert wird). Die Verbindung wird nun automatisch konfiguriert und gestartet.

Handelt es sich um ein nicht sichtbares Netzwerk klicken Sie stattdessen auf den Eintrag "Verbindung konfigurieren" oder wie hier unter KDE einfach auf das Zahnrad, oft funktioniert auch ein Rechtsklick auf das Icon des Network-Managers:

Network-Manager - die Verbindung ins Netzwerk unter Linux - Unsichtbare WLAN-Verbindung erstellen

Network-Manager - die Verbindung ins Netzwerk unter Linux - Unsichtbare WLAN-Verbindung erstellen

Klicken Sie auf "Verbindung hinzufügen" oder wie hier unter KDE einfach auf das Plus (+) und wählen nun die Art des Netzwerkes aus - in diesem Fall also "WIFI", geben den Namen des unsichtbaren Netzes sowie das Passwort ein, schon findet sich die Möglichkeit zum Verbinden in der Liste. Um die Verbindung zu trennen wählen Sie einfach wieder den passenden Netzwerk-Eintrag.

Mobiles Breitband - GSM/UMTS/LTE

Auch mobiles Internet kostet heute nicht viel, ich bekomme heute um 23€ unbegrenzten Download unter LTE meine Verbindung. Egal ob es sich um GSM, UMTS oder LTE handelt - Linux hat kein Problem damit. Anders als unter Microsoft Windows wo auf den meisten Breitband-Sticks eine darauf liegende Software zu installieren gilt ist dies unter Linux nicht der Fall, hier kümmert sich wieder der unter WLAN beschriebene Network-Manager darum. Ich schätze das grob 97 Prozent der im Handel erhältlichen Breitband-Sticks unter Linux problemlos funktionieren - will man absolut sicher gehen sollte man sich den Stick holen den der Supermarkt Hofer (in Deutschland Aldi) anbietet - "ZTE MF 831", dieser kostet rund 43€ und kann UMTS/GSM und LTE, SIM-Karte rein, anschließen und die Verbindung funktioniert automatisch ohne jede weitere Konfiguration nach kurzer Zeit. In jedem Fall sollte über die Paket-Verwaltung das Paket "umts-modeswitch" installiert sein - was aber bei jeder Distribution die ich heute kenne automatisch der Fall ist. Karte rein und anschließen, warten Sie nun bis der Stick meldet das er funktioniert - die Betriebs-LED's zeigen dies an, öffnen Sie nun wie unter WLAN schon beschrieben den Network-Manager und öffnen die Konfiguration einer neuen Verbindung, nun wählen Sie aber natürlich den Eintrag "Mobiles Breitband":

Mit dem Network-Manager unter Linux eine neue Breitband-Verbindung erstellen

Mit dem Network-Manager unter Linux eine neue Breitband-Verbindung erstellen

Wird hier statt einem erkannten Gerät der Eintrag "Beliebiges Gerät" angezeigt stehen die Chancen schlecht das Linux diesen Stick auch unterstützt oder Sie müssen einfach nur länger warten bis der Stick auch initialisiert wird (für harte Fälle wird es in nächster Zeit auch einen weiteren Beitrag geben wie man dann doch so manchen Stick trotzdem zum laufen bekommt). Keine Angst - auch wenn hier nicht die Software des Breitband-Anbieters werkelt die alles automatisch konfiguriert - es ist sehr einfach die Verbindung einzurichten, klicken Sie einfach auf den Schalter "Weiter":

Mit dem Network-Manager unter Linux eine neue Breitband-Verbindung erstellen

Mit dem Network-Manager unter Linux eine neue Breitband-Verbindung erstellen

Wählen Sie das Land in dem Sie das Breitband nutzen - in dem Sie das Netzwerk Ihres Providers nutzen und klicken wiederum auf "Weiter":

Mit dem Network-Manager unter Linux eine neue Breitband-Verbindung erstellen - Provider wählen

Mit dem Network-Manager unter Linux eine neue Breitband-Verbindung erstellen - Provider wählen

Geben Sie den Provider an dessen Netzwerk Sie nutzen, also dessen SIM-Karte Sie nutzen - in sehr aktuellen Fällen einfach den Provider der neuen E-SIM und gehen wieder weiter:

Mit dem Network-Manager unter Linux eine neue Breitband-Verbindung erstellen - Tarif

Mit dem Network-Manager unter Linux eine neue Breitband-Verbindung erstellen - Tarif

Haben Sie einen speziellen Tarif, etwa einen der nur eine gewisse Datenmenge erlaubt geben Sie diesen nun an, im nächsten Fenster klicken Sie einfach auf "Fertig" - nun kommt noch das Fenster zur erweiterten Konfiguration in dem Sie etwa nötige Passwörter angeben können wenn Sie dies müssen (ist heute meist nicht mehr nötig):

Mit dem Network-Manager unter Linux eine neue Breitband-Verbindung erstellen - erweiterte Einstellungen

Mit dem Network-Manager unter Linux eine neue Breitband-Verbindung erstellen - erweiterte Einstellungen

Ich hatte es bisher noch nie nötig hier eine weitere Konfiguration zu tätigen, klicken Sie auf "Speichern" und die Verbindung ist im Network-Manager verfügbar, ebenso die Trennung des Netzes.

Wenn Sie ein Gerät mit integriertem Breitband-Modem wollen sollten Sie unbedingt auf den Notebook-Hersteller DELL setzen, ich kenne bisher keinen Hersteller bei dem solche Modems auch nur ansatzweise ohne weiteres funktionieren (aber mal ganz im Ernst - auf einem DELL-Rechner funktioniert meist alles problemlos unter Linux, ich selbst kaufe nur noch solche Rechner) - wichtig unter DELL - aktivieren Sie den Hardware-Schalter für mobile Verbindungen wie auch den Software-Schalter im Network-Manager, dann funktioniert auch dieses Modem.

Einfache lokale Netzwerke

Wozu könnte man ein lokales Netzwerk nutzen wo man doch heute beispielsweise auch mit dem Smartphone online gehen kann? Hat man beispielsweise mehrere Rechner im Haus stehen und nur einen Drucker / Scanner muss man nicht jedes Mal den USB-Stecker wechseln, man nutzt einfach das Netzwerk, man kann für alle Rechner eine einzige Internet-Verbindung nutzen, also Kosten sparen, man kann miteinander / gegeneinander spielen, man kann einen Rechner (etwa den Raspberry Pi - im Menü Tipps) als Daten-Server / Backup-Rechner oder Media-Server nutzen, Dateien ohne externe Datenträger tauschen oder auch mit dem Smartphone via Kdeconnect. Und natürlich die vielen Dinge die mir gerade nicht einfallen.

In diesem Beispiel werde ich ein einfaches Netzwerk beschreiben das man mit jedem handelsüblichen Router erstellen kann, einen Router hat meist heute jede Wohnung als Inventar, viele können heute auch schon mit GSM/UMTS und LTE umgehen sodass man selbst hier nur noch eine SIM-Karte benötigt.

In einem einfachen Netzwerk wie es die meisten Leute zu Hause haben, also einen Router mit WLAN und oder Kabel - also Ethernet via Netzwerkkabel dient der Router einfach nur als Hardware für die Internet-Verbindung, dabei können diese Teile um vieles mehr - sie können damit Ihr Netzwerk ohne zusätzliche Kosten erstellen. Dazu benötigt es nur wenige Handgriffe in der Software.

Einfaches Beispiel

Alles was Sie benötigen ist wie schon beschrieben ein Router, hat dieser WLAN umso besser. Unter normalen Umständen vergibt der Router IP-Adressen zufällig an die Rechner die sich mit diesem verbinden, um ein Netzwerk zu erhalten in dem man jeden Rechner zu jeder Zeit einfach und schnell erreichen will wäre es aber notwendig das jeder Rechner, also auch etwa ein Smartphone oder Raspberry Pi, egal ob per Kabel oder WLAN immer die selbe IP-Adresse zugewiesen bekommt. Denn die IP-Adresse ist ist wie der Name schon sagt eine Adresse - diese kann man sich wie seine Hausnummer vorstellen. Vergibt der Router bei jeder Verbindung eine andere IP-Adresse müsste man wenn man einen anderen Rechner erreichen möchte jedes Mal erst in Erfahrung bringen welche IP-Adresse dieser aktuell hat.

Als erstes sollte man nun in Erfahrung bringen welcher Rechner - wie schon beschrieben auch egal ob Smartphone oder was auch immer sich im Netzwerk befindet, dazu installiert man sich über die Paket-Verwaltung das Paket "arp-scan" und verbindet sich nun mit allen Geräten die an diesem Netzwerk teilnehmen sollen mit dem Router, soll dies mit mehreren möglichen Verbindungen geschehen, also WLAN und Ethernet (Netzwerkkabel) tut man dies zur selben Zeit. Ist dies geschehen startet man auf dem Terminal als Nutzer root den Befehl:

arp-scan -l

Eine mögliche Ausgabe:

Das eigene einfache Netzwerk mit Linux - welche Rechner sind im Netz

Das eigene einfache Netzwerk mit Linux - welche Rechner sind im Netz

Nun öffnet man die Konfiguration des Routers was meist über den Webbrowser geschieht indem man ganz einfach dessen IP-Adresse in die Adresszeile eingibt, also etwa für die IP-Adresse "192.168.1.1" (diese erfahren Sie in der Anleitung Ihres Routers):

http://192.168.1.1

Das eigene einfache Netzwerk mit Linux - welche Rechner sind im Netz - Feste IP-Adressen vergeben

Das eigene einfache Netzwerk mit Linux - welche Rechner sind im Netz - Feste IP-Adressen vergeben

Hier kann ich leider keine optimale Anleitung vergeben da die zu erreichenden Einstellungen im Router bei jedem Hersteller unterschiedlich sind, meist finden sich diese aber unter Einträger wie "Sicherheit", aktivieren Sie diese Geräte die am Netzwerk mit fixen IP-Adressen versorgt werden sollen und speichern die Einstellungen. Spätestens nach einem Neustart des jeweiligen Systems - besser aber noch des Routers haben alle Geräte ihre neue fix zugewiesene IP-Adresse was die Erreichbarkeit im Netzwerk ungemein beschleunigt denn wir müssen ja nicht mehr vor jedem Versuch eine Verbindung zu einem anderen Rechner erst die IP-Adresse heraus finden. Zu solchen Geräten zählen dann natürlich auch Netzwerkdrucker und Scanner und alle möglichen IoT-Geräte.

Jetzt haben zwar alle Geräte eine fixe IP-Adresse, solche sind aber noch immer sehr unhandlich, nehmen wir einmal eine SSH-Verbindung zu einem anderen Rechner mit der IP-Adresse "123.456.78.9" die wir auf dem Terminal etwa so starten würden:

ssh root@123.456.78.9

Zahlen sind eben einfach umständlich, wäre es nicht viel einfacher wir würden einfach den Rechnernamen angeben statt der IP-Adresse? Natürlich, so funktioniert auch das Internet. Die Rechner im Internet haben einen Namen, etwa die Linux Bibel "linux-bibel-online.org" und natürlich eine IP-Adresse, ohne diese IP-Adresse würde das Internet so wie wir es heute kennen nicht funktionieren, aber diese Adressen sind einfach nicht sonderlich einfach im Kopf zu behalten, stattdessen geben wir den Namen des Rechners ein - ein DNS-Server übersetzt nun den Namen in die IP-Adresse mit der das Internet tatsächlich kommuniziert.
In einem kleinen lokalen Netzwerk nun einen eigenen DNS-Server zu konfigurieren wäre nun natürlich etwas übertrieben, es geht auch viel einfacher, wir erstellen uns ganz einfach auf jedem Rechner ein kleines Telefonbuch mit minimalen Aufwand das diese Aufgabe ebenso gut erledigt. Hierzu nutzen wir ganz einfach die System-Datei "/etc/hosts", diese wird uns als Telefonbuch dienen und unsere Rechner-Namen in IP-Adressen umwandeln. Diese Datei kann nur der Administrator, also der Nutzer root bearbeiten, öffnen Sie also als Administrator diese Datei mit einem beliebigen Texteditor, bringen Sie die IP-Adressen der jeweiligen Rechner in Ihrem Netzwerk in Erfahrung, unter Linux funktioniert dies ganz einfach auf dem Terminal als Administrator durch den Befehl:

ifconfig

Unter auf sehr aktuellen Debian-Systemen mit dem Befehl:

ip a

Zur Info: "ip" ersetzt auf neuesten Systemen den Befehl "ifconfig", dieser wird nicht mehr automatisch installiert, dies lässt sich aber über die Paket-Verwaltung durch das Paket "net-tools" nach holen. Unter Microsoft Windows öffnen Sie dazu die Eingabeaufforderung und geben den Befehl:

ipconfig

ein, unter Android öffnen Sie die Einstellungen, hier die Informationen zum Telefon und darin wieder den Status. Auf einem MAC öffnen Sie die Systemeinstellungen und wählen das Netzwerk. Für andere IoT-Geräte lassen Sie wieder das Terminal als Administrator den Befehl:

arp-scan -l

walten der alle Geräte mit IP-Adressen, Hardware-Adressen (MAC-Adressen) und wenn möglich den Namen anzeigt. Nun haben wir die IP-Adressen aller Systeme in unserem Netz sowie deren Namen - wir können unser Telefonbuch bearbeiten, hier ein kleines Beispiel der Grundkonfiguration die vom System vorgelegt wurde:

Einfache Netzwerke unter Linux erstellen - die hosts-Datei bearbeiten

Einfache Netzwerke unter Linux erstellen - die hosts-Datei bearbeiten

Hier noch einmal in Text-Form:

127.0.0.1 localhost 127.0.1.1 robert-pc-mini ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters

Diese bestehende Grundkonfiguration dürfen wir auch nicht verändern, sonst läuft auf dem System so gut wie gar nichts mehr - wir dürfen nur Einträge hinzu fügen. Als kleines Beispiel habe ich hier folgende Rechner mit Namen und IP-Adressen:

robert-pi 123.456.78.1
robert-desktop 123.456.78.2
wetterstation 123.456.78.3

Diese Einträge fügen wir nun einfach in unsere hosts-Datei ein, hinten lässt sich noch eine Beschreibung anführen:

127.0.0.1 localhost 127.0.1.1 robert-pc-mini 123.456.78.1 robert-pi Raspberrypi 123.456.78.2 robert-desktop Desktop-Rechner 123.456.78.3 wetterstation Wetterstation ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters

Die Datei wird natürlich gespeichert, spätestens ab einem Neustart lassen sich nun statt der IP-Adressen auch die Namen der Rechner nutzen, also etwa statt:

ssh root@123.456.78.1

der Befehl:

ssh root@robert-pi

Hat ein Rechner mehrere IP-Adressen weil er etwa über mehrere Schnittstellen - etwa mittels Ethernet sowie WLAN gibt man einfach alle IP-Adressen an, etwa:

123.456.78.2 robert-desktop 123.456.78.4 robert-desktop

Diese hosts-Datei passen Sie nun auf jedem Rechner individuell an, unter Microsoft Windows liegt diese Datei unter "C:\Windows\System32\drivers\etc", auf dem MAC unter "/private/etc/hosts".

Erweiterte & professionelle Netzwerke

Nun haben wir gesehen wir wir einfach uns schnell ein einfaches Netzwerk erstellen können das auch problemlos funktioniert, hat man jedoch ein großes Netzwerk wie etwa in Firmen mir mehreren Dutzend Hunderten oder noch mehr Rechner wird ein kleiner Router schnell überfordert sein, auf jedem einzelnen System die hosts-Datei manuell zu konfigurieren ist auch nicht gerade wenig umständlich, dann kommen noch Datenbank-Server, Mail-Server, Webserver und was weis ich noch alles dazu ist man mit so einem einfach erstellten Netz wie oben schnell im Nirvana weil die Administratoren nicht nach kommen.

In solchen Fällen greift man zu einem eigenen DNS-Server der auch gleich als Router dient, bei sehr großen Netzwerken nutzt man einen eigenen Rechner als Router, die Konfiguration solcher Netzwerke und Rechner-Systeme sehen wir uns nun in diesem Teil dieses Beitrages an.

DNS-Server

Was ist ein DNS-Server eigentlich? Manche sagen auch einfach Nameserver dazu, die korrekte Bezeichnung nennt sich aber Domain Name Server, wie oben bei den einfach gehaltenen Netzwerken schon beschrieben kommuniziert jedes Netzwerk, egal ob ein kleines lokales oder das große Internet mit IP-Adressen. Eine solche kann man sich vor stellen wie eine Telefonnummer, wählt man eine Nummer weis man meist wen man damit anruft - es ist also so gesehen nichts anderes als eine Adresse. Stellen Sie sich nun vor - im Internet gibt es Webseiten ohne Ende, diese sind kaum noch zählbar, jede dieser Webseiten liegt nun natürlich auf einer Festplatte des zugehörigen Rechners - der sich ganz einfach Webserver nennt. Diese Webserver sind in Server-Zentren rund um die Welt verteilt und jeder dieser Webserver hat nun natürlich eine eigene IP-Adresse, manchmal wenn es sich um einen virtuellen Server handelt (Virtualisation) haben dann sogar die einzelnen Webseiten eigene IP-Adressen, solche Server haben dann zumeist fixe - also statische IP-Adressen, ändern sich also nicht.

Nehmen wir nun an Sie mieten sich einen eigenen Webserver für Ihre Webseite im Internet, dieser Server bekommt nun natürlich seine eigene IP-Adresse und Sie vergeben einen Namen für diesen Server - diese Webseite, die so genannte Domain. Für die Linux Bibel lautet diese Domain nun ganz einfach "linux-bibel-online.org", wir haben nun eine eigene IP-Adresse und natürlich die eigene Domain, was aber nun wenn wir beispielsweise den Anbieter unseres Webservers ändern? Dann bekommen wir auch eine andere IP-Adresse und die Domain passt nicht mehr zu dieser, unser Webbrowser - also das komplette Internet kommuniziert nun mal mit IP-Adressen, unsere Webseite wäre also nicht mehr erreichbar.

Darum kümmert sich nun der DNS-Server, man kann sich einen solchen als Telefonbuch für das Internet vorstellen, wollen wir eine beliebige Webseite in unserem Webbrowser öffnen, beispielsweise "debian.org" geben wir in unserem Webbrowser in die Adresszeile diese Adresse ein, unser Webbrowser sucht sich nun einen in unserem System vor gegebenen DNS-Server und fragt diesen welche IP-Adresse denn nun "debian.org" hat - unser Webbrowser bekommt diese zurück und öffnet nun mit dieser IP-Adresse unsere gewünschte Webseite. Dies geschieht nicht nur beim öffnen von Webseiten sondern auch beim Abrufen von E-Mails, beim Chatten mit allen möglichen Klienten, bei der Synchronisation der Zeit und so weiter und so fort. Bei allem was wir im Netzwerk tun brauchen wir ein solches Telefonbuch - also einen Domain-Server, haben wir einen solchen nicht müssten wir für alles Mögliche die jeweilige IP-Adresse kennen. Ab einem Netzwerk von 30 Rechnern aufwärts lohnt es sich einen solchen für sich selbst zu konfigurieren da alles Andere für die Administratoren zu umständlich wäre.

Wir wollen uns nun einen solchen DNS-Server selbst erstellen, für einen solchen nutzt man im besten Falle einen eigenen Rechner - kann aber problemlos auch etwa ein Raspberry Pi sein, natürlich sollte das System ein sicheres sein da ein DNS-Server wenn man ihn selbst einsetzt sicherheitstechnisch essentiell ist. Ein solches wäre nun natürlich etwa Debian. Man nutzt am besten ein System das man gerade frisch aufgesetzt hat, auf dem nichts installiert ist was man sonst nicht benötigt, auch eine grafische Oberfläche ist nicht nötig. Das erste was wir nun ganz einfach über die Paket-Verwaltung installieren ist das Paket "bind9", dies ist die essentielle Software - unser Domain-Server, dieser wird auch von allen anderen Diensten genutzt - also unseren Providern im Internet.

Die Konfiguration ist natürlich nicht gleich für das komplette Netzwerk nutzbar, diese müssen wir erst auf unsere Bedürfnisse zu schneiden. Für den Rechner auf dem Bind installiert wurde arbeitet der Server schon korrekt, wir wollen aber natürlich etwas weiter gehen und diesen für das komplette Netzwerk - oder auch Unter-Netzwerke verfügbar machen. Als erstes sehen wir uns einmal die grundlegende Konfiguration an, die Haupt-Konfigurationsdatei ist nun "/etc/bind/named.conf", in dieser finden sich vor allem globale Konfigurationen sowie Links zu weiter führenden Dateien - so etwa für die Datei "named.conf.options" die die allgemeine Konfiguration beinhaltet, diese Links zeigen den Pfad zu den weiteren Dateien wie etwa für die gerade genannte:

include "/etc/bind/named.conf.options";

In dieser Datei finden sich einige der wichtigen Einstellungen im Bereich "options":

options { directory "/var/cache/bind"; forwarders { 123.456.78.9; 123.456.78.1; }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; };

Die erste Option enthält vor allem das Verzeichnis für den Cache, also die gespeicherten Daten IP-Adressen/Domains, mit der Option "forwarders" stellen wir die IP-Adressen ein an die sich unser Domain-Server wendet wenn er Adressen nicht in seinem Cache hat - also die IP-Adressen von anderen Domain-Servern die sich nicht in unserem Netz befinden. Würde man stattdessen:

options { directory "/var/cache/bind"; recursion yes; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; };

einsetzen würde der Server selbst im Netz nach den nötigen Daten suchen statt andere Domain-Server zu befragen. Sie können diese Optionen um vieles erweitern, wichtig ist das es nur einen Bereich namens "options" in dieser Datei geben darf, für unsere Bedürfnisse sind wir hier aber erst mal fertig, will man aber dann doch mehr installiert man sich über die Paket-Verwaltung das Paket "bind9-doc" das alle möglichen Einstellungen bereit hält, das Paket installiert die Dokumentation in das System-Verzeichnis "/usr/share/doc/bind9-doc/misc/options.gz".

Was wir weiter benötigen findet sich in der Datei "/etc/bind/named.conf.default.zones", hier müssen mindestens zwei Datenbanken eingerichtet werden. Diese so genannten Zonen dienen dazu die Auflösung von IP-Adressen zu Domain-Namen und umgekehrt zu regeln. Eine für die eine Richtung - also etwa von Domain-Namen zu IP-Adressen und die andere umgekehrt, einfach gesagt werden hier ganz einfach die IP-Adressen zur jeweiligen Domain gespeichert. In der Standardkonfiguration würden zwei Dateien genügen, es lassen sich aber auch etwa für ganze IP-Adressbereiche eigene Dateien einrichten, so könnte man beispielsweise für das eigenen lokale Netzwerk eine solche anlegen. Standardmäßig richtet Bind bei der Installation automatisch drei solche ein - die Konfiguration dazu sieht folgendermaßen aus:

zone "." { type hint; file "/etc/bind/db.root"; }; zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; };

"type hint" bedeutet ganz einfach das die "root"-Datenbank "." auf die Datei "/etc/bind/db.root" verweist, "type master" das der lokale Server für die beiden Einträge "db.local" (forward) und "db.127" (reverse) als Master, also autoritativ arbeitet.

Die Zonen-Dateien selbst sind relativ einfach gehalten:

; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA localhost. root.localhost. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS localhost. @ IN A 127.0.0.1 @ IN AAAA ::1

Dies ist wie man sieht die Zonen-Datei "db.local", also für den Rechner mit dem eigentlichen Domain-Server - oder einfach gesagt "localhost". Kommentare - also nicht für das System relevante Einträge / Berschreibungen erkennt man am Semikolon ";", alles andere sind Einstellungen. "$TTL" bedeutet nichts anderes als "Time To Live", also wie lange die Informationen in der jeweiligen Datenbank gültig sind bevor die Informationen von vorne erneuert werden. Die Zeit selbst wird wie hier "604800" in Sekunden angegeben, kann alternativ aber auch etwa in "24h" Stunden, "2d" Tagen oder "1w" Wochen angegeben werden.

Anschließend folgen die so genannten Resource Records, eingeleitet werden diese vom "@" die jeweils eine eigene Zone darstellen. "SOA" - "Start Of Authority" zeigt Informationen zur jeweiligen Klasse, dabei steht "IN" beispielsweise ganz einfach für "Internet", weiter folgen der Nameserver "NS" - hier also "localhost." und die Mail-Adresse des Verantwortlichen die hier statt des "@" durch einen Punkt ersetzt wird - das @ gibt ja die Zone an.

Einige weitere Klassen wären beispielsweise "PTR" (Pointer Record) - er verknüpft eine IP-Adresse für den "reverse lookup" mit einem Domain-Namen, "CNAME" (Canonical Name Record) - trägt einen Domain-Namen für einen anderen ein und "MX" (Mail Exchanger) - er gibt an bei welchen Rechnern E-Mails für diese Domain ankommen.

Hier nun ein kleines Beispiel für die Domain "heimnetz.org", der DNS-Server soll für alle Rechner der genannten Domain den DNS-Server spielen, natürlich auch für den lokalen auf dem der Server installiert ist. Wir bearbeiten als erstes die Datei "/etc/bind/namend.conf.options":

options { directory "/var/cache/bind"; auth-nxdomain no; allow-transfer {"none";}; allow-recursion {129.168.2.0/24;}; };

Mittels "allow-transfer" lässt sich definieren welche zusätzlichen Domain-Server die Zonen-Dateien auf das eigene System kopieren dürfen, Sie geben einfach die entsprechenden IP-Adressen an, in diesem Fall darf dies keiner. Unter "allow-recursion" gibt man den oder die IP-Adressen-Bereiche an die nun Anfragen an den Domain-Server stellen dürfen, in diesem Fall der komplette IP-Bereich von "192.168.2.0" bis "192.168.2.255". Nun gehen wir weiter zu unserer Datei "/etc/named.conf.local":

zone "heimnetz.org" { type master; file "/etc/bind/db.heimnetz"; allow-transfer {192.168.2.0;192.168.2.25;}; };

Hier wird es nun direkt den IP-Adressen "192.168.2.0" und "192.168.2.25" erlaubt auf den Domain-Server zuzugreifen, auch hier lässt sich wenn gewünscht wieder der komplette Bereich angeben. Zuletzt wenden wir uns an unsere eigentliche Zonen-Datei "/etc/bind/db.heimnetz":

$TTL 2h @ IN SOA heimnetz.org. mail.heimnetz.org. { 46800 ; Serial 14400 ; Refresh (2h) 3600 ; Retry (1h) 604800 ; Expire (7d) 14400 ) ; Negative Cache TTL (4h) ; @ IN NS ns1.heimnetz.org. @ IN NS ns2.heimnetz.org. @ IN A 192.168.2.58 ns1 IN A 88.178.2.59 ns2 IN A 89.178.2.60 @ IN MX 10 mail.heimnetz.org. @ IN MX 15 smtp.heimnetz.org. mail IN A 192.168.2.61 smtp IN A 192,168.2.61

Ich habe hier auch gleich zwei weitere Nameserver ("ns1" und "ns2") eingefügt sowie einen Mail-Server über den der Mail-Verkehr geleitet wird ("mail" und "smtp").

DHCP-Server

Wir wissen inzwischen das das Internet, also unsere Systeme wie auch die Server im Netzwerk / Internet mittels IP-Adressen kommunizieren. Etwas oder jemand muss uns nun mit diesen IP-Adressen versorgen, im kleinen Netzwerk bei uns zu Hause macht dies meist der Router, der Router der wiederum direkt am Internet hängt wird wiederum vom Router des Providers mit einer IP-Adresse versorgt. Verbinden wir uns per UMTS/GSM oder LTE mit dem Internet fällt (meist) unser kleiner Router aus und wir bekommen direkt über den Router des Providers unsere IP-Adresse.

Ein solcher kleiner Router wie etwa die Fritzbox, TP-Link oder von welchem Hersteller auch immer hat natürlich nur begrenzte Fähigkeiten und vor allem auch nur solche die der Hersteller dafür vor gesehen hat. Man kann zwar heute an eine Fritzbox ohne Probleme bis zu 150 Rechner per Ethernet oder WLAN gleichzeitig ins Internet bringen oder diese im Netzwerk verbinden - viel Leistung darf man sich dabei aber nicht erwarten da die Hardware dafür einfach nicht konzipiert ist. Natürlich gibt es auch Hardware die damit oder auch mit mehr klar kommt - solche Geräte kosten dann aber auch.
Wenn da nicht Linux wäre mit dem man sich problemlos einen solchen Router erstellen könnte denn im Grunde ist ein Router nichts anderes als ein kleiner Rechner mit (heute meist) Linux als Betriebssystem. Alles was wir benötigen ist also ein leistungsfähiges Betriebssystem das natürlich auch stabil und sicher sein sollte und die nötige Netzwerk-Hardware, also einen Adapter für mehrere Ethernet-Kabel mit dem sich unsere Rechner im Netzwerk damit verbinden können oder eben die passende leistungsfähige WLAN-Antenne.

Erstellt man seinen Router so selbst kann dieser nicht alleine nur als Router dienen der das Netzwerk miteinander verbindet und den Zugang zum Internet erstellt sondern kann auch noch viel mehr, eine leistungsfähige Firewall dar stellen, einen Datei-Server aller Art (etwa SMB/SAMBA, NAS, FTP, WEBDAV, ...) und vieles mehr (wie etwa auch den zuvor beschriebenen Domain-Server). Mit wenigen Rechnern im Netzwerk könnte dies sogar ein Raspberry Pi sein.

Wie zuvor denke ich mir das Sie sich auf einem Rechner ein Debian frisch installiert haben, eine grafische Oberfläche benötigen wir nicht wirklich. Das erste was wir benötigen ist nun natürlich eine Software die uns mit IP-Adressen versorgt, grob gesagt ein DHCP-Server, diesen installieren wir uns ganz einfach über die Paket-Verwaltung durch das Paket "isc-dhcp-server". Zur Konfiguration für die wir natürlich als Nutzer root arbeiten müssen nutzen wir die Datei "/etc/dhcp/dhcpd.conf".

Wir benötigen für unseren DHCP-Server nur eine grundlegende Konfiguration, dazu suchen wir uns zu Beginn die Zeile:

option domain-name " ";

In der wir einfach den Namen unseres Netzwerkes eintragen das ich als Beispiel einfach "mein.netz" nennen werde, also:

option domain-name "mein.netz";

Als nächstes geben wir unseren oder unsere Domain-Server an - wenn wir unseren eigenen wie oben erstellt haben können wir diesen hier schon eintragen, wir suchen also die Zeile:

option domain-name-servers ;

und tragen hier unsere DNS-Server getrennt durch einen Beistrich und Leerzeichen an, dies können wenn gewünscht auch mehrere sein, mehr als einer ist aber immer besser:

option domain-name-servers 8.8.8.8, 8.8.4.4;

Hier habe ich etwa die Server von Google genutzt, eine äußerst umfangreiche Liste solcher öffentlicher Server (über die Sie beispielsweise auch Netzsperren umgehen finden sich unter (zu diesen zählen natürlich auch die zuvor angegebenen) ungefiltert surfen. Nun geben wir noch das Subnetz an, in diesem Beispiel "192.169.1.0", die Subnetzmaske "255.255.255.0", sowie den Adressbereich - also den Bereich von IP-Adressen die der Router vergeben darf ("range") und die erste nutzbare Adresse:

subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.1 192.168.1.99; option routers 192.168.1.1; }

Nun wollen wir beispielsweise jedem Rechner eine fixe - also statische IP-Adresse zuweisen legt man für jeden Rechner einen folgenden neuen Eintrag an, in diesem Fall für den Host "rechner1":

host rechner1 { hardware ethernet 08:00:20:A4:89:C1; fixed-address 192.168.1.13; }

Also mittels "hardware ethernet" die jeweilige MAC (Hardware-Adresse) und mit "fixed-address" die IP-Adresse - beides lässt sich wie üblich unter Linux mit folgenden Befehlen erfahren:

ifconfig ip a

Natürlich nur als Administrator. Unter Windows nutzen Sie in die Eingabeaufforderung den Befehl:

ipconfig /all

Für weitere Mögliche Konfigurationen nutzen Sie ganz einfach den Befehl:

man dhcpd.conf

Nach jeder Konfiguration gilt es den Server neu zu starten was natürlich durch den Befehl:

systemctl dhcpd.service restart

gelingt.

Ethernet- & WLAN-Router

Suche Nach oben Startseite Mail an den Autor Links rund um Linux









SiteLock