DHCP Server für automatische IP vergabe unter FreeBSD
In vielen Fällen ist es hilfreich in seinem Netzwerk einen DHCP Server zu haben. Dieser hilft dabei einen oder mehrere Rechner mit IP Adressen und den dazu gehörigen Einstellungen zu versorgen, ohne großen Aufwand zu betreiben. Mit ein paar Handgriffen ist ein DHCP Server unter FreeBSD schnell aus den Ports installiert.

ISC DHCP Server aus den Ports installieren :
cd /usr/ports/net/isc-dhcp3-server/
make install clean
Erstellen und anpassen der Konfigurationsdatei :
Wie bei vielen Diensten unter UNiX gibt es auch für den DHCP Server eine übersichtliche Konfigurationsdatei die wir erstellen und editieren.
ee /usr/local/etc/dhcpd.conf
Anschließend werden diese Einstellungen eingefügt.
option domain-name "myhome.de";
option domain-name-servers 192.168.0.1;
default-lease-time 600;
max-lease-time 7200;
authoritative;
ddns-update-style none;
log-facility local7;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.200 192.168.0.250;
  option domain-name-servers 192.168.0.1;
  option domain-name "myhome.de";
  option routers 192.168.0.1;
  option broadcast-address 192.168.0.255;
  default-lease-time 600;
  max-lease-time 7200;
}
In diesem Fall wird das Netz 192.168.0.0 bis 192.168.0.255 verwendet, was gerade im Heimbereich oft Anwendung findet. Durch den Server automatisch vergeben werden dabei die IPs von 192.168.0.200 bis 192.168.0.250.
Nun speichern und den Editor verlassen ( ESC -> ENTER -> ENTER ).

Einstellungen für den DHCP Servers in der Datei /etc/rc.conf :
Damit der DHCP Server beim starten des Systems ausgeführt wird oder man den Dienst während des laufen Systems starten oder stoppen kann, müssen wie üblich Einstellungen in der Datei /etc/rc.conf vorgenommen werden.
ee /etc/rc.conf
Nun an einer geeigneten Stelle ( möglichst weit unten ) folgendes einfügen.
dhcpd_enable="YES"                          # dhcpd enabled?
dhcpd_flags="-q"                            # command option(s)
dhcpd_conf="/usr/local/etc/dhcpd.conf"      # configuration file
dhcpd_ifaces="xl0"                          # ethernet interface(s)
dhcpd_withumask="022"                       # file creation mask
dhcpd_chuser_enable="YES"                   # runs w/o privileges?
dhcpd_withuser="dhcpd"                      # user name to run as
dhcpd_withgroup="dhcpd"                     # group name to run as
dhcpd_chroot_enable="YES"                   # runs chrooted?
dhcpd_devfs_enable="YES"                    # use devfs if available?
dhcpd_rootdir="/var/db/dhcpd"               # directory to run in
Nun speichern und den Editor verlassen ( ESC -> ENTER -> ENTER ).

Starten des DHCP Servers :
Vor dem ersten Start muss noch sicher gestellt werden das es das Verzeichnis /var/db/dhcpd auch gibt und es dem User ( Benutzer ) dhcpd gehört. Dafür versuchen wir es einfach nochmal zu erstellen. Sollte es nicht existieren so wird es erstellt, andernfalls bekommen wir eine Fehlermeldung, daß das Verzeichnis existiert, was in diesem Fall nicht weiter stört.
mkdir /var/db/dhcpd
chown -R dhcpd:dhcpd /var/db/dhcpd
Nun kann der DHCP Server gestartet werden, was wie üblich über die rc Scripte erledigt wird.
/usr/local/etc/rc.d/isc-dhcpd start
Wenn alles richtig gemacht wurde, bekommt man mit Starting dhcpd. angezeigt daß der DHCP Server gestartet wurde.
 

© 2012 bsd-rulez.de CCBot/1.0 (+http://www.commoncrawl.org/bot.html)