Dynamic Host Configuraton
Protocol (dynamiczny protokół konfiguracji hostów) jest protokołem umożliwiającym
zdalną konfiguracje protokołu TCP/IP. Praktycznie każdy system operacyjny
posiadający obsługę TCP/IP oferuje możliwość pobrania konfiguracji TCP/IP
poprzez DHCP, czyli ustalenia: adresu IP, maski podsieci, domyślnej bramy w
sieci, serwerów DNS, domeny w jakiej hosty pracują, oraz wielu innych parametrów.
W tym tekście opiszę jak skonfigurować prosty serwer DHCP, dzięki któremu będziemy
mogli automatycznie przydzielać adresy IP w sieci lokalnej.
Zabawę z DHCP zaczynamy oczywiście od zainstalowania go z portów
# cd /usr/ports/net/isc-dhcp3-server
# make install clean
lub z paczki np.
# pkg_add isc-dhcp3-server
Po zainstalowaniu
mamy: /usr/local/etc/dhcpd.conf - plik konfiguracyjny i /usr/local/etc/rc.d/isc-dhcpd.sh
- plik uruchamiający nam serwer DHCP (zmień nazwę z isc-dhcpd.sh.sample na
isc-dhcpd.sh).
Następnie musimy utworzyć pusty plik o nazwie dhcpd.leases
w katalogu /var/db np.
# touch /var/db/dhcpd.leases
Troszkę napiszę o opcjach dostępnych w dhcpd.conf
WYRA?ENIA TOPOLOGII:
server-identifier nazwahosta; - rejestruje adres IP serwera;
group {[parametry][opcje]} - grupuje wyrażenia, aby zastosować zbiór
parametrów do wszystkich członków grupy;
subnet adres netmask maskasieci {[parametry][opcje]} - definiuje
adres IP sieci i jej maskę (zbędny komentarz);
host nazwahosta {[parametry][opcje]} - definiuje opcje dla
indywidualnych klientów;
PARAMETRY KONFIGURACYJNE:
range dolnyadres górnyadres; - zakres adresów IP do dynamicznego
przydzielania;
default-lease-time sekundy; - czas dzierżawy adresu w sekundach używany,
jeśli klient nie zażąda określonego czasu użytkowania adresu;
max-lease-time sekundy; - maksymalna długość czasu dzierżawy
adresu, niezależnie od czasu zażądanego przez klienta;
hardware typ adres; - definiuje adres sprzętowy klienta;
fixed-address adres; - przypisuje jeden lub więcej adresów IP
hostowi;
server-name nazwa; - nazwa hosta serwera DHCP udostępninego
klientowi;
OPCJE DHCP:
option subnet-mask maska; - określa maskę sieci, jeśli nie jest
podana, dhcpd używa maski z wyrażenia subnet;
option routers adres[, adres...]; - wymienia rutery, których powinien
używać klient;
option domain-name-server adres[, adres...]; - serwery nazw DNS;
option domain-name domena; - definiuje domenę;
option broadcast-address adres; - (zbędny komentarz);
Teraz przystępujemy
do edycji pliku konfiguracyjnego
# vi /usr/local/etc/dhcpd.conf:
Przykładowy plik konfiguracyjny dhcpd.conf:
# Sample configuration file for ISC dhcpd
#
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
#authoritative;
# ad-hoc DNS update scheme - set to "none" to disable dynamic DNS
updates.
ddns-update-style none;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
# identyfikator serwera (nazwa naszego BSD)
server-identifier server.domena.com;
#========= definicja naszej sieci ==========
# tutaj wpisujemy dane naszej sieci czyli adres sieci i jej maskę
subnet 192.168.1.0 netmask 255.255.255.0 { # zakres adresów IP, które chcemy przydzielać dynamicznie
range 192.168.1.100
192.168.1.190;
# dodatkowo możemy przydzielić dynamicznie adres serwera DNS, adres routera
itd.
# adresy serwerów DNS
option domain-name-servers 194.204.152.34;
# domena w jakiej pracujemy
option domain-name "twoja_domena.com";
# adres routera (bramki)
option routers
192.168.1.1;
# adres rozgłoszeniowy
option broadcast-address
192.168.1.255;
# czasy, po których zostaną zwolnione adresy
default-lease-time
7200;
max-lease-time 14400;
}
# jeżeli konkretnym hostom chcemy przypisać stały adres IP dodajemy dyrektywę
host
# gdzie xx:xx:xx:xx:xx:xx jest MAC adresem karty sieciowej danego hosta:
host komp1 { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address 192.168.1.10; }
host komp2 { hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address
komp2.domena.com; }
# w pierwszym przypadku z góry nadajemy adres IP
# w drugim przypadku trzeba dodać odpowiednie wpisy
# w dns'ie (zobacz DNS) lub /etc/hosts
|
W ten oto sposób przydzielamy
losowo adresy IP w naszej sieci (range 192.168.1.100 192.168.1.190;) a dwa
hosty mają zawsze ten sam adres IP. Przy okazji jeszcze dynamicznie przyznajemy
domyślną bramkę (option routers 192.168.1.1;) oraz domyślny serwer
DNS (option domain-name-servers 194.204.152.34;) itd. Jest to przydatne
gdyż komputery w sieci same pobierają wszystkie niezbędne dane i nie trzeba
ich ręcznie konfigurować.
Jest to przykład pliku gdzie przydzielamy adresy jednej sieci. Jeżeli
jest taka sytuacja, że mamy kilka sieci to poniżej definiujemy nową sieć a
opcje, które są wspólne dla wszystkich sieci umieszczamy w sekcji globalnej
czyli na początku pliku a nie w dyrektywie subnet (zaoszczędzi nam to
pisania). Teraz wystarczy uruchomić nasz serwer DHCP:
# /usr/local/sbin/dhcpd
lub krócej
# dhcpd
Autor: Artur Kulda
arti(at)bsd4u.org
Powyższy artykuł został udostępniony na zasadach Licencji BSD |
Re: DHCP - przydatne narzędzie nawet w m Dodane przez brikson w dniu - 2004-03-22 00:54:39 | Taka uwaga: nie udało mi się uruchomić demona przez wpisanie podanych komend. Poskutkowało natomiast użycie /usr/local/etc/rc.d/isc-dhcpd.sh start W taki sposób jest to opisane również w Handbook-u. Może warto uaktualnić. DHCP stawiałem na 4.9-STABLE. |
Tylko zarejestrowani użytkownicy mogą pisać komentarze. Prosze zaloguj się i dodaj komentarz. Powered by AkoComment! |