Milanet
· Strona główna
· Ankiety
· Czat Box
· Dodaj News
· Downloads
· FAQ
· Journal
· Kontakt
· Prywatna wiadomosc
· Statystyki
· Szukaj
· Top 10
· Twoje konto
· Web Links
Statystyka
Witaj, Anonymous
Pseudonim
Hasło
(Zarejestruj się)
Członkostwo:
Ostatni: bobkiler
Nowe dzisiaj: 0
Nowe wczoraj: 0
Wszystkie: 4

Na stronie:
Go¶ci: 31
Użytkowników: 0
Razem: 31
Wikipedia
get info from WikiPedia


Jak skonfigurowac DHCP


Zacząć należałoby od krótkiego wyjaśnienia, do czego służy DHCP. Jeśli chodzi o nazwę, to jest to skrót od Dynamic Host Configuration Protocol. Protokół, dzięki któremu można automatycznie konfigurować stacje robocze w sieci. Jak wiadomo, żeby komputer mógł korzystać z dostępu do sieci lokalnej i internetu, konieczne jest ustalenie przy konfiguracji protokołu TCP-IP kilku istotnych informacji, jak przydzielony numer IP i maska podsieci, adresy serwerów DNS, adres domyślnej bramy (gateway) itp. Można wpisywać wszystkie te informacje ręcznie, lecz z punktu widzenia administratora mile widziana jest pewna automatyzacja tego procesu. W systemie Linux dostępny jest serwer dhcpd (w przypadku dystrybucji RedHat należy zainstalować pakiet dhcp-xxx.i386.rpm, gdzie xxx jest numerem wersji). Po właściwym jego skonfigurowaniu (i uruchomieniu na serwerze :-) w komputerach z systemem Windows podłączonych do naszej sieci wystarczy w konfiguracji protokołu TCP/IP wybrać opcję "Automatycznie uzyskaj adres IP". Opcja ta jest ustawiona domyślnie i oznacza nie tylko pobranie z serwera numeru IP, lecz również pozostałych istotnych informacji. Dzięki temu administrator może uniknąć wielu namolnych pytań przy okazji reinstalacji systemu przez użytkowników.


Przechodząc do kwestii konfiguracji serwera: najważniejszy plik konfiguracyjny omawianego daemona to /etc/dhcpd.conf. U mnie zawartość tego pliku wygląda następująco:


shared-network siec {

subnet 62.233.168.192 netmask 255.255.255.224 {

default-lease-time 72000;

max-lease-time 144000;

option subnet-mask 255.255.255.224;

option broadcast-address 62.233.168.223;

option routers 62.233.168.194;

option domain-name-servers 62.233.168.194, 195.82.176.1;

option netbios-name-servers 62.233.168.194;

option domain-name "milanet.org";

range 62.233.168.220 62.233.168.221; }

subnet 192.168.0.0 netmask 255.255.255.0 {

option subnet-mask 255.255.255.0;

option broadcast-address 192.168.0.255;

option routers 192.168.0.1; [...] } }

host h1{

hardware ethernet 00:18:34:2F:A2:6F;

fixed-address 62.233.168.195; }

host h2{

hardware ethernet 00:20:fF:f8:1D:02;

fixed-address 192.168.0.2; } [...]


W pliku konfiguracyjnym może się znaleźć kilka sekcji. Najważniejsze to: subnet oraz host. Sekcja shared-network obejmująca w powyższym przykładzie dwie definicje podsieci jest potrzebna w przypadku gdy kilka podsieci "współistnieje" na jednej karcie sieciowej (poprzez ip-aliasing) i zapewnia, że komputery z obydwu sieci będą mogły korzystać z serwisu DHCP. Zaznaczę może w tym miejscu, że w takim przypadku jeśli dhcpd przy starcie zgłosi, że nasłuchuje np. na eth1, to znaczy, iż obejmuje to też interfejsy aliasowe eth1:0, eth1:1 itp., jeśli tylko została w konfiguracji zdefiniowana odpowiednia podsieć. Nie wiedząc o tym próbowałem swego czasu za wszelką cenę zmusić dhcpd do nasłuchu na eth1:1 komendą dhcpd eth1:1, co mi się oczywiście nie udało ;-)))).


W nagłówku sekcji subnet należy określić adres i maskę podsieci. Dalej umieszczać można w dowolnej kolejności szereg opcji mających zastosowanie do całej podsieci. Opcje default-lease-time oraz max-lease-time pozwalają określić typowy i maksymalny czas na jaki wydzierżawiany jest numer IP (w sekundach). W przypadku stosowanego zwykle statycznego przydziału IP (patrz dalej) wartości te powinny być dość duże - tu odpowiednio 20 i 40 godzin. Nazwy dalszych opcji nie pozostawiają raczej wątpliwości co do swojego przeznaczenia, są to po kolei: maska podsieci, adres rozgłoszeniowy, domyślna brama, adresy serwerów DNS (primary i secondary), IP serwera Wins oraz nazwa domeny, do której należą komputery w danej sieci. Parametrów typu option nazwa xxx; jest jeszcze sporo, szczegóły poznać można czytając dokumentację (np. man dhcpd.conf), tu wymieniłem tylko te, które zwykle są niezbędnę. Każdy z tych parametrów można umieścić na początku pliku - będzie wtedy miał charakter globalny. Można go również umieścić w sekcji subnet - tak jak w przykładzie, czy host, co ograniczy jego zasięg tylko do tej właśnie sekcji.


Opcja range adr1 adr2 może znajdować się tylko w sekcji subnet i pozwala przeznaczyć pewien zakres adresów IP (od adr1 do adr2 włącznie) na pulę adresów przydzielanych dynamicznie. Jeśli w sieci pojawi się komputer, który nie otrzymał jeszcze swojego wpisu w dalszej części pliku konfiguracyjnego, to przydzielony mu zostanie jeden z adresów z tego zakresu (o ile pozostały jeszcze jakieś wolne).


Sekcja host nazwa{...} pozwala na statyczne przydzielenie numeru IP komputerowi zgodnie z adresem hardware karty sieciowej (tzw. MAC). Adres MAC o postaci xx:xx:xx:xx:xx:xx (gdzie xx to wartość zapisana szesnastkowo) - przynajmniej teoretycznie - powinien być unikalny i na stałe przypisany karcie - bez możliwości zmiany. Pozwala to na jednoznaczne zidentyfikowanie karty sieciowej na jego podstawie. Adres ten można odczytać przy pomocy standardowo instalowanego z systemem Windows programu winipcfg. Program ten może również przydać się do sprawdzenia, czy stacja prawidłowo odczytuje przydzielone parametry poprzez serwis DHCP. Znając adres MAC określonej stacji wystarczy w odpowiadającej jej sekcji wpisać:

hardware ethernet xx:xx:xx:xx:xx:xx; fixed-address ip;


gdzie ip jest unikalnym numerem IP przydzielonym na stałe danej stacji. Dopóki w danym komputerze zainstalowana będzie ta karta sieciowa, z której odczytano adres MAC, a nikt nie będzie nic kombinował ze zmianą tego adresu, komputerowi przy uruchamianiu systemu przypisywany będzie zawsze ten sam numer IP.


W czasie instalacji programu dhcpd na serwerze należy pamiętać, by w katalogu /etc utworzyć plik dhcpd.leases (np. komendą touch /etc/dhcpd.leases). W pliku tym serwer zapisuje sobie informacje na temat aktualnie wydzierżawionych numerów IP i jeśli go nie będzie, nie uda się uruchomić daemona dhcpd.


Jak większość serwerów - czy jak kto woli - daemonów, dhcpd powinno być uruchamiane automatycznie przy starcie systemu. Odpowiednie skrypty są przy instalacji dodawane do katalogu /etc/rc.d. Po każdej modyfikacji pliku konfiguracyjnego, by zmiany odniosły skutek, należy zrestartować serwer DHCP. Można zrobić to np. wydając polecenie /etc/rc.d/init.d/dhcpd restart.