Ova stranica opisuje proceduru instaliranja i konfigurisanja DHCP servera za vasu lokalnu mrezu, korisnu za povezivanje notebook-ova i ostalih mobilnih kompjutera koji se koriste na vise lokacija, gde staticke IP adrese nisu prakticne.
Za potrebe ove procedure, pretpostavili smo sledece:
Instalirajte DHCP server port:
# cd /usr/ports/net/isc-dhcp3-server # make && make install && make clean
Kada vam se prikaze Option Screen izaberite sledece opcije:
DHCP_PARANOIA DHCP_JAIL OPENSSL_BASE
Kopirajte primer konfiguracionog fajla:
# cp /usr/local/etc/dhcpd.conf.sample /usr/local/etc/dhcpd.conf
Uredite konfiguracioni fajl /usr/local/etc/dhcpd.conf i promenite odgovarajuce linije u sledece:
option domain-name "your_domain_name.com";
option domain-name-servers ns1.your_isp.com, ns2.your_isp.com;
default-lease-time 10800; (3 hours - or as desired)
max-lease-time 43200; (12 hours - or as desired)
authoritative; (un-comment this line)
ddns-update-style none;
log-facility syslog;
...
subnet 10.70.153.0 netmask 255.255.255.0 {
range 10.70.153.175 10.70.153.250;
option routers 10.70.153.1;
}
Ako zelite da dodelite staticke adrese odredjenim klijentima (kao npr PC koji je povezan kablom), koristite host deklaraciju:
host my_desktop {
hardware ethernet 00:ab:cd:ef:01:23; (Enter the actual MAC address)
fixed-address my_desktop;
default-lease-time 604800; (Give the desktops a week...)
max-lease-time 604800;
}
Mozete uneti zeljenu IP adresu u fixed-address deklaraciji, ali meni je zgodnije da koristim /etc/hosts unos, tako da postoji samo jedna lokacija za usaglasavanje IP adresa. Ako koristite ime hosta, onda neka bude izlistano u /etc/hosts:
10.70.153.25 my_desktop
Ako imate nekoliko desktop PC-a kojima zelite da dodelite staticke adrese, mozete koristiti group deklaraciju da definisete opcije koje ce vaziti za sve host deklaracije:
group {
default-lease-time 604800;
max-lease-time 604800;
host bob {
hardware ethernet 00:ab:cd:ef:12:34;
fixed-address bob;
}
host carol {
hardware ethernet 00:ab:cd:ef:78:90;
fixed-address carol;
}
host ted {
hardware ethernet 00:ab:cd:ef:9f:c2;
fixed-address ted;
}
host alice {
hardware ethernet 00:ab:cd:ef:3d:46;
fixed-address alice;
}
}
Jos jednom, ne zaboravite da ubacite imena hostova i zeljene IP adrese u /etc/hosts. Isto tako, pobrinite se da staticke adrese koje dodeljujete nisu unutar opsega adresa koriscenih u subnet{} deklaraciji. Zasto bi uopste zeleli da se opterecujete dodeljivanjem statickih adresa? Zasto jednostavno ne pustite da DHCP sam odabere nasumicne adrese? Odgovor je, naravno, da vam podrazumevano, sendmail nece dozvoliti da posaljete mail ako ne moze da prevede vase host ime u IP adresu na mrezi (dobicete gresku “relaying denied”). Morate da ubacite host imena/IP adrese u /etc/hosts (ili da pokrenete vas licni DNS server) da bi zadovoljili sendmail, tako da mozete i iskoristiti prednosti hosts fajla posto je dostupan.
Na kraju, stavite pod komentar ili uklonite ostale subnet{} sekcije u konfiguracionom fajlu, i onda sacuvajte fajl.
Uredite /etc/rc.conf i dodajte linije:
### DHCP Server ### dhcpd_enable="YES" # dhcpd enabled? dhcpd_flags="-q" # command option(s) dhcpd_conf="/usr/local/etc/dhcpd.conf" # configuration file dhcpd_ifaces="dc0" # ethernet interface(s) dhcpd_withumask="022" # file creation mask
Uredite /etc/rc.ipfw i dodajte sledeca pravila za zastitni zid:
# DHCP Server - Allow inside net communications
${fwcmd} add pass udp from 0.0.0.0 68 to 255.255.255.255 67 in via ${iif}
${fwcmd} add pass udp from ${iip} 67 to 255.255.255.255 68 out via ${iif}
${fwcmd} add pass udp from ${iip} 67 to ${inet}:${imask} 68 out via ${iif}
${fwcmd} add pass udp from ${inet}:${imask} 68 to ${iip} 67 in via ${iif}
Ucitajte nova pravila za zastitni zid:
# sh /etc/rc.ipfw
| Ovo radite u konzoli, u suprotnom izgubicete vezu sa kompjuterom! |
Beleska: Mozete ponovo da ucitate pravila za zastitni zid preko mrezne konekcije (telnet, ssh) tako sto cete pokrenuti komandu u pozadini:
# sh /etc/rc.ipfw &
Bicete odlogovani cim se komanda 'ipfw -f flush' izvrsi, ali ce skripta nastaviti sa radom.
| Budite veoma obazrivi kada pokrecete skriptu u pozadini i da su vasa pravila za zastitni zid ispravna, ili mozete vas system ostaviti u stanju bez mreznog pristupa. |
Uredite /etc/syslog.conf i dodajte sledece linije:
!dhcpd *.* /var/log/dhcpd.log
Uredite /etc/newsyslog.conf i dodajte sledece linije:
# logfilename [owner:group] mode count size when [ZJB] ... /var/log/dhcpd.log 640 4 100 * J
Kreirajte novi log fajl:
# touch /var/log/dhcpd.log # chmod 640 /var/log/dhcpd.log
Pokrenite DHCP server:
# /usr/local/etc/rc.d/isc-dhcpd.sh start
Nakon sto se server podigne, trebalo bi da mozete da se povezete na lokalnu mrezu sa bilo kog kompjutera (bezicno ili preko kabla) koji je podesen da koristi DHCP. Da podesite Windows kompjuter kao DHCP klijent, potrazite “Obtain an IP address automatically” opciju u Internet Protocol (TCP/IP) Properties dialogu.