====== DHCP ====== ===== Client ===== ==== Linux Ubuntu ==== Hier kann man sehen von welchem DHCP-Server man bedient wurde, welche IP-Adr. man bekommen hat und wie lange man sie behält: ### alte DHCP-Lease releasen (stop) # dhclient -r ### neue DHCP-Lease leasen (start) # dhclient # cat /var/lib/dhcp3/dhclient.eth0.leases lease { interface "eth0"; fixed-address 192.168.0.230; filename "\\boot\\x86\\pxeboot.com"; option subnet-mask 255.255.255.0; option routers 192.168.0.254; option dhcp-lease-time 86400; option dhcp-message-type 5; option domain-name-servers 192.168.0.254,192.168.0.253; option dhcp-server-identifier 192.168.0.1; option dhcp-renewal-time 43200; option dhcp-rebinding-time 75600; option domain-name "domain.de"; renew 2 2010/07/27 00:00:50; rebind 2 2010/07/27 11:42:21; expire 2 2010/07/27 14:42:21; } * "fixed-address 192.168.0.230;" zeigt die IP-Adr. an, die man bekommen hat; * "option routers 192.168.0.254;" zeigt das aktuelle GateWay an; * "option dhcp-lease-time 86400;" zeigt die Zeit in Sekunden an, für die man diese IP-Ard. behält; * "option domain-name-servers 192.168.0.254,192.168.0.253;" zeigt die Domain-Name-Server an; * "option dhcp-server-identifier 192.168.0.1;" zeigt die IP-Adr. des DHCP-Server's an; * "option domain-name "domain.de";" zeigt die Domain an, in der ich mich befinde; ==== FreeBSD ==== # vi /etc/rc.conf ifconfig_fxp0="dhcp" Zu beachten ist, das bei einem richtig konfigurierten DHCP-Server die Datei "/etc/resolv.conf" bei jedem Rechnerstart (bei jeder Zuweisung durch den DHCP-Server) überschrieben wird. Wenn dort jemand also irgendwelche Einträge vornimmt, ist das nicht für die Ewigkeit... Auf einer Workstation, die Verzeichnisse per NFS mountet, sollte "background_dhclient" auf "NO" gesetzt werden! Bei einem Notebook, das mal Netz hat und mal nicht, sollte "background_dhclient" auf "YES" gesetzt werden. # vi /etc/rc.conf ... background_dhclient="YES" ==== RedHat (Fedora und CentOS) ==== # vi /etc/sysconfig/network-scripts/ifcfg-eth0 ... PERSISTENT_DHCLIENT=1 ===== Server ===== ==== Installation ==== __neu:__ # cd /usr/ports/net/kea # make clean # make config # make # make install # make clean # vi /usr/local/etc/kea/kea-dhcp4.conf /usr/local/etc/kea/kea-dhcp6.conf # keactrl start # keactrl status __alt:__ # portinstall -prO net/isc-dhcp3 ==== Konfiguration ==== === rc.isc-dhcpd.conf === dhcpd_options="-cf /usr/local/etc/dhcpd.conf" # command option(s) dhcpd_ifaces="fxp0" # ethernet interface(s) === /usr/local/etc/dhcpd.conf === ddns-update-style none; ddns-updates off; server-identifier dns-server.domain.de; default-lease-time 7200; max-lease-time 14400; get-lease-hostnames off; authoritative; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.129 192.168.0.254; option domain-name "domain.de"; option domain-name-servers 192.168.1.254; option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.100; authoritative; } # cp /usr/local/etc/rc.d/isc-dhcpd.sh.sample /usr/local/etc/rc.d/isc-dhcpd.sh # chmod 755 /usr/local/etc/rc.d/isc-dhcpd.sh # touch /var/db/dhcpd.leases === DHCP-Server starten === # /usr/local/etc/rc.d/isc-dhcpd.sh start === feste IP === == von diesem DHCPD == Soll ein ganz bestimmter Rechner immer mit der **selben** IP von diesem DHCPD versorgt werden, dann hilft soein Eintrag: host [hostname] { option host-name [hostname]; hardware ethernet 0X:0Y:0Z:0A:0B:0C; fixed-address 192.168.0.xyz; } host [hostname] { hardware ethernet 0X:0Y:0Z:0A:0B:0D; fixed-address [FQDN]; } == nicht von diesem DHCPD == Soll ein ganz bestimmter Rechner **nie** mit einer IP von diesem DHCPD versorgt werden, dann hilft soein Eintrag: host [hostname] { hardware ethernet 0X:0Y:0Z:0A:0B:0C; ignore booting; } === Gültigkeitszeitraum === Sollen die IP's typischerweise für einen gewissen **Zeitraum** vergeben werden, dann verwendet man (wie im obigen Beispiel) diese beiden Optionen: default-lease-time 7200; max-lease-time 14400; Nach Ablauf, wird aber meistens die gleiche IP wieder vergeben. Die Werte stellen //Sekunden// dar. Sollen dagegen die IP **nur einmal** vergeben werden und dann vom Clienten auch nie wieder (bis zum reboot) nachgefragt werden, dann verwendet man diese beiden Optionen: default-lease-time -1; min-lease-time 7200;