aptitude install dhcp3-server
Τροποποιούμε το αρχείο /etc/dhcp3/dhcpd.conf
Ένα τυπικό αρχείο είναι μπορεί να είναι το παρακάτω
option domain-name "mynet.local"; option domain-name-servers 2.2.2.2, 3.3.3.3; option routers 192.168.1.200; #option nis-domain "mynet.local"; option nis-servers 192.168.1.200; ddns-update-style none; default-lease-time 14400; subnet 192.168.1.0 netmask 255.255.255.0 { authoritative; range 192.168.1.110 192.168.1.190; default-lease-time 14400; max-lease-time 172800; }
Εάν θέλουμε να δίνουμε τις ίδιες ip πάντα σε συγκεκριμένους υπολογιστές, μπορούμε με βάση την mac address τους.
Για παράδειγμα
host pentium { option host-name "mypc.mynet.local"; hardware ethernet 00:80:48:28:92:3A; fixed-address 192.168.100.20; }
Εάν θέλουμε να ορίσουμε σε ποια interfaces ακούει ο dhcp server, τροποποιούμε το αρχείο /etc/default/dhcp3-server
INTERFACES="eth0"
Για να ακούει σε όλα το αφήνουμε κενό
INTERFACES=""
Στα ΛΣ Linux, Windows Vista, Windows 7 οι clients κατά τον τερματισμό τους απελευθερώνουν την ip που έχουν πάρει από τον server. Στα Windows XP προκαθορισμένα δεν την απελευθερώνουν. Προσθέτωντας τις παρακάτω γραμμές στο dhcpd.conf ορίζουμε και σε αυτούς τους clients να απελευθερώνουν την ip κατά τον τερματισμό.
# For Microsoft Windows 2000 and XP clients to release on reboot option space MSFT; option MSFT.release-on-shutdown code 2 = unsigned integer 32; class "win2k-clients" { match if option vendor-class-identifier = "MSFT 5.0"; send fqdn.server-update true; send fqdn.no-client-update true; vendor-option-space MSFT; option MSFT.release-on-shutdown 1; }
Οι ip διευθύνσεις που έχουν ήδη δοθεί από τον dhcp server καταγράφονται στο αρχείο /var/lib/dhcp3/dhcpd.leases
Για την ρύθμιση του dhcp server ώστε να δίνει πληροφορίες σε pxes clients από ποιον ltsp server θα ξεκινήσουν βλ. LTSP
Εάν θέλουμε να διαμοιράσουμε τον φόρτο και σε έναν 2ο ltsp server ένας απλοϊκός τρόπος είναι να φιλτράρουμε με βάση την mac address των clients στέλνοντας τους μισούς στον έναν server και τους άλλους μισούς στον άλλον.
subnet 192.168.1.0 netmask 255.255.255.0 { authoritative; default-lease-time 14400; max-lease-time 172800; class "even" { match if suffix(binary-to-ascii(2, 8, "", substring(hardware, 6, 1)), 1) = "1"; } class "odd" { match if suffix(binary-to-ascii(2, 8, "", substring(hardware, 6, 1)), 1) = "0"; } pool { range 192.168.1.110 192.168.1.140; allow members of "even"; option broadcast-address 192.168.1.255; option root-path "/opt/ltsp/i386"; next-server 192.168.1.11; if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" { filename "/ltsp/i386/pxelinux.0"; } else { filename "/ltsp/i386/nbi.img"; } } pool { range 192.168.1.141 192.168.1.170; allow members of "odd"; option broadcast-address 192.168.1.255; option root-path "/opt/ltsp/i386"; next-server 192.168.1.12; if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" { filename "/ltsp/i386/pxelinux.0"; } else { filename "/ltsp/i386/nbi.img"; } } }
Η παραπάνω ρύθμιση στέλνει τους clients που η mac address τους τελειώνει σε άρτιο αριθμό στον ltsp server με ip 192.168.1.11 και τους υπόλοιπους στον 192.168.1.12.