{"id":315,"date":"2020-11-01T00:29:48","date_gmt":"2020-10-31T23:29:48","guid":{"rendered":"http:\/\/www.digiliv.de\/?p=315"},"modified":"2020-11-06T10:42:16","modified_gmt":"2020-11-06T09:42:16","slug":"zentrales-dhcp-fur-komplexere-netze","status":"publish","type":"post","link":"http:\/\/www.digiliv.de\/index.php\/2020\/11\/01\/zentrales-dhcp-fur-komplexere-netze\/","title":{"rendered":"Zentrales DHCP f\u00fcr komplexere Netze"},"content":{"rendered":"<p><a href=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/10\/isc-logo-klein.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-316 alignleft\" src=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/10\/isc-logo-klein.png\" alt=\"\" width=\"264\" height=\"65\" \/><\/a>In komplexeren Netzen kann\/sollte, im Gegensatz zu kleinen flachen Netzen, meist nicht auf jedem Router oder Firewall ein DHCP-Server betrieben werden. Hier ist es einfacher und auch weniger fehleranf\u00e4llig einen zentralen DHCP-Server zu betreiben und diesen dann im Failover-Verbund redundant zur Verf\u00fcgung zu stellen.<br \/>\nIn diesem Artikel wird gezeigt, wie das auf Basis zweier Debian- oder Ubuntu-Server mit dem ISC DHCP-Server implementiert werden kann. Einerseits sind diese Tools nicht nur\u00a0 Open Source-Software, sehr gut getestet und kostenfrei, sondern auch sehr gut dokumentiert. ISC stellt neben dem DHCP-Server mit BIND den weltweit wohl am meisten verwendeten DNS-Server bereit. Selbst kommerziell vertriebene Appliances verwenden h\u00e4ufig den ISC DHCP-Server.<\/p>\n<p>Ein DHCP-Client ist ein Ger\u00e4t ohne eigene IP-Konfiguration. Um diese zu bekommen setzt er im Netzwerk einen Multicast ab, einen DHCPREQUEST. Ist auf der Firewall ein Server in Betrieb beantwortet diese das.In einem gr\u00f6\u00dferen Netzverbund ist dort ein DHCP-Relay konfiguriert, das den Request als Unicast an den zentralen DHCP-Server weiterleitet.<br \/>\nDer erkennt anhand der Relay-IP aus welchem Netzwerksegment der Request kommt und schickt eine entsprechende Konfiguration zur\u00fcck. Diese Konfiguration ist zeitlich begrenzt und muss regelm\u00e4\u00dfig erneuert werden. Man nennt das ein Lease. Der DHCP-Server nutzt das und vergibt nicht mehr erneuerte Leases erneut an andere Ger\u00e4te. Das ist z.B. in Gast-WLANs sehr interessant, weil es verhindert, dass ein IP-Bereich &#8216;\u00fcberl\u00e4uft&#8217;.<\/p>\n<p>Startpunkt sind zwei installierte Linux-Systeme, in meinem Beispiel Ubuntu Server 20.04 LTS mit den festen IPs 172.16.199.11\/24 und 172.16.199.12\/24. Der Router ins Internet (Default Gateway) hat die IP 172.16.199.1, der Router zu den Client-Netzen\u00a0 hat die IP 172.16.199.2. Die Clients kommen aus den Netzen 172.16.210.0\/24, 172.16.211.0\/24, 172.16.220.0\/24 und 172.16.221.0\/24. Deren Default-Gateways sind entsprechend immer die .1-Adressen. Die beiden DHCP-Server befinden sich also im Netz zwischen den beiden Routern.<\/p>\n<p><a href=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/10\/DHCP-Netzwerk.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-317 aligncenter\" src=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/10\/DHCP-Netzwerk-300x145.jpg\" alt=\"\" width=\"300\" height=\"145\" srcset=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/10\/DHCP-Netzwerk-300x145.jpg 300w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/10\/DHCP-Netzwerk.jpg 693w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<h3>Installation des DHCP-Daemon<\/h3>\n<p>Nach dem Login auf dem ersten Linux-Server wird zuerst das gesamte System aktualisiert.<\/p>\n<pre style=\"padding-left: 40px;\">sudo -i um Systemverwalterrechte zu bekommen\r\napt update Repos aktuell einlesen\r\napt dist-upgrade Update des gesamten Systems<\/pre>\n<p>Um sicher sein zu k\u00f6nnen, dass alle Aktualisierungen aktiviert sind, wird mittels reboot dass System neu gestartet. Danach loggt man sich neu ein und wechselt mittels sudo -i wieder in den root-Modus. Nun wird die Installation des DHCP-Servers gestartet.<\/p>\n<pre style=\"padding-left: 40px;\">apt install isc-dhcp-server<\/pre>\n<p>Damit ist der Server installiert und kann konfiguriert werden. Der Dienst muss an ein Interface gebunden werden und dies in die Konfigurationsdatei eingetragen werden.<\/p>\n<pre style=\"padding-left: 40px;\">ip address show -&gt; Ermittlung des Interface-Namens\r\nInterfacenamen-Namen eintragen in \/etc\/default\/isc-dhcp-server bei INTERFACESv4\r\nZ.B. INTERFACESv4=\"ens18\"<\/pre>\n<p>Damit ist der Dienst an ein Interface gebunden und die eigentliche Arbeitsweise kann konfiguriert werden.<br \/>\nDie zentrale Konfigurationsdatei befindet sich in \/etc\/dhcp. Diese Datei wird als dhcpd.conf.orig gespeichert, danach wird dhcpd.conf als leere Datei neu angelegt.<br \/>\nDas Konzept ist, die Konfiguration zu splitten. In dhcp-server.conf werden die zentralen Definitionen abgelegt, in dhcp-ha.conf wird die Failover-Konfiguration abgelegt und in dhcp-networks.conf werden die auszuliefernden Konfigurationen abgelegt. In der dhcpd.conf stehen nur noch die Includes und kein weiterer Inhalt. Um sp\u00e4ter den Failover-Partner oder auch weitere Server synchron zu halten, mu\u00df so lediglich die Datei \/etc\/dhcp\/dhcp-networks.con auf die jeweils anderen Server kopiert werden. Server-Optionen oder\u00a0 auch Failover-Konfigurationen bleiben so immer unangetastet.<\/p>\n<pre style=\"padding-left: 40px;\">cd \/etc\/dhcp\r\nmv dhcpd.conf dhcpd.conf.orig\r\ntouch dhcpd.conf\r\ntouch dhcp-server.conf\r\ntouch dhcp-ha.conf\r\ntouch dhcp-networks.conf\r\n\r\nEintrag in dhcpd.conf:\r\ninclude \"\/etc\/dhcp\/dhcp-server.conf\";\r\ninclude \"\/etc\/dhcp-ha.conf\";\r\ninclude \"\/etc\/dhcp\/dhcp-networks.conf\";<\/pre>\n<p>Damit der Server ohne Fehler gestartet werden kann, muss das Netzwerk des gebundenen Interfaces in die dhcp-server.conf eingetragen werden.<\/p>\n<pre style=\"padding-left: 40px;\">nano \/etc\/dhcp\/dhcp-server.conf\r\n\r\n# IP-Netz des Ethernet-Interfaces\r\nsubnet 172.16.199.0 netmask 255.255.255.0 { }<\/pre>\n<p>Um kompatibel zu z.B. Windows zu sein, m\u00fcssen noch zwei Dinge eingestellt werden.<br \/>\nDas Eine ist ein Eintrag in der hosts-Datei, das andere eine Route.<\/p>\n<pre style=\"padding-left: 40px;\">nano \/etc\/hosts\r\n255.255.255.255 dhcp\r\n\r\napt install net-tools Um u.a. route zu installieren, dann\r\nroute add -host dhcp dev ens18<\/pre>\n<p>Damit ist die Grundkonfiguration des Dienstes komplett und er kann gestartet werden<\/p>\n<pre style=\"padding-left: 40px;\">systemctl start isc-dhcp-server startet den Dienst\r\nsystemctl status isc-dhcp-server zeigt an ob der Dienst l\u00e4uft\r\nsystemctl enable isc-dhcp-server aktiviert den Autostart des Dienstes<\/pre>\n<p>systemctl status sollte nun etwa folgendes ausgeben:<\/p>\n<pre>root@dhcp2:~# systemctl status isc-dhcp-server \r\n\u25cf isc-dhcp-server.service - ISC DHCP IPv4 server \r\n\u00a0\u00a0\u00a0\u00a0Loaded: loaded (\/lib\/systemd\/system\/isc-dhcp-server.service; enabled; vendor preset: enabled) \r\n\u00a0\u00a0\u00a0\u00a0Active: active (running) since Sat 2020-10-31 15:04:43 CET; 8h ago \r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0Docs: man:dhcpd(8) \r\n\u00a0\u00a0Main PID: 118428 (dhcpd) \r\n\u00a0\u00a0\u00a0\u00a0\u00a0Tasks: 4 (limit: 4620) \r\n\u00a0\u00a0\u00a0\u00a0Memory: 5.1M \r\n\u00a0\u00a0\u00a0\u00a0CGroup: \/system.slice\/isc-dhcp-server.service \r\n \u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u2514\u2500118428 dhcpd -user dhcpd -group dhcpd -f -4 -pf \/run\/dhcp-server\/dhcpd.pid -cf \/etc\/dhcp\/dhcpd.conf<\/pre>\n<p>Dies wird noch um die letzten Log-Eintr\u00e4ge des dhcpd erg\u00e4nzt. Wichtig dabei ist der Status &#8216;active (running)&#8217;.<br \/>\nDieser Teil ist nun fertig und wir k\u00f6nnen die Installation der Admin-GUI beginnen.<\/p>\n<ul>\n<li>Es hat sich im Nachhinein eine Eigenart der Ubuntu-Installation ergeben, die verhindert, dass das pid-File geschrieben werden kann. Wie das korrigiert werden kann ist <a href=\"http:\/\/www.digiliv.de\/index.php\/2020\/11\/06\/dhcp-fehler-beim-systemstart-update-pid-file-anlegen\/\">hier beschrieben<\/a>.<\/li>\n<\/ul>\n<h3>Installation Webmin<\/h3>\n<p>Webmin ist ein graphisches Frontend, mit dem ein Linux-Server und seine Dienste (fast) vollst\u00e4ndig administriert werden kann. Aus Sicherheitsgr\u00fcnden soll der Zugriff \u00fcber https erfolgen, daher wird beim Ubuntu-Server noch die SSL-Bibliothek f\u00fcr Perl ben\u00f6tigt, da diese nicht mit installiert wird.<\/p>\n<pre style=\"padding-left: 40px;\">apt install -y libnet-ssleay-perl<\/pre>\n<p>Damit sind die Voraussetzungen f\u00fcr die Installation von Webmin geschaffen. Webmin selbst kann als tar-File von www.webmin.com geladen werden.<br \/>\nNach dem Download wird die Installationsdatei per SFTP (z.B. mittels Filezilla) in das Home-Verzeichnis des Server-Users tranferiert. Nun\u00a0 wird die Datei f\u00fcr die Installation vorbereitet.<\/p>\n<pre style=\"padding-left: 40px;\">chmod 777 \/home\/RACF\/webmin......tar.gz gibt alle Berechtigungen auf die Datei\r\nmv \/home\/RACF\/webmin.....tar.gz \/opt verschiebt die Datei in \/opt\r\ncd \/opt\r\ntar -xzvf webmin.....tar.gz entpackt die Datei in das versionierte Unterverzeichnis\r\nrm webmin....tar.gz L\u00f6scht die Installationsdatei\r\ncd webmin.....\r\n.\/setup.sh startet die Installation\r\n\r\nDabei werden die Defaults \u00fcbernnommen, au\u00dfer dem Usernamen. Es ist ein starkes Passwort zu verwenden und https sowie Autostart beim Boot aktiviert.<\/pre>\n<p>Nach Abschluss der Installation erfolgt der Zugriff im Browser via:<\/p>\n<pre style=\"padding-left: 40px;\">https:\/\/172.16.199.11:10000\r\nhttps:\/\/172.16.199.12:10000<\/pre>\n<p>Username und Passwort lauten wie in der Installation festgelegt.<\/p>\n<p>Nach der Installation kann es vorkommen, dass im Dashboard angezeigt wird, dass man das OS aktualisieren soll.<br \/>\nDazu wird unter Webmin -&gt; Webmin Configuration der Pfad aktualisiert:<\/p>\n<pre style=\"padding-left: 40px;\">bin\r\n\/usr\/bin\r\n\/sbin\r\n\/usr\/sbin\r\n\/usr\/local\/bin<\/pre>\n<p>und den Systempfad einbeziehen (Checkbox unterhalb setzen.<br \/>\nDanach das Setup aus \/opt\/webmin-&#8230; erneut laufen lassen.<br \/>\nnun sollte das Problem gel\u00f6st sein.<\/p>\n<p>Unter Hardware -&gt; System Time -&gt; Reiter Change Timezone die Zeitzone auf Europe\/Berlin einstellen<\/p>\n<h3>Konfiguration DHCP in Webmin<\/h3>\n<p>unter Servers -&gt; DHCP Server in der Module Config (Zahnrad-Icon oben links) folgende Anpassungen:<br \/>\nDisplay Subnets and Hosts: List<br \/>\nDisplay Leases Times : Local Time<br \/>\nMaximum Number of Hosts and Subnets to display: 20<br \/>\nAdd new Subnets, Hosts and Groups to file: \/etc\/dhcp\/dhcp-networks.conf<\/p>\n<p>Sollte nach dem Speichern nur der Button Start Server vorhanden sein, und nicht Apply Changes und Stop Server muss der Pfad zum PID-File in der Modul-config angepasst werden. Welches Pid-File verwendet wird, steht in der Augabe von systemctl status isc-dhcp-server<\/p>\n<p>Der zweite Server wird ebenso konfiguriert.<\/p>\n<h3>HA-Konfiguration zwischen zwei DHCP-Nodes (DHCP Failover)<\/h3>\n<p>Editieren \/etc\/dhcp\/dhcp-ha.conf<br \/>\nEinf\u00fcgen auf dem Primary DHCP-Server:<\/p>\n<pre style=\"padding-left: 40px;\">failover peer \"Beispiel-System\" {\r\nprimary;\r\naddress 172.16.199.11;\r\nport 519;\r\npeer address 172.16.199.12;\r\npeer port 520;\r\nmax-response-delay 60;\r\nmax-unacked-updates 10;\r\nmclt 3600;\r\nsplit 255;\r\nload balance max seconds 5;\r\n}\r\n\r\nomapi-port 7911;\r\nomapi-key omapi_key;\r\n\r\nkey omapi_key {\r\nalgorithm hmac-md5;\r\nsecret Ofakekeyfakekeyfakekey==;\r\n}<\/pre>\n<p>Auf dem Secondary in der \/etc\/dhcp\/dhcp-ha.conf eintragen:<\/p>\n<pre style=\"padding-left: 40px;\">failover peer \"Beispiel-System\" {\r\nsecondary;\r\naddress 172.16.199.12;\r\nport 520;\r\npeer address 172.16.199.11;\r\npeer port 519;\r\nmax-response-delay 60;\r\nmax-unacked-updates 10;\r\nload balance max seconds 5;\r\n}\r\n\r\nomapi-port 7911;\r\nomapi-key omapi_key;\r\n\r\nkey omapi_key {\r\nalgorithm hmac-md5;\r\nsecret Ofakekeyfakekeyfakekey==;\r\n}<\/pre>\n<p>Die IPs, Ports und das Secret des OMAPI-Keys m\u00fcssen nat\u00fcrlich angepasst werden.<br \/>\nmclt (Maximum Client LeadTime) und split (oder korrespondierent hba) werden nur auf dem Primary gesetzt.<br \/>\nsplit kann dabei zwischen 0 und 255 gesetzt werden. 0 bedeutet, dass der Primary passiv ist, 128 w\u00e4re ein 50\/50 Loadbalancing und 255 ist ein Failover auf den Secondary bei Ausfall des Primary.<\/p>\n<p>Damit das System funktioniert muss die Konfiguration in mindestens einem Adress-Pool (Datei \/etc\/dhcp\/dhcp-networks.conf) angesprochen werden. Z.B. so:<\/p>\n<pre style=\"padding-left: 40px;\"># User Client A\r\nsubnet 172.16.210.0 netmask 255.255.255.0 {\r\noption time-servers 192.168.10.20;\r\ndefault-lease-time 900;\r\noption subnet-mask 255.255.255.0;\r\noption broadcast-address 172.16.210.255;\r\noption routers 172.16.210.1;\r\noption domain-name \"clienta.digiliv.de\";\r\noption domain-name-servers 1.1.1.1 , 8.8.8.8;\r\npool {\r\nrange 172.16.210.10 172.16.210.19;\r\nfailover peer \"Beispiel-System\";\r\n}\r\n}<\/pre>\n<p>In der Webmin-GUI werden Subnetz, Client-Einstellungen und Pool wie abgebildet konfiguriert:<\/p>\n<p><a href=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-subnetz-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-327\" src=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-subnetz-300x224.jpg\" alt=\"\" width=\"300\" height=\"224\" srcset=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-subnetz-300x224.jpg 300w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-subnetz-1024x765.jpg 1024w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-subnetz-768x574.jpg 768w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-subnetz-1536x1148.jpg 1536w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-subnetz-2048x1531.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-pool-scaled.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-326\" src=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-pool-300x224.jpg\" alt=\"\" width=\"300\" height=\"224\" srcset=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-pool-300x224.jpg 300w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-pool-1024x765.jpg 1024w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-pool-768x574.jpg 768w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-pool-1536x1148.jpg 1536w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-pool-2048x1531.jpg 2048w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><a href=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-options.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-332\" src=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-options-300x169.jpg\" alt=\"\" width=\"300\" height=\"169\" srcset=\"http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-options-300x169.jpg 300w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-options-1024x576.jpg 1024w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-options-768x432.jpg 768w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-options-1536x864.jpg 1536w, http:\/\/www.digiliv.de\/wp-content\/uploads\/2020\/11\/dhcp-options.jpg 1920w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Ist das erledigt, k\u00f6nnen die \/etc\/dhcp\/dhcp-networks.conf-Dateien gleichgezogen werden, indem sie vom<br \/>\nPrimary auf den Secondary kopiert wird.<\/p>\n<p>Nun kann das Failover aktiviert und auf beiden Servern systemctl ausgef\u00fchrt werden:<\/p>\n<pre style=\"padding-left: 40px;\">systemctl restart isc-dhcp-server\r\nsystemctl status isc-dhcp-server<\/pre>\n<p>Beide Server sollten aktiv sein und im Systemprotokoll ihren Sync anzeigen.<\/p>\n<pre style=\"padding-left: 40px;\">Nov 1 00:04:55 dhcp2 dhcpd[118428]: balancing pool 55d6f7429ee0 172.16.220.0\/24 total 10 free 4 backup 5 lts 0 max-own (+\/-)1\r\nNov 1 00:04:55 dhcp2 dhcpd[118428]: balanced pool 55d6f7429ee0 172.16.220.0\/24 total 10 free 4 backup 5 lts 0 max-misbal 1\r\nNov 1 00:04:55 dhcp2 dhcpd[118428]: balancing pool 55d6f7428970 172.16.210.0\/24 total 10 free 4 backup 5 lts 0 max-own (+\/-)1\r\nNov 1 00:04:55 dhcp2 dhcpd[118428]: balanced pool 55d6f7428970 172.16.210.0\/24 total 10 free 4 backup 5 lts 0 max-misbal 1\r\nNov 1 00:10:34 dhcp2 dhcpd[118428]: Wrote 14 leases to leases file.<\/pre>\n<p>Als letzter Schritt muss dann sichergestellt werden, dass Client-Anfragen auf beide<br \/>\nServer verteilt werden k\u00f6nnen. Dazu wird f\u00fcr das jew. Clientnetz ein entsprechender<br \/>\nIP-Helper eingetragen. Z.B. so auf einem Cisco-Router:<\/p>\n<pre style=\"padding-left: 40px;\">interface GigabitEthernet0\/1.10\r\ndescription Client A VLAN10\r\nencapsulation dot1Q 10\r\nip address 172.16.210.1 255.255.255.0\r\nip helper-address 172.16.199.11\r\nip helper-address 172.16.199.12<\/pre>\n<p>Als Test kann der DHCP-Server-Dienst auf dem Primary heruntergefahren werden.<br \/>\nDer Secondary zeigt im Protokoll Moving from Normal to Interrupted und \u00fcbernimmt die<br \/>\nweitere Verteilung der Leases.<br \/>\nWird nach einiger Zeit der Dienst auf dem Primary wieder gestartet, wird die Kommunikation<br \/>\nzwischen beiden Knoten wieder hergestellt und der Primary wird wieder aktiv.<\/p>\n<p>Im Systemlog kann man auch die Kommunikation zwischen Client und Server verfolgen.<\/p>\n<pre style=\"padding-left: 40px;\">Oct 31 15:48:06 dhcp2 dhcpd[118428]: DHCPDISCOVER from 36:46:77:7d:08:04 (iPhone) via 172.16.221.1\r\nOct 31 15:48:07 dhcp2 dhcpd[118428]: DHCPOFFER on 172.16.221.31 to 36:46:77:7d:08:04 (iPhone) via 172.16.221.1\r\nOct 31 15:48:08 dhcp2 dhcpd[118428]: DHCPREQUEST for 172.16.221.31 (172.16.199.11) from 36:46:77:7d:08:04 (iPhone) via 172.16.221.1\r\nOct 31 15:48:08 dhcp2 dhcpd[118428]: DHCPACK on 172.16.221.31 to 36:46:77:7d:08:04 (iPhone) via 172.16.221.1<\/pre>\n<p>Wenn ein Client lediglich das Lease verl\u00e4ngern m\u00f6chte, entfallen DHCPDISCOVER und DHCPOFFER und es tauchen lediglich DHCPREQUEST und DHCPACK im Log auf<\/p>\n<p>&nbsp;<\/p>\n<p>Quellen: https:\/\/www.isc.org\/dhcp\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In komplexeren Netzen kann\/sollte, im Gegensatz zu kleinen flachen Netzen, meist nicht auf jedem Router oder Firewall ein DHCP-Server betrieben werden. Hier ist es einfacher und auch weniger fehleranf\u00e4llig einen zentralen DHCP-Server zu betreiben und diesen dann im Failover-Verbund redundant zur Verf\u00fcgung zu stellen. In diesem Artikel wird gezeigt, wie das auf Basis zweier Debian- [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":316,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[45,32,4,20],"tags":[46,49,47,48,29],"class_list":["post-315","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dienste","category-linux","category-netzwerk","category-netzwerk-infrastruktur","tag-dhcp","tag-dhcpd","tag-isc","tag-isc-dhcp-server","tag-linux"],"_links":{"self":[{"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/posts\/315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/comments?post=315"}],"version-history":[{"count":16,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/posts\/315\/revisions"}],"predecessor-version":[{"id":358,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/posts\/315\/revisions\/358"}],"wp:featuredmedia":[{"embeddable":true,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/media\/316"}],"wp:attachment":[{"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/media?parent=315"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/categories?post=315"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.digiliv.de\/index.php\/wp-json\/wp\/v2\/tags?post=315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}