(gelöst) DHCP-Server auf Debian-Router installieren

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
guennid

(gelöst) DHCP-Server auf Debian-Router installieren

Beitrag von guennid » 26.08.2016 17:41:33

Ich versuche mich mal an der Umstellung meines HeimNetzes auf DHCP, gemäß dieser Anleitung (1).

Meine erste Frage: Gleich zu Beginn wird vorgeschlagen, eine Domain in /etc/dhcp/dhcpd.conf einzutragen.

Code: Alles auswählen

option domain-name "meinnetz.lokal";
Bei jeder Neuinstallation eines Debian-Betriebssystems wurde ich bisher nach der Eingabe einer domain gefragt. Das habe ich auch jedes Mal getan. Sie besteht aus einem Wort. Und alle so installierten Maschinen im LAN haben Internetzugang. Das obige Beispiel und auch alle anderen, die ich so gefunden habe, sind zweiteilig. Wie jetzt: Ist meine bisherige domain fehlerhaft/ohne Belang, soll ich die ändern? Darf ich die statt sowas zweiteiligem übernehmen? Kann ich die Eingabe übergehen, oder wie jetzt?

(1) https://wiki.debian.org/de/DHCP_Server

Grüße, Günther
Zuletzt geändert von guennid am 29.08.2016 23:58:10, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: DHCP-Server installieren

Beitrag von MSfree » 26.08.2016 19:59:57

EIn DHCP-Server ist nicht nur dazu da, Clients eine eindeutige IP-Adresse zu übergeben, auch die Netzwerkmaske, die Broadcast-Adresse, die IP-Adresse des Routers (Default Gateway), die IP-Adresse des Nameservers und der Domainname wird an die Clients serviert, so daß beim Client praktisch nichts mehr konfiguriert werden muß ausser dem Hostnamen.

Der Domainname ist für den DHCP-Server nicht unbedingt notwendig, erleichtert die Arbeit mit den Clients aber dann, wenn du neben dem DHCP-Server auch noch einen DNS im Netz betreibst, der die Namensauflösung für die lokale Domain übernimmt.

Für DNS und DHCP gibt es im Prinzip zwei Möglichkeiten:
1. du installierst separate DHCP-Server und DNS und konfigurierst sie so, daß der DHCP-Server die Clients beim DNS einträgt. Diese Option ist allerdings ein wenig anspruchsvoll mit hohem Frustfaktor für Anfänger.

2. du nimmst dnsmasq, der vereinigt DNS und DHCP-Server in einem und kümmert sich auch um den Eintrag der ausgegebenen Client-IP-Adressen im DNS. Die Konfiguration ist sehr einfach und erlaubt auch, im Netz neben DHCP-servierten Clients auch welche mit statische IP zu betreiben. (das geht zwar in 1 auch, ist aber komplizierter).

Als Domain empfiehlt sich irgendetwas, das es im Internet nicht gibt. Eine private Domain mit .de zu betrieben, ist nicht unbedingt zielführend. Ich habe mir für solche Zwecke angewöhnt, irgendeinen markanten Ortsnamen und als Toplevel-Domain ".private" zu verwenden, Beispiel: Hauptstrasse.private.

DeletedUserReAsG

Re: DHCP-Server installieren

Beitrag von DeletedUserReAsG » 26.08.2016 20:39:27

Für LANs empfiehlt sich eher .local. Bei .private würde ich mich nicht drauf verlassen, dass es die im Netz nicht gibt/geben wird.

Benutzeravatar
heisenberg
Beiträge: 3561
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: DHCP-Server installieren

Beitrag von heisenberg » 26.08.2016 22:25:41

Beim Thema Welche TLD verwende ich für mein Heimnetzwerk? sind in den vergangenen Jahrhunderten schon Weltkriege ausgebrochen.

Eigentlich ist es ziehmlich wurscht. Wenn man eine Domain nimmt, die im Internet schon exisitiert und der lokale DNS-Server betrachtet diese Domain als seine eigene, dann kann unter der Domain keine externen Hosts(Webseiten,...) erreichen. Die Domain, die ich eher gar nicht verwenden würde wäre .local(Mit c, lokal mit k ist okay). Grund: Das ist die Domain für ZeroConf, was durch eine tatsächlich vorhandene DNS-Zone möglicherweise gestört wird.
Jede Rohheit hat ihren Ursprung in einer Schwäche.

DeletedUserReAsG

Re: DHCP-Server installieren

Beitrag von DeletedUserReAsG » 26.08.2016 22:52:34

Ich würde halt nur eine TLD nehmen, die mit einige Sicherheit keine „reale“ TLD wird. Bei .private, .lokal, .xyz o.Ä. wäre ich mir da nicht sicher (.xyz ist bereits eine „reale“ TLD), bei .local oder .localnet hingehen schon eher. Und wenn Zeroconf durch .local gestört würde, wäre das für mich umsomehr ein Grund, sie zu nehmen, aber das ist ’ne andere Geschichte (und scheint auch nicht direkt zu funktionieren).

guennid

Re: DHCP-Server installieren

Beitrag von guennid » 26.08.2016 23:27:35

TLD = lokaler Domainname - richtig?
MSfree hat geschrieben:Der Domainname ist für den DHCP-Server nicht unbedingt notwendig, erleichtert die Arbeit mit den Clients aber dann, wenn du neben dem DHCP-Server auch noch einen DNS im Netz betreibst, der die Namensauflösung für die lokale Domain übernimmt.
Also optional, für mich nicht nötig, da ich keinen eigenen DNS-Server betreiben will - richtig?

Die nächste Frage: Der DHPC-Server soll auf meinem Debian-Router mit zwei NICs laufen, der wiederum hinter einem Speedport der Telekom hängt.
Laut Ubuntu-Wiki soll ich das Interface angeben, für das der DHCP-Server "zuständig" sein soll. Ich verstehe das so, dass die Netzwerkkarte angegeben werden soll, die nach "innen" geht, also die von den Clients im LAN angesprochen wird. Das wäre dann bei mir eth0, während eth1 zum Speedport weiterleitet.

Ist dem so? Muss ich ein solches Interface angeben? Das Debian-Wiki sagt dazu gar nichts. Einen auskommentierten Eintrag in /etc/dhcp/dhcpd.conf, den ich anpassen könnte, finde ich nicht, der müsste also neu eingetragen werden - richtig?


Grüße, Günther

Benutzeravatar
heisenberg
Beiträge: 3561
Registriert: 04.06.2015 01:17:27
Lizenz eigener Beiträge: MIT Lizenz

Re: DHCP-Server installieren

Beitrag von heisenberg » 26.08.2016 23:41:21

TLD: https://www.google.de/#q=tld

-----
Die nächste Frage: Der DHPC-Server soll auf meinem Debian-Router mit zwei NICs laufen, der wiederum hinter einem Speedport der Telekom hängt.
Laut Ubuntu-Wiki soll ich das Interface angeben, für das der DHCP-Server "zuständig" sein soll. Ich verstehe das so, dass die Netzwerkkarte angegeben werden soll, die nach "innen" geht, also die von den Clients im LAN angesprochen wird. Das wäre dann bei mir eth0, während eth1 zum Speedport weiterleitet.
Ja.
Muss ich ein solches Interface angeben?
Ja - Für den ISC DHCP in /etc/default/isc-dhcp-server. INTERFACES=eth0
Jede Rohheit hat ihren Ursprung in einer Schwäche.

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: DHCP-Server installieren

Beitrag von MSfree » 27.08.2016 12:11:00

guennid hat geschrieben:Also optional, für mich nicht nötig, da ich keinen eigenen DNS-Server betreiben will - richtig?
Richtig, es ist dennoch empfehlendswert. Ich weiß nicht, wie du im Moment deinen verschiedenen Rechner im LAN ansprichst, ich finde es jedenfalls sehr bequem, meine diversen Rechner nicht per IP-Adresse ansprechen zu müssen sondern per Hostnamen. Zumal die IP-Adressen bedingt durch DHCP dann nicht mehr unbedingt vorhersehbar sind. Allerdings versuchen die meisten DHCP-Server den Clients immer wieder die selbe IP-Adresse zuzuteilen, indem sich der Server intern eine Zuordnungstabelle MAC-Adresse/IP-Adresse auch über einen Bootvorgang hinweg zu halten.

Nun kann man die Hoastname-IP-Adresse-Kombinationen auch in einer Tabelle (/etc/hosts) eintragen, nur muß man das bei jeder Änderung auf jedem Rechner nachziehen. Bei 2 Rechnern ist das nur ein wenig lästigt, bei 10 Rechnern wird es extrem fehleranfällig. Statt hosts-Dateien läßt man das am besten von einem DNS übernehmen, der auch gleich die per DHCP neu ausgegebenen Adressen übernimmt.

Wie gesagt, dnsmasq ist das eine wirklich einfach zu konfigurierende DNS/DHCP-Kombi, die auch als DNS-Forwarder deines Telekomrouters dienen kann. Mit anderen Worten, dein Clients fragen den dnsmasq ab und Hostnamen, die der dnsmasq nicht auflösen kann, werden vom Plastikrouter aufgelöst, der wiederum den Server beim Provider abfragt... So ist dnsmasq letztlich nur für den DNS deine lokalen Hostnamen zuständig.

guennid

Re: DHCP-Server installieren

Beitrag von guennid » 27.08.2016 15:42:17

@heisenberg: Den Begriff "Top Level Domain" hätte ich gekannt. :wink:
MSfree hat geschrieben:EIn DHCP-Server ist nicht nur dazu da, Clients eine eindeutige IP-Adresse zu übergeben, auch die Netzwerkmaske, die Broadcast-Adresse, die IP-Adresse des Routers (Default Gateway), die IP-Adresse des Nameservers und der Domainname wird an die Clients serviert, so daß beim Client praktisch nichts mehr konfiguriert werden muß außer dem Hostnamen.
Das ist ungefähr genau das, wo ich hin will - zunächst mal für eine Maschine!

dnsmasq habe ich erfolglos aufgegeben. Ich habe eigentlich immer gute Erfahrungen gemacht, mit software die die nur eine Sache und die dann auch gut macht. Auch wenn das manchmal am Anfang schwieriger ist.

Nächste Frage: Die bisher mit "inet static" in ihren /etc/network/interfaces den Router benutzenden Clients können das auch weiterhin tun?

Muss ich in dem subnet-Block eine Range angeben oder kann ich darauf verzichten?
Der eine Host, der die Netzwerkangaben bekommen soll, muss der benamt sein , so in diesem Stil:

Code: Alles auswählen

host wiki {
                hardware ethernet 00:00:0e:d2:da:be;
                fixed-address 192.168.2.5;
                option host-name "wiki";
}
oder reicht die MAC-Adresse? Auf die fragliche Maschine habe ich wenig Zugriff und ich weiß nicht, wie ihr das Benennen gefallen würde.

Grüße, Günther

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: DHCP-Server installieren

Beitrag von MSfree » 27.08.2016 17:34:06

guennid hat geschrieben:Nächste Frage: Die bisher mit "inet static" in ihren /etc/network/interfaces den Router benutzenden Clients können das auch weiterhin tun?
Ja, das ist kein Problem, wenn man ein paar Sachen beachtet.
Muss ich in dem subnet-Block eine Range angeben oder kann ich darauf verzichten?
Eine Range solltest du auf jeden Fall definieren. Das ist der IP-Bereich, der für dynamische Adressen verwendet werden soll. Clients, die du mit inet static definierst, müssen dann einfach nur ausserhalb dieser Range liegen.
Der eine Host, der die Netzwerkangaben bekommen soll, muss der benamt sein , so in diesem Stil:

Code: Alles auswählen

host wiki {
                hardware ethernet 00:00:0e:d2:da:be;
                fixed-address 192.168.2.5;
                option host-name "wiki";
}
Das ist eigentlich dafür gedacht, Clienst garantiert immer mit der selben IP zu versorgen. Der Client muß dann aber auf inet dhcp konfiguriert werden.

Andererseits kannst du mit so einem Eintrag aber auch verhindern, daß die IP 192.168.2.5 an einen anderen als den Rechner mit der angegebenen MAC-Adresse vergeben wird. Der Client darf dann sogar mit inet static konfiguriert werden, wobei das irgendwie doppelt gemoppelt wäre.

guennid

Re: DHCP-Server installieren

Beitrag von guennid » 27.08.2016 17:43:07

Das ist eigentlich dafür gedacht, Clients garantiert immer mit der selben IP zu versorgen. Der Client muß dann aber auf inet dhcp konfiguriert werden.
Ist bekannt. Wissen wollte ich, ob ich einen NAMEN vergeben MUSS? Ich würde es gerne so formulieren:

Code: Alles auswählen

host {
                hardware ethernet 00:00:0e:d2:da:be;
                fixed-address 192.168.2.5;
}
?

heisenberg hat geschrieben:
Muss ich ein solches Interface angeben?
Ja - Für den ISC DHCP in /etc/default/isc-dhcp-server. INTERFACES=eth0
Laut ubuntu wäre das auch zulässig in einem Subnet-Block in /etc/dhcp/dhcpd.conf.

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: DHCP-Server installieren

Beitrag von reox » 29.08.2016 11:32:37

heisenberg hat geschrieben:Beim Thema Welche TLD verwende ich für mein Heimnetzwerk? sind in den vergangenen Jahrhunderten schon Weltkriege ausgebrochen.

Eigentlich ist es ziehmlich wurscht. Wenn man eine Domain nimmt, die im Internet schon exisitiert und der lokale DNS-Server betrachtet diese Domain als seine eigene, dann kann unter der Domain keine externen Hosts(Webseiten,...) erreichen. Die Domain, die ich eher gar nicht verwenden würde wäre .local(Mit c, lokal mit k ist okay). Grund: Das ist die Domain für ZeroConf, was durch eine tatsächlich vorhandene DNS-Zone möglicherweise gestört wird.
Zu dem Thema find ich sehr viel Diskussion. Scheinbar ist es ja so, dass man eine Domain verwenden sollte die einem auch wirklich gehört. Zu dem Zweck kann man ja eine subdomain seiner eignen nehmen, zB local.example.org.
Interessant in dem zusammenhang ist auch der RFC2606, der angeblich definiert, dass man .lan verwenden soll. Komischerweise steht das da nirgends: http://www.ietf.org/rfc/rfc2606.txt (Quelle https://miketelahun.wordpress.com/2012/ ... -your-lan/)
Das mit .local seh ich nachdem ich mir ein bisserl was durchgelesen hab ein (siehe auch RFC6762). Ich denke mal, wenn man .local als Domain verwendet wird mDNS einfach gar nicht mehr funktionieren, da sofort der angegbene DNS Server gefragt wird? Wenn man eh nur ein paar Hosts hat, kann man natürlich auch einfach nur mDNS für das Lokale Netz einsetzen ohne großartig einen DNS server aufzubauen. Dann ist .local natürlich voll OK - aber eine Suchdomain muss dann natürlich nicht gesetzt werden, wenn ich das richtig sehe.

guennid

Re: DHCP-Server installieren

Beitrag von guennid » 29.08.2016 15:32:57

Beim Thema Welche TLD verwende ich für mein Heimnetzwerk? sind in den vergangenen Jahrhunderten schon Weltkriege ausgebrochen.

Eigentlich ist es ziemlich wurscht.
Ich dachte eigentlich, diese Frage sei hier mittlerweile geklärt. :evil:

Ich wiederhole meine letzte: Wenn man der durch ihre MAC bestimmten NIC eine feste IP zuweisen will. Muss das System: zu dem diese NIC gehört, vom DHCP-Server mit einem Namen angesprochen werden?

Grüße, Günther

guennid

Re: DHCP-Server installieren

Beitrag von guennid » 29.08.2016 23:57:11

Die Namensvergabe ist obligatorisch. Der Sinn erschließt sich mir nicht, da der Name offenbar mit dem existierenden Rechnernamen nicht übereinstimmen muss.

Grüße, Günther

Benutzeravatar
MSfree
Beiträge: 10776
Registriert: 25.09.2007 19:59:30

Re: DHCP-Server installieren

Beitrag von MSfree » 30.08.2016 14:53:58

guennid hat geschrieben:Die Namensvergabe ist obligatorisch. Der Sinn erschließt sich mir nicht
Der Sinn ergibt sich auch erst im Zusammenhang mit einem DNS. Normalerweise gibt der anfragende Host mit seiner DHCP-Anfrage seinen Hostnamen mit und erwartet, daß der Hostname im DNS eingetragen wird.

Alternativ kann man aber auch dem DHCP-Server beauftragen, den Hostnamen dem Client zu übergeben. Dazu muß der DHCP-Server die Mac-Adresse einem Hostnamen zuordnen können.

Solange du aber im LAN deine Rechner per IP-Adresse ansprichst und DNS nur für die Namensauflösung im Internet nutzt, spielen Hostnamen und die entsprechenden DHCP-Optionen überhaupt keine Rolle.

guennid

Re: (gelöst) DHCP-Server auf Debian-Router installieren

Beitrag von guennid » 30.08.2016 15:18:59

MSfree hat geschrieben:Solange du aber im LAN deine Rechner per IP-Adresse ansprichst
Mach' ich gar nicht, ich benutze /etc/hosts (auf allen Maschinen, einschließlich Router, identischer Inhalt). Nichtsdestotrotz habe ich meinen TP t42 bei der Installation auch t42 genannt und auch so dort eingetragen. In der /etc/dhcp/dhcpd.conf heißt er jetzt spaßeshalber rumpelstilzchen und ich kann bisher keine Fehlfunktionen feststellen. 8O

So, hier meine Konfiguration. Konfiguriert wurde ausschließlich in /etc/dhcp/dhcpd.conf auf dem Router. Mein Router verfügt über zwei Netzwerkkarten, eine, über die die Rechner im LAN den Router erreichen können und eine über die der Router via VDSL mit dem Internet verbunden ist. Es wird kein Netzwerkmanager benutzt. Pflege aller Rechnernamen und ihrer IPs (soweit bekannt) im LAN über /etc/hosts:

Code: Alles auswählen

1  subnet 192.168.100.0 netmask 255.255.255.0 {
2      range 192.168.100.60 192.168.100.69;
3      interface eth0;
4      default-lease-time infinite;
5      max-lease-time infinite;
6      option domain-name-servers 192.168.2.1;
7      option broadcast-address 192.168.100.255;
8      option subnet-mask 255.255.255.0;
9      option routers 192.168.100.251;
10     host rumpelstilzchen {
11       hardware ethernet 00:11:22:33:44:55;
12       fixed-address 192.168.100.61;
14     }
13 }
14
Zeile 1:
Angabe meines Netzsegmentes, für das der DHCP-Server tätig werden soll.
"{" markiert den Beginn dieses Subnetzabschnittes

Z.2:
Der DHCP-Server kann max. 10 IPs in dem angegebenen Bereich vergeben

Z. 3:
Die Gerätedatei der Netzwerkkarte des Routers, über die die IPs im LAN vergeben werden.

Z. 4:
Gültigkeitsdauer für eine vom DHCP-Server vergebene IP in Sekunden (z.B. 3600, wenn keine andere Maßeinheit, z.B. 5h für fünf Stunden angegeben ist; lease="Mietzeit"). Mit "infinite" wird die "Mietzeit" nicht begrenzt.
Ob eine Zeitbegrenzung im Heimnetz wirklich sinnvoll ist, weiß ich nicht. Ich könnte mir vorstellen, dass die IP nur so lange blockiert wird, selbst wenn das System gar nicht mehr mit dem Netz verbunden ist (Laptop). Sollte dem nicht so sein, d.h., sollte also die IP freigegeben werden, sobald das verbundene System nicht mehr im LAN ist, sehe ich in der Begrenzung für's Heimnetz keinen Sinn, deswegen habe ich infinite gewählt.
Im Zweifelsfall und zu Testzwecken sollte man eine nicht allzu lange dauernde Zeitbegrenzung eintragen.

Z. 5: maximale Gültigkeitszeit

Z. 6: DNS-Server, die Stelle, die URLs gültige Internet-IPs zuweist hier eine IP im Netz des Telekom-Routers

Z. 7+8:
die üblichen Netzwerkangaben in einem Netzsegment ( hier 192.168.100 ...)

Z. 9:
die IP meines Routers für eth0

Z. 10:
frei wählbarer Name für die Gerätedatei der Netzwerkkarte auf dem anfragenden Rechner (Client), der eine feste IP (aus dem in "range", Z. 2 angegebenen Bereich) zugeordnet werden soll. Ein Name für die Gerätedatei muss angegeben werden. Er sollte nicht verwechselt werden mit dem bei der Installation von Debian vergebenen Rechnernamen (wie das manche Anleitungen suggerieren). Wobei auch "Rechnername" schon wieder ungenau ist, denn im Grunde genommen vergibt man bei der Installation nicht dem Rechner, sondern dem Betriebssystem diesen Namen. Wenn der Client (besser: das anfragendes Betriebssystem) nur über eine NIC verfügt, ist der Unterschied praktisch vernachlässigbar, aber er existiert und dessen sollte man sich bewusst sein. Mittlerweile dürften die meisten, wenn nicht alle, angebotenen Rechner über mindestens zwei Karten (1xwlan und 1x lan) verfügen, denen man hier unterschiedliche IPs zuweisen kann.
Insofern wäre "host wlan0T42 {" in meinem Fall vielleicht ein sinnvollerer Eintrag in dieser Zeile. :wink:
"{": Beginn: s.o.

Z. 11:
Die MAC-Adresse der Netzwerkkarte des Clientsystems, der die feste IP zugeordnet werden soll. Erfährt man z.B. durch das Root- Kommando ifconfig für die jeweilige Gerätedatei auf dem Clientsystem.

Z. 12:
die feste IP

Z. 13:
"}": Ende des Host-Abschnittes, s.u.
Z. 14:
Endes des "subnet"-Abschnittes, s.o.

Antworten