Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:dhcp

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Vorherige Überarbeitung
lpi2:dhcp [2019/06/19 14:21]
lpi2:dhcp [2022/08/30 13:15] (aktuell)
ingo_wichmann [Client testen]
Zeile 1: Zeile 1:
 +====== DHCP4-Dienst mit festen IPv4-Adressen ======
 +[[https://​bugs.debian.org/​cgi-bin/​bugreport.cgi?​bug=717215|dhcpd/​KVM Bug]] beachten (( Lösungsmöglichkeiten um UDP Checksum-Problem in KVM zu vermeiden: ​
 +  * in KVM e1000 als Netzwerkkarte auswählen, ​
 +  * oder: TX offloading in der Netzwerkkarte ausschalten
 +  * oder: mit iptables die Checksumme erzeugen
 +))
 +===== Pakete =====
 +Debian (ab 6.0):
 +  isc-dhcp-server
 +
 +openSuSE (ab 12.1):
 +  dhcp-server
 +
 +centos (6) :
 +  dhcp  ​
 +
 +===== Konfiguration =====
 +''/​etc/​dhcp/​dhcpd.conf''​ : ( debian ab 6.0 )
 +
 +''/​etc/​dhcpd.conf''​ : ( openSuSE 12.1, centos 6 )
 +<​file>​
 +authoritative;​
 +ddns-update-style none;
 +
 +log-facility local7;
 +
 +subnet 192.168.1.0 netmask 255.255.255.0 {
 +  option domain-name "​linuxhotel.de";​
 +  option routers 192.168.1.1;​
 +  option broadcast-address 192.168.1.255;​
 +  default-lease-time 600;
 +  max-lease-time 7200;
 +}
 +
 +use-host-decl-names on;
 +
 +host notebook24 {
 +  hardware ethernet 00:​16:​d3:​b9:​a0:​3e;​
 +  fixed-address 192.168.1.224;​
 +}
 +</​file>​
 +
 +=== Debian ab 6.0 ===
 +''/​etc/​default/​isc-dhcp-server''​ :
 +<​file>​
 +INTERFACES="​eth0"​
 +</​file>​
 +
 +=== SuSE ===
 +''/​etc/​sysconfig/​dhcpd'':​
 +<​file>​
 +DHCPD_INTERFACE="​eth0"​
 +</​file>​
 +
 +=== CentOS (bis 6) ===
 +''/​etc/​sysconfig/​dhcpd''​ :
 +<​file>​
 +# Command line options here
 +DHCPDARGS="​eth0"​
 +</​file>​
 +
 +===== Testen =====
 +=== Debian, CentOS 5.3 ===
 +  dhcpd -t
 +
 +=== SuSE ===
 +  rcdhcpd check-syntax
 +
 +===== starten =====
 +=== openSuSE (ab 12.1) ===
 +  service dhcpd start
 +  chkconfig dhcpd on
 +=== debian (ab 6.0) ===
 +  service isc-dhcp-server restart
 +=== centos (ab 7) ===
 +  service dhcpd start
 +===== Client testen =====
 +Optional: Interface mit passender Mac-Adresse anlegen: [[admin_grundlagen:​macvlan]]
 +
 +DHCP Anfrage ohne Änderung:
 +=== Debian (ab 6.0) Ubuntu (18.04) ===
 +  dhclient -d -sf /bin/true eth0
 +oder
 +  dhclient -d -sf /​usr/​bin/​env eth0
 +
 +Unter Ubuntu 18.04 läuft dhclient in einem [[AppArmor]]-Käfig (confinement) und kann daher ''/​bin/​true''​ und ''/​usr/​bin/​env''​ nicht ausführen. [[AppArmor|Lösung]]
 +
 +=== openSuSE (12.3) ===
 +  dhcpcd --test eth0
 +
 +=== openSuSE (ab 42.1) ===
 +  /​usr/​lib/​wicked/​bin/​wickedd-dhcp4 --test eth0
 +
 +====== IP-Adress-Pool ======
 +<file txt /​etc/​dhcp/​dhcpd.conf>​
 +subnet 192.168.227.0 netmask 255.255.255.0 {
 +  range 192.168.227.50 192.168.227.69;​
 +  …
 +}
 +</​file>​
 +  dhcpd -t
 +  service isc-dhcp-server restart
 +  dhclient -d -sf /bin/true eth0
 +  dhcp-lease-list
 +
 +====== Clientseitiges DNS über DHCP konfigurieren ======
 +<file txt /​etc/​dhcp/​dhcpd.conf>​
 +option domain-name "​z03.example.org";​
 +option domain-name-servers 192.168.202.13;​
 +option domain-search "​linuxhotel.de",​ "​z03.example.org";​
 +</​file>​
 +
 +====== DHCP Client ======
 +===== DHCP Server Optionen überschreiben =====
 +Beispiel: eigene DNS-Informationen in die ''​resolv.conf''​ eintragen
 +<file txt /​etc/​dhcp/​dhclient.conf>​
 +supersede domain-name "​z03.test";​
 +supersede domain-name-servers 192.168.203.101;​
 +</​file>​
 +====== Tools ======
 +  * [[ http://​www.webmin.com | Webmin - incl. DHCP und DNS Modul ]] ( in Debian Sarge enthalten, in Etch nicht mehr )
 +  * [[ http://​osuosl.org/​projects/​maintain/​ |  Maintain - web based management tool for DNS and DHCP ]]
 +
 +====== OMAPI / omshell ======
 +Ist eine Möglichkeit einen laufenden DHCP-Server ohne Neustart zu steuern ( leases, etc. ). 
 +
 +
 +
 +====== DHCP Failover ======
 +Debian 5.0
 +
 +( noch nicht getestet )
 +
 +  mv /​etc/​dhcp3/​dhcpd.conf /​etc/​dhcp3/​dhcpd.common.conf
 +  scp /​etc/​dhcp3/​dhcpd.common.conf notebook25.linuxhotel.de:/​etc/​dhcp3/​dhcpd.common.conf
 +
 +===== dhcpd.common.conf =====
 +''/​etc/​dhcp3/​dhcpd.common.conf''​ : 
 +<​file>​
 +subnet 192.168.1.0 netmask 255.255.255.0 {
 +  pool {
 +    failover peer "​dhcp-failover";​
 +    range 192.168.1.100 192.168.1.189;​
 +  }
 +  option domain-name "​linuxhotel.de";​
 +  option domain-name-servers 192.168.1.4,​ 192.168.1.6;​
 +  option routers 192.168.1.1;​
 +  option broadcast-address 192.168.1.255;​
 +}
 +</​file>​
 +
 +===== Primary =====
 +''/​etc/​dhcp3/​dhcpd.conf''​ : 
 +<​file>​
 +failover peer "​dhcp-failover"​ {
 +  primary ; # declare this to be the primary server
 +  address notebook20.linuxhotel.de;​
 +  port 520;
 +  peer address notebook25.linuxhotel.de;​
 +  peer port 520;
 +  max-response-delay 60;
 +  max-unacked-updates 10;
 +  load balance max seconds 3;
 +  mclt 1800;
 +  split 128;
 +}
 +
 +include "/​etc/​dhcp3/​dhcpd.common.conf";​
 +</​file>​
 +  /​etc/​init.d/​dhcp3-server restart
 +
 +===== Secondary =====
 +  /​etc/​init.d/​dhcp3-server stop
 +''/​etc/​dhcp3/​dhcpd.conf''​ : 
 +<​file>​
 +failover peer "​dhcp-failover"​ {
 +  secondary;
 +  address notebook25.linuxhotel.de;​
 +  port 520;
 +  peer address notebook20.linuxhotel.de;​
 +  peer port 520;
 +  max-response-delay 60;
 +  max-unacked-updates 10;
 +  load balance max seconds 3;
 +}
 +
 +include "/​etc/​dhcp3/​dhcpd.common.conf";​
 +</​file>​
 +  rm /​var/​lib/​dhcp3/​dhcpd.leases~
 +  > /​var/​lib/​dhcp3/​dhcpd.leases
 +  /​etc/​init.d/​dhcp3-server start
 +Sekunden entsprechend mclt Eintrag warten ...
 +
 +===== Primary oder Secondary syncronisieren =====
 +z.B. nach ''​Got POOLREQ, answering negatively! ​ Peer may be out of leases or database inconsistent''​ im Log ...
 +  /​etc/​init.d/​dhcp3-server stop
 +  rm /​var/​lib/​dhcp3/​dhcpd.leases~
 +  > /​var/​lib/​dhcp3/​dhcpd.leases
 +  /​etc/​init.d/​dhcp3-server start
 +Sekunden entsprechend mclt Eintrag warten ...