Dhcpd: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Dirk (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt) | |||
Zeile 4: | Zeile 4: | ||
Er wird durch die Datei '''/etc/dhcpd.conf''' konfiguriert. | Er wird durch die Datei '''/etc/dhcpd.conf''' konfiguriert. | ||
== Installation == | |||
{{ ic | dhcpcd }} kann durch {{ic | pacman}} ganz einfach installiert werden: | |||
sudo pacman -S dhcpcd | |||
== Verwendung == | |||
Damit er auch jedes Mal beim Booten die Internetverbindung herstellt, muss man den Service von {{ic | dhcpcd}} aktivieren: | |||
sudo systemctl enable dhcpcd.service | |||
{{Hinweis | Dies funktioniert nur für Ethernet-Verbindungen! Für WLAN sollte man stattdessen z.B. [[netctl]] verwenden!}} | |||
Von nun an, wird er sich nach jedem boot um die Internetverbindung kümmern. | |||
Wenn man aber gerade in einem gebootetem System ist, muss man ihn noch manuell starten: | |||
sudo systemctl start dhcpcd.service | |||
Man kann beide Befehle in einem zusammenfassen: | |||
sudo systemctl enable --now dhcpcd.service | |||
Somit startet {{ ic | dhcpcd}} sofort und er wird beim boot direkt aktiv. | |||
=Beispielkonfigurationen= | =Beispielkonfigurationen= | ||
Zeile 69: | Zeile 85: | ||
Mögliche Parameter: | Mögliche Parameter: | ||
* booting - Erlaubt das Booten via Netzwerk | * booting - Erlaubt das Booten via Netzwerk | ||
* bootp - Erlaubt es, | * bootp - Erlaubt es, BOOTP zu verwenden | ||
==authoritative== | ==authoritative== |
Aktuelle Version vom 4. Januar 2022, 11:21 Uhr
Dieser Artikel oder Artikelabschnitt ist noch nicht vollständig!
Bei dem DHCPD handelt es sich um einen Serverdaemon für das DHCP-Protokoll. Er findet sich im Paket dhcp in EXTRA.
Er wird durch die Datei /etc/dhcpd.conf konfiguriert.
Installation
dhcpcd
kann durch pacman
ganz einfach installiert werden:
sudo pacman -S dhcpcd
Verwendung
Damit er auch jedes Mal beim Booten die Internetverbindung herstellt, muss man den Service von dhcpcd
aktivieren:
sudo systemctl enable dhcpcd.service
Hinweis: Dies funktioniert nur für Ethernet-Verbindungen! Für WLAN sollte man stattdessen z.B. netctl verwenden!
Von nun an, wird er sich nach jedem boot um die Internetverbindung kümmern. Wenn man aber gerade in einem gebootetem System ist, muss man ihn noch manuell starten:
sudo systemctl start dhcpcd.service
Man kann beide Befehle in einem zusammenfassen:
sudo systemctl enable --now dhcpcd.service
Somit startet dhcpcd
sofort und er wird beim boot direkt aktiv.
Beispielkonfigurationen
Klassisch
authoritative; subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.100 192.168.2.199; option routers 192.168.2.1; option domain-name-servers 192.168.2.1; default-lease-time 600; max-lease-time 7200; } host server { hardware ethernet 00:1b:b9:ba:79:b4; fixed-address 192.168.2.10; option host-name "server"; }
PXE-Boot-Fähig
authoritative; allow booting; allow bootp; subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.100 192.168.2.199; option routers 192.168.2.1; option domain-name-servers 192.168.2.1; default-lease-time 600; max-lease-time 7200; next-server 192.168.2.10; filename "/pxelinux.0" } host server { hardware ethernet 00:1b:b9:ba:79:b4; fixed-address 192.168.2.10; option host-name "server" }
Syntax
Die Syntax beschreibt sich so, dass in der Datei Direktiven vorhanden sind, auf welche durch Leerzeichen getrennte Parameter folgen. Die Direktiven lassen sich in Blöcke zusammenfassen. Durch ein Semikolon wird ein Ende einer Direktive definiert. Blöcke werden mithilfe von geschweiften Klammern umschlossen. Auf das Ende eines Blockes muss keine geschweifte Klammer folgen. Man kann alle Direktiven auch in einer Zeile zusammenfassen, dies ist jedoch aufgrund der Übersichtlichkeit im Interesse des Administrators zu entscheiden. Sollten mehrere Blöcke auf einen Host zutreffen, so werden diese miteinander addiert, sprich, zusammengefügt. Zeichenketten (Strings) werden in Anführungszeichen angegeben.
Blöcke
Einstellungen innerhalb eines Blockes betreffen nur diesen einen Block. Direktiven ausserhalb von Blöcken gelten als Global.
Subnet-Block
Der Subnet-Block definiert, wie der Name schon andeutet, ein Subnetz. Dieses besteht aus einem IP-Adressen-Bereich und einer Netzwerkmaske, und somit aus einer größeren Zahl von Rechnern. Diese müssen dem Server nicht näher bekannt sein. Dieser Block eignet sich daher ideal zum Beispiel auch für Gastsysteme, z.B. in WLANs.
Host-Block
Mithilfe des Host-Blocks lassen sich für einzelne Rechner Ausnahmen / Festzuweisungen festlegen.
Direktiven
allow
Allow erlaubt, wie der Name schon sagt, gewisse Funktionen. Mögliche Parameter:
- booting - Erlaubt das Booten via Netzwerk
- bootp - Erlaubt es, BOOTP zu verwenden
authoritative
Diese Direktive, ohne Parameter, gönnt diesem Server eine höhere Priorität im Netzwerk. Grundgedanke davon ist, Piraten-DHCP-Server im Netz zu verhindern.
default-lease-time
Definiert die Lease-Time. Diese gibt an, nach wievielen Sekunden das Ticket erneuert werden soll, um den DHCP-Server zu informieren, dass die IP-Adresse noch verwendet wird.
filename
Nach dieser Direktive folgt ein Dateiname der Datei, die gebootet werden soll. Genauere Informationen finden sich in Preboot eXecution Environment
fixed-adress
Diese Direktive ist nur in Host-Blöcken zu empfehlen und vergibt eine statische IP-Adresse an einen Host.
hardware ethernet
Diese Direktive findet sich normalerweise in Host-Blöcken wieder, und spezifiziert einen Host mithilfe der MAC-Adresse genauer.
max-lease-time
Gibt an, nach wievielen Sekunden ein Ticket verfällt, und die IP-Adresse als "nicht vergeben" deklariert wird.
next-server
Nach dieser Direktive folgt eine IP-Adresse des nächsten zu kontaktierenden Servers. In der Regel ist dies ein TFTP-Server. Genauere Informationen finden sich in Preboot eXecution Environment
option
Diese Direktive spezifiziert, welche DHCP-Optionen mitgeliefert werden:
- domain-name-servers: Nachfolgend folgt eine Liste der DNS-Server
- host-name: Nachfolgend folgt als Zeichenkette der Name des Systems. Dieser muss vom Zielsystem allerdings nicht angenommen werden, und kann (z.B. durch die /etc/rc.conf) überschrieben werden.
- routers: nachfolgend folgt eine Liste der Router und Gateways im Netzwerk