Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
lpi2:dhcp [2014/02/26 17:56] ingo_wichmann |
lpi2:dhcp [2022/08/30 13:15] (aktuell) ingo_wichmann [Client testen] |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== DHCP-Dienst mit festen IP-Adressen ====== | + | ====== DHCP4-Dienst mit festen IPv4-Adressen ====== |
- | ((kvm/xen bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717217)) | + | [[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 ===== | ===== Pakete ===== | ||
- | Debian 6.0: | + | Debian (ab 6.0): |
isc-dhcp-server | isc-dhcp-server | ||
- | openSuSE 12.1: | + | openSuSE (ab 12.1): |
dhcp-server | dhcp-server | ||
- | centos 6 : | + | centos (6) : |
dhcp | dhcp | ||
===== Konfiguration ===== | ===== Konfiguration ===== | ||
- | ''/etc/dhcp/dhcpd.conf'' : ( debian 6.0 ) | + | ''/etc/dhcp/dhcpd.conf'' : ( debian ab 6.0 ) |
''/etc/dhcpd.conf'' : ( openSuSE 12.1, centos 6 ) | ''/etc/dhcpd.conf'' : ( openSuSE 12.1, centos 6 ) | ||
Zeile 37: | Zeile 41: | ||
</file> | </file> | ||
- | === Debian 6.0 === | + | === Debian ab 6.0 === |
''/etc/default/isc-dhcp-server'' : | ''/etc/default/isc-dhcp-server'' : | ||
<file> | <file> | ||
Zeile 47: | Zeile 51: | ||
<file> | <file> | ||
DHCPD_INTERFACE="eth0" | DHCPD_INTERFACE="eth0" | ||
- | DHCPD_RUN_CHROOTED="yes" | ||
- | DHCPD_RUN_AS="dhcpd" | ||
</file> | </file> | ||
- | === CentOS === | + | === CentOS (bis 6) === |
''/etc/sysconfig/dhcpd'' : | ''/etc/sysconfig/dhcpd'' : | ||
<file> | <file> | ||
Zeile 59: | Zeile 61: | ||
===== Testen ===== | ===== Testen ===== | ||
- | === Debian === | + | === Debian, CentOS 5.3 === |
dhcpd -t | dhcpd -t | ||
=== SuSE === | === SuSE === | ||
rcdhcpd check-syntax | rcdhcpd check-syntax | ||
- | |||
- | === CentOS 5.3 === | ||
- | dhcpd -t | ||
===== starten ===== | ===== starten ===== | ||
- | === openSuSE 12.1 === | + | === openSuSE (ab 12.1) === |
service dhcpd start | service dhcpd start | ||
chkconfig dhcpd on | chkconfig dhcpd on | ||
- | === debian 6.0 === | + | === debian (ab 6.0) === |
service isc-dhcp-server restart | service isc-dhcp-server restart | ||
+ | === centos (ab 7) === | ||
+ | service dhcpd start | ||
===== Client testen ===== | ===== Client testen ===== | ||
+ | Optional: Interface mit passender Mac-Adresse anlegen: [[admin_grundlagen:macvlan]] | ||
+ | |||
DHCP Anfrage ohne Änderung: | DHCP Anfrage ohne Änderung: | ||
+ | === Debian (ab 6.0) Ubuntu (18.04) === | ||
dhclient -d -sf /bin/true eth0 | 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 ====== | ====== Tools ====== | ||
* [[ http://www.webmin.com | Webmin - incl. DHCP und DNS Modul ]] ( in Debian Sarge enthalten, in Etch nicht mehr ) | * [[ http://www.webmin.com | Webmin - incl. DHCP und DNS Modul ]] ( in Debian Sarge enthalten, in Etch nicht mehr ) | ||
Zeile 85: | Zeile 125: | ||
Ist eine Möglichkeit einen laufenden DHCP-Server ohne Neustart zu steuern ( leases, etc. ). | Ist eine Möglichkeit einen laufenden DHCP-Server ohne Neustart zu steuern ( leases, etc. ). | ||
- | ====== mehrere Domains per DHCP ===== | ||
- | ''dhcpd.conf'' : | ||
- | <file> | ||
- | domain-name "main.domain" | ||
- | domain-search "additional.domain" | ||
- | </file> | ||
- | With 3.1.0, if the domain-search option is set, then the search directive is set to this. If the domain-name option is set, this is prepended to the list of domains in the domain-search option. | ||
====== DHCP Failover ====== | ====== DHCP Failover ====== |