Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
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 ... | ||